exp2* tests: More tests.
[gnulib.git] / ChangeLog
1 2012-03-11  Bruno Haible  <bruno@clisp.org>
2
3         exp2* tests: More tests.
4         * tests/test-exp2.h (test_function): Test all integral arguments that
5         don't need to overflow or denormalized numbers.
6         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
7         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
8         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
9
10 2012-03-10  Bruno Haible  <bruno@clisp.org>
11
12         log1pl-ieee: Work around test failure on AIX 7.1.
13         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
14
15         log1pl-ieee: Work around test failure on IRIX 6.5.
16         * m4/log1pl-ieee.m4: New file.
17         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
18         test whether log1pl works with a minus zero argument. Replace it if
19         not.
20         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
21         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
22         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
24         (Depends-on): Update conditions.
25         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
26         m4/signbit.m4.
27         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
28         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
29
30         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
31         * m4/log1pf-ieee.m4: New file.
32         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
33         test whether log1pf works with a minus zero argument. Replace it if
34         not.
35         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
36         m4/signbit.m4.
37         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
38         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
39
40         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
41         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
42         (configure.ac): Require gl_FUNC_LOG1PF.
43
44         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
45         * m4/log1p-ieee.m4: New file.
46         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
47         whether log1p works with a minus zero argument. Replace it if not.
48         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
49         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
50         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
51         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
52         (Depends-on): Update conditions.
53         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
54         m4/signbit.m4.
55         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
56         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
57
58         Tests for module 'log1pl-ieee'.
59         * modules/log1pl-ieee-tests: New file.
60         * tests/test-log1pl-ieee.c: New file.
61
62         New module 'log1pl-ieee'.
63         * modules/log1pl-ieee: New file.
64
65         Tests for module 'log1p-ieee'.
66         * modules/log1p-ieee-tests: New file.
67         * tests/test-log1p-ieee.c: New file.
68
69         New module 'log1p-ieee'.
70         * modules/log1p-ieee: New file.
71
72         Tests for module 'log1pf-ieee'.
73         * modules/log1pf-ieee-tests: New file.
74         * tests/test-log1pf-ieee.c: New file.
75         * tests/test-log1p-ieee.h: New file.
76
77         New module 'log1pf-ieee'.
78         * modules/log1pf-ieee: New file.
79
80 2012-03-10  Bruno Haible  <bruno@clisp.org>
81
82         Tests for module 'log1pl'.
83         * modules/log1pl-tests: New file.
84         * tests/test-log1pl.c: New file.
85
86         New module 'log1pl'.
87         * lib/math.in.h (log1pl): New declaration.
88         * lib/log1pl.c: New file.
89         * m4/log1pl.m4: New file.
90         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
91         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
92         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
93         * modules/log1pl: New file.
94         * tests/test-math-c++.cc: Check the declaration of log1pl.
95         * doc/posix-functions/log1pl.texi: Mention the new module.
96
97 2012-03-10  Bruno Haible  <bruno@clisp.org>
98
99         Tests for module 'log1pf'.
100         * modules/log1pf-tests: New file.
101         * tests/test-log1pf.c: New file.
102
103         New module 'log1pf'.
104         * lib/math.in.h (log1pf): New declaration.
105         * lib/log1pf.c: New file.
106         * m4/log1pf.m4: New file.
107         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
109         REPLACE_LOG1PF.
110         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
111         REPLACE_LOG1PF.
112         * modules/log1pf: New file.
113         * tests/test-math-c++.cc: Check the declaration of log1pf.
114         * doc/posix-functions/log1pf.texi: Mention the new module.
115
116 2012-03-10  Bruno Haible  <bruno@clisp.org>
117
118         log1p tests: More tests.
119         * tests/test-log1p.h: New file.
120         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
121         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
122         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
123         (main): Invoke test_function.
124
125         log1p: Provide replacement for Minix and MSVC.
126         * lib/math.in.h (log1p): New declaration.
127         * lib/log1p.c: New file.
128         * m4/log1p.m4: New file.
129         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
130         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
131         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
132         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
133         (Depends-on): Add math, isnand, log, round.
134         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
135         HAVE_LOG1P is 0.
136         * tests/test-math-c++.cc: Check the declaration of log1p.
137         * doc/posix-functions/log1p.texi: Mention the replacement.
138
139 2012-03-10  Bruno Haible  <bruno@clisp.org>
140
141         math tests: Small simplification.
142         * tests/test-exp.h (test_function): Use the same err_bound for
143         'double' on platforms with sizeof (long double) == sizeof (double)
144         than on platforms with sizeof (long double) > sizeof (double).
145         * tests/test-exp2.h (test_function): Likewise.
146         * tests/test-expm1.h (test_function): Likewise.
147         * tests/test-log.h (test_function): Likewise.
148
149 2012-03-10  Bruno Haible  <bruno@clisp.org>
150
151         Fix some comments.
152         * lib/expl.c: Fix an ambiguous comment.
153         * lib/expm1.c: Likewise.
154         * lib/expm1l.c: Likewise.
155         * lib/exp2.c: Likewise.
156         * lib/exp2l.c: Likewise.
157
158 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
159
160         regex: allow inclusion of <regex.h> before <limits.h>
161         Without this patch, portable programs had to include <limits.h> before
162         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
163         I ran into this problem with a test version of GNU grep on Solaris 8.
164         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
165         This is done conditionally so that this change can be merged
166         back to glibc.
167         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
168         using the included regex.
169
170         fts: depend on fdopendir
171         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
172         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
173         problem was introduced when fdopendir was split out.
174
175 2012-03-10  Bruno Haible  <bruno@clisp.org>
176
177         Remove unused variables.
178         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
179         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
180
181 2012-03-10  Bruno Haible  <bruno@clisp.org>
182
183         isnanf-nolibm: Fix last commit.
184         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
185
186         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
187         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
188
189 2012-03-10  Bruno Haible  <bruno@clisp.org>
190
191         logf-ieee: Work around test failure on NetBSD 5.1.
192         * m4/logf-ieee.m4: New file.
193         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
194         whether logf works with a negative argument. Replace it if not.
195         * lib/logf.c (logf): For negative arguments, return NaN.
196         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
197         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
198         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
199
200         logf-ieee: Work around test failure on Solaris 9.
201         * modules/logf-ieee (Depends-on): Add log-ieee.
202         (configure.ac): Require gl_FUNC_LOGF.
203
204         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
205         * m4/log-ieee.m4: New file.
206         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
207         log works with a negative argument. Replace it if not.
208         * lib/log.c (log): For negative arguments, return NaN.
209         * modules/log-ieee (Files): Add m4/log-ieee.m4.
210         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
211         * doc/posix-functions/log.texi: Mention the log-ieee module.
212
213         Tests for module 'logl-ieee'.
214         * modules/logl-ieee-tests: New file.
215         * tests/test-logl-ieee.c: New file.
216
217         New module 'logl-ieee'.
218         * modules/logl-ieee: New file.
219
220         Tests for module 'log-ieee'.
221         * modules/log-ieee-tests: New file.
222         * tests/test-log-ieee.c: New file.
223
224         New module 'log-ieee'.
225         * modules/log-ieee: New file.
226
227         Tests for module 'logf-ieee'.
228         * modules/logf-ieee-tests: New file.
229         * tests/test-logf-ieee.c: New file.
230         * tests/test-log-ieee.h: New file.
231
232         New module 'logf-ieee'.
233         * modules/logf-ieee: New file.
234
235 2012-03-10  Bruno Haible  <bruno@clisp.org>
236
237         log: Fix bug introduced on 2012-03-09.
238         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
239
240 2012-03-10  Pádraig Brady  <P@draigBrady.com>
241
242         timer-time: link explicitly with pthreads on glibc
243         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
244         to support static linking, when newer glibc is
245         detected, as that contains pthread emulation of
246         POSIX timer functions where required.
247         * modules/timer-time: Depend on threadlib to
248         pull in the appropriate library to link.
249
250 2012-03-10  Bruno Haible  <bruno@clisp.org>
251
252         log* tests: More tests.
253         * tests/test-log.h: New file.
254         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
255         (main): Invoke test_function.
256         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
257         (main): Invoke test_function.
258         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
259         (main): Invoke test_function.
260         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
261         tests/randomd.c.
262         (Makefile.am): Add randomd.c to test_log_SOURCES.
263         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
264         tests/randomf.c.
265         (Makefile.am): Add randomf.c to test_logf_SOURCES.
266         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
267         tests/randoml.c.
268         (Depends-on): Add 'float'.
269         (Makefile.am): Add randoml.c to test_logl_SOURCES.
270
271 2012-03-09  Bruno Haible  <bruno@clisp.org>
272
273         logl: Work around OSF/1 5.1 bug.
274         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
275         * lib/logl.c (logl): If logf exists, use it and provide just the
276         workaround.
277         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
278         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
279         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
280         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
281         * modules/logl (configure.ac): Consider REPLACE_LOGL.
282         (Depends-on): Update conditions.
283         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
284
285 2012-03-09  Bruno Haible  <bruno@clisp.org>
286
287         logf: Work around OSF/1 5.1 bug.
288         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
289         * lib/logf.c (logf): If logf exists, use it and provide just the
290         workaround.
291         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
292         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
294         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
295         * modules/logf (configure.ac): Consider REPLACE_LOGF.
296         (Depends-on): Update conditions.
297         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
298
299 2012-03-09  Bruno Haible  <bruno@clisp.org>
300
301         log: Work around OSF/1 5.1 bug.
302         * lib/math.in.h (log): New declaration.
303         * lib/log.c: New file.
304         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
305         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
306         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
308         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
309         * modules/log (Files): Add lib/log.c.
310         (Depends-on): Add math.
311         (configure.ac): If REPLACE_LOG is 1, compile an override.
312         * tests/test-math-c++.cc: Check the declaration of log.
313         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
314
315 2012-03-09  Jim Meyering  <meyering@redhat.com>
316
317         readtokens.c: adjust wording in a comment
318         * lib/readtokens.c: Insert omitted "that" in a comment.
319
320 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
321
322         modechange: add notations +40, 00440, etc.
323         * lib/modechange.c (mode_compile): Support new notations
324         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
325
326 2012-03-08  Bruno Haible  <bruno@clisp.org>
327
328         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
329         * m4/exp2l-ieee.m4: New file.
330         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
331         test whether exp2l works with a NaN argument and with a negative
332         infinity argument. Replace it if not.
333         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
335         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
336         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
337         (Depends-on): Update conditions.
338         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
339         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
340         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
341
342         Tests for module 'exp2l-ieee'.
343         * modules/exp2l-ieee-tests: New file.
344         * tests/test-exp2l-ieee.c: New file.
345
346         New module 'exp2l-ieee'.
347         * modules/exp2l-ieee: New file.
348
349         Tests for module 'exp2-ieee'.
350         * modules/exp2-ieee-tests: New file.
351         * tests/test-exp2-ieee.c: New file.
352
353         New module 'exp2-ieee'.
354         * modules/exp2-ieee: New file.
355
356         Tests for module 'exp2f-ieee'.
357         * modules/exp2f-ieee-tests: New file.
358         * tests/test-exp2f-ieee.c: New file.
359         * tests/test-exp2-ieee.h: New file.
360
361         New module 'exp2f-ieee'.
362         * modules/exp2f-ieee: New file.
363
364 2012-03-08  Bruno Haible  <bruno@clisp.org>
365
366         Tests for module 'exp2l'.
367         * modules/exp2l-tests: New file.
368         * tests/test-exp2l.c: New file.
369
370         New module 'exp2l'.
371         * lib/math.in.h (exp2l): New declaration.
372         * lib/exp2l.c: New file.
373         * lib/expl-table.c: New file, extracted from lib/expl.c.
374         * lib/expl.c (gl_expl_table): New declaration.
375         (expl): Remove expl_table. Update reference.
376         * m4/exp2l.m4: New file.
377         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
378         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
379         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
380         * modules/exp2l: New file.
381         * modules/expl (Files): Add lib/expl-table.c.
382         (configure.ac): Compile also expl-table.c.
383         * tests/test-math-c++.cc: Check the declaration of exp2l.
384         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
385         problem.
386
387 2012-03-08  Bruno Haible  <bruno@clisp.org>
388
389         Tests for module 'exp2f'.
390         * modules/exp2f-tests: New file.
391         * tests/test-exp2f.c: New file.
392
393         New module 'exp2f'.
394         * lib/math.in.h (exp2f): New declaration.
395         * lib/exp2f.c: New file.
396         * m4/exp2f.m4: New file.
397         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
399         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
400         * modules/exp2f: New file.
401         * tests/test-math-c++.cc: Check the declaration of exp2f.
402         * doc/posix-functions/exp2f.texi: Mention the new module and the
403         IRIX problem.
404
405 2012-03-08  Bruno Haible  <bruno@clisp.org>
406
407         Tests for module 'exp2'.
408         * modules/exp2-tests: New file.
409         * tests/test-exp2.c: New file.
410         * tests/test-exp2.h: New file.
411
412         New module 'exp2'.
413         * lib/math.in.h (exp2): New declaration.
414         * lib/exp2.c: New file.
415         * m4/exp2.m4: New file.
416         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
417         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
418         REPLACE_EXP2.
419         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
420         REPLACE_EXP2.
421         * modules/exp2: New file.
422         * tests/test-math-c++.cc: Check the declaration of exp2.
423         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
424         and OpenBSD problems.
425
426 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
427
428         savedir: fix comment typo
429         * lib/savedir.c (savedirstream): Fix typo in comment.
430
431 2012-03-08  Bruno Haible  <bruno@clisp.org>
432
433         test-readtokens.c: use const; remove unwarranted cast
434         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
435
436 2012-03-08  Bruno Haible  <bruno@clisp.org>
437
438         fmal: Avoid compilation error on AIX.
439         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
440         AIX 5.2..7.1.
441
442 2012-03-08  Bruno Haible  <bruno@clisp.org>
443
444         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
445         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
446         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
447         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
448         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
449         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
450         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
451
452 2012-03-08  Bruno Haible  <bruno@clisp.org>
453
454         remainderf: Override buggy system function on IRIX 6.5.
455         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
456         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
457         when it exists.
458         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
459
460 2012-03-08  Jim Meyering  <meyering@redhat.com>
461
462         test-readtokens.c: avoid const-related compilation warnings
463         * tests/test-readtokens.c: Avoid const-related compilation warnings.
464
465 2012-03-07  Jim Meyering  <meyering@redhat.com>
466             Bruno Haible  <bruno@clisp.org>
467
468         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
469         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
470         tests/randomd.c.
471         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
472         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
473         tests/randoml.c.
474         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
475
476 2012-03-07  Bruno Haible  <bruno@clisp.org>
477
478         expm1l: Avoid compilation error on AIX.
479         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
480         AIX 5.2..7.1.
481
482 2012-03-07  Bruno Haible  <bruno@clisp.org>
483
484         expm1l: Don't override undeclared system function on IRIX 6.5.
485         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
486         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
487         it exists. Set HAVE_DECL_EXPM1L.
488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
489         HAVE_EXPM1L.
490         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
491         HAVE_EXPM1L.
492         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
493
494 2012-03-07  Bruno Haible  <bruno@clisp.org>
495
496         remainderl: Don't override undeclared system function on IRIX 6.5.
497         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
498         HAVE_REMAINDERL.
499         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
500         declared when it exists. Set HAVE_DECL_REMAINDERL.
501         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
502         not HAVE_REMAINDERL.
503         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
504         HAVE_REMAINDERL.
505         * doc/posix-functions/remainderl.texi: Mention missing declaration
506         problem.
507
508 2012-03-07  Bruno Haible  <bruno@clisp.org>
509
510         rintf: Don't override undeclared system function on IRIX 6.5.
511         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
512         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
513         exists. Set HAVE_DECL_RINTF.
514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
515         HAVE_RINTF.
516         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
517         HAVE_RINTF.
518         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
519
520 2012-03-07  Bruno Haible  <bruno@clisp.org>
521
522         roundl: Avoid compilation error on AIX.
523         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
524         AIX 5.2..7.1.
525
526 2012-03-07  Bruno Haible  <bruno@clisp.org>
527
528         roundl: Don't override undeclared system function on IRIX 6.5.
529         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
530         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
531         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
532         * modules/roundl (configure.ac): For replacement code, test
533         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
534         (Depends-on): Update conditions.
535         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
536
537 2012-03-07  Bruno Haible  <bruno@clisp.org>
538
539         roundf: Don't override undeclared system function on IRIX 6.5.
540         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
541         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
542         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
543         * modules/roundf (configure.ac): For replacement code, test
544         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
545         (Depends-on): Update conditions.
546         * modules/roundf-ieee (Depends-on): Update conditions.
547         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
548
549 2012-03-07  Bruno Haible  <bruno@clisp.org>
550
551         round: Don't override undeclared system function on IRIX 6.5.
552         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
553         argument.
554         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
555         also when it is not declared. Set HAVE_ROUND. For replacement code,
556         test HAVE_ROUND, not HAVE_DECL_ROUND.
557         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
558         not HAVE_DECL_ROUND.
559         (Depends-on): Update conditions.
560         * modules/round-ieee (Depends-on): Update conditions.
561         * doc/posix-functions/round.texi: Mention the IRIX problem.
562
563 2012-03-07  Bruno Haible  <bruno@clisp.org>
564
565         copysignf: Don't override undeclared system function on IRIX 6.5.
566         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
567         HAVE_COPYSIGNF.
568         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
569         declared when it exists. Set HAVE_DECL_COPYSIGNF.
570         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
571         not HAVE_COPYSIGNF.
572         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
573         HAVE_COPYSIGNF.
574         * doc/posix-functions/copysignf.texi: Mention missing declaration
575         problem.
576
577 2012-03-07  Jim Meyering  <meyering@redhat.com>
578
579         readtokens: add tests
580         * modules/readtokens-tests: New file.
581         * tests/test-readtokens.c: New file.
582
583 2012-03-07  Jim Meyering  <meyering@redhat.com>
584
585         quotearg: the module must now include quote.h
586         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
587         So must the module.
588         * modules/quotearg (Files): Add quote.h.
589
590 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
591
592         readtokens: avoid core dumps with unusual calling patterns
593         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
594         * lib/readtokens.c: Include limits.h.
595         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
596         (readtoken): Don't cache the delimiters; the cache code was buggy
597         if !delim && saved_delim, or if the new n_delim differs from the old.
598         Also, it wasn't thread-safe.
599
600 2012-03-07  Bruno Haible  <bruno@clisp.org>
601
602         quote: Adhere to common module description layout.
603         * modules/quote (Makefile.am): Add back empty section.
604
605 2012-03-06  Akim Demaille  <demaille@gostai.com>
606
607         quote: fuse into quotearg
608         This patch is made for the benefit of Bison.
609         quote does not leave the choice of the quoting style to the user.
610         quoting_style provides poor customizability, yet quoting_options,
611         which is very rich, is hidden inside quotearg.c.  So in order to
612         allow quote customization, move its implementation to quotearg.c.
613         * lib/quote.c: Remove.
614         * modules/quote: Adjust.
615         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
616         warning: provide all the members of literal structs.
617         (quote_quoting_options): New.
618         (quote, quote_n): Import implementation from quote.c.
619         * lib/quote.h: Import the comments from quote.c.
620         (quote_quoting_options): New.
621
622 2012-03-06  Bruno Haible  <bruno@clisp.org>
623
624         Tests for module 'expm1l-ieee'.
625         * modules/expm1l-ieee-tests: New file.
626         * tests/test-expm1l-ieee.c: New file.
627
628         New module 'expm1l-ieee'.
629         * modules/expm1l-ieee: New file.
630
631         Tests for module 'expm1f-ieee'.
632         * modules/expm1f-ieee-tests: New file.
633         * tests/test-expm1f-ieee.c: New file.
634
635         New module 'expm1f-ieee'.
636         * modules/expm1f-ieee: New file.
637
638         Tests for module 'expm1-ieee'.
639         * modules/expm1-ieee-tests: New file.
640         * tests/test-expm1-ieee.c: New file.
641         * tests/test-expm1-ieee.h: New file.
642
643         New module 'expm1-ieee'.
644         * modules/expm1-ieee: New file.
645         * m4/expm1-ieee.m4: New file.
646         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
647         whether expm1 works with a minus zero argument. Replace it if not.
648         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
649         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
650         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
651         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
652         (Depends-on): Update conditions.
653         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
654         AIX problem.
655
656 2012-03-06  Bruno Haible  <bruno@clisp.org>
657
658         Work around expm1f bug on IRIX 6.5.
659         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
660         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
661         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
662         not work.
663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
664         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
665         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
666         (Depends-on): Update conditions.
667         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
668
669 2012-03-06  Bruno Haible  <bruno@clisp.org>
670
671         Tests for module 'expm1l'.
672         * modules/expm1l-tests: New file.
673         * tests/test-expm1l.c: New file.
674
675         New module 'expm1l'.
676         * lib/math.in.h (expm1l): New declaration.
677         * lib/expm1l.c: New file.
678         * m4/expm1l.m4: New file.
679         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
680         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
681         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
682         * modules/expm1l: New file.
683         * tests/test-math-c++.cc: Check the declaration of expm1l.
684         * doc/posix-functions/expm1l.texi: Mention the new module.
685
686 2012-03-06  Bruno Haible  <bruno@clisp.org>
687
688         Tests for module 'expm1f'.
689         * modules/expm1f-tests: New file.
690         * tests/test-expm1f.c: New file.
691
692         New module 'expm1f'.
693         * lib/math.in.h (expm1f): New declaration.
694         * lib/expm1f.c: New file.
695         * m4/expm1f.m4: New file.
696         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
697         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
698         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
699         * modules/expm1f: New file.
700         * tests/test-math-c++.cc: Check the declaration of expm1f.
701         * doc/posix-functions/expm1f.texi: Mention the new module.
702
703 2012-03-06  Bruno Haible  <bruno@clisp.org>
704
705         Tests for module 'expm1'.
706         * modules/expm1-tests: New file.
707         * tests/test-expm1.c: New file.
708         * tests/test-expm1.h: New file.
709
710         New module 'expm1'.
711         * lib/math.in.h (expm1): New declaration.
712         * lib/expm1.c: New file.
713         * m4/expm1.m4: New file.
714         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
716         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
717         * modules/expm1: New file.
718         * tests/test-math-c++.cc: Check the declaration of expm1.
719         * doc/posix-functions/expm1.texi: Mention the new module.
720
721 2012-03-06  Bruno Haible  <bruno@clisp.org>
722
723         math: Ensure declarations of math functions.
724         * modules/acosf (Depends-on): Add 'extensions'.
725         * modules/asinf (Depends-on): Likewise.
726         * modules/atan2f (Depends-on): Likewise.
727         * modules/atanf (Depends-on): Likewise.
728         * modules/cbrt (Depends-on): Likewise.
729         * modules/cbrtf (Depends-on): Likewise.
730         * modules/cbrtl (Depends-on): Likewise.
731         * modules/copysignf (Depends-on): Likewise.
732         * modules/copysignl (Depends-on): Likewise.
733         * modules/cosf (Depends-on): Likewise.
734         * modules/coshf (Depends-on): Likewise.
735         * modules/expf (Depends-on): Likewise.
736         * modules/fabsf (Depends-on): Likewise.
737         * modules/fabsl (Depends-on): Likewise.
738         * modules/fmaf (Depends-on): Likewise.
739         * modules/fmal (Depends-on): Likewise.
740         * modules/fmodf (Depends-on): Likewise.
741         * modules/fmodl (Depends-on): Likewise.
742         * modules/frexpf (Depends-on): Likewise.
743         * modules/frexpl (Depends-on): Likewise.
744         * modules/hypot (Depends-on): Likewise.
745         * modules/hypotf (Depends-on): Likewise.
746         * modules/hypotl (Depends-on): Likewise.
747         * modules/ldexpf (Depends-on): Likewise.
748         * modules/ldexpl (Depends-on): Likewise.
749         * modules/log10f (Depends-on): Likewise.
750         * modules/log10l (Depends-on): Likewise.
751         * modules/log1p (Depends-on): Likewise.
752         * modules/logb (Depends-on): Likewise.
753         * modules/logf (Depends-on): Likewise.
754         * modules/modff (Depends-on): Likewise.
755         * modules/modfl (Depends-on): Likewise.
756         * modules/powf (Depends-on): Likewise.
757         * modules/remainderf (Depends-on): Likewise.
758         * modules/remainderl (Depends-on): Likewise.
759         * modules/rintf (Depends-on): Likewise.
760         * modules/rintl (Depends-on): Likewise.
761         * modules/sinf (Depends-on): Likewise.
762         * modules/sinhf (Depends-on): Likewise.
763         * modules/sqrtf (Depends-on): Likewise.
764         * modules/tanf (Depends-on): Likewise.
765         * modules/tanhf (Depends-on): Likewise.
766         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
767         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
768         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
769         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
770         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
771         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
772         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
773         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
774         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
775         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
776         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
777         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
778         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
779         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
780         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
781         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
782         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
783         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
784         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
785         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
786         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
787         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
788         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
789         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
790         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
791         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
792         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
793         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
794         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
795         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
796         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
797         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
798         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
799         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
800         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
801         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
802         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
803         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
804         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
805         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
806         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
807
808 2012-03-06  Bruno Haible  <bruno@clisp.org>
809
810         math: Update module names in warnings.
811         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
812         tanl): Use specific module name in warn-on-use warning.
813
814 2012-03-06  Bruno Haible  <bruno@clisp.org>
815
816         expl: Simplify computation.
817         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
818
819 2012-03-05  Bruno Haible  <bruno@clisp.org>
820
821         exp* tests: More tests.
822         * tests/test-exp.h: New file.
823         * tests/test-exp.c: Include <float.h> and test-exp.h.
824         (main): Invoke test_function.
825         * tests/test-expf.c: Include <float.h> and test-exp.h.
826         (main): Invoke test_function.
827         * tests/test-expl.c: Include <float.h> and test-exp.h.
828         (main): Invoke test_function.
829         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
830         (Makefile.am): Add randomd.c to test_exp_SOURCES.
831         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
832         (Makefile.am): Add randomf.c to test_expf_SOURCES.
833         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
834         (Depends-on): Add 'float'.
835         (Makefile.am): Add randoml.c to test_expl_SOURCES.
836
837         expl: Fix precision of computed result.
838         * lib/expl.c: Completely rewritten.
839         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
840         (Maintainer): Add me.
841         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
842
843 2012-03-05  Bruno Haible  <bruno@clisp.org>
844
845         cbrt* tests: More tests.
846         * tests/test-cbrt.h: New file.
847         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
848         (main): Invoke test_function.
849         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
850         (main): Invoke test_function.
851         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
852         (main): Invoke test_function.
853         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
854         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
855         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
856         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
857         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
858         (Depends-on): Add 'float'.
859         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
860
861 2012-03-05  Bruno Haible  <bruno@clisp.org>
862
863         hypot* tests: More tests.
864         * tests/test-hypot.h: New file, partially extracted from
865         tests/test-hypotl.c.
866         * tests/test-hypot.c: Include test-hypot.h.
867         (main): Invoke test_function.
868         * tests/test-hypotf.c: Include test-hypot.h.
869         (main): Invoke test_function.
870         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
871         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
872         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
873         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
874         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
875         tests/randomf.c.
876         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
877         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
878         tests/randoml.c.
879         (Depends-on): Add 'fpucw', 'float'.
880         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
881
882 2012-03-05  Bruno Haible  <bruno@clisp.org>
883
884         fpucw: Doc about FreeBSD.
885         * lib/fpucw.h: Mention FreeBSD in comments.
886
887 2012-03-04  Bruno Haible  <bruno@clisp.org>
888
889         sqrt* tests: More tests.
890         * tests/test-sqrt.h: New file.
891         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
892         (main): Invoke test_function.
893         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
894         (main): Invoke test_function.
895         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
896         (main): Invoke test_function.
897         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
898         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
899         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
900         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
901         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
902         (Depends-on): Add 'float'.
903         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
904
905 2012-03-04  Bruno Haible  <bruno@clisp.org>
906
907         remainder* tests: More tests.
908         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
909         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
910         (main): Invoke test_function.
911         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
912         (main): Invoke test_function.
913         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
914         (main): Invoke test_function.
915         * modules/remainder-tests (Files): Add tests/test-remainder.h,
916         tests/randomd.c.
917         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
918         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
919         tests/randomf.c.
920         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
921         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
922         tests/randoml.c.
923         (Depends-on): Add 'float'.
924         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
925
926 2012-03-04  Bruno Haible  <bruno@clisp.org>
927
928         remainder, remainderf, remainderl: Fix computation for large quotients.
929         * lib/remainder.c: Completely rewritten.
930         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
931         USE_FLOAT.
932         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
933         USE_LONG_DOUBLE.
934         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
935         isnand, isinf. Remove round, fma.
936         * modules/remainderf (Files): Add lib/remainder.c.
937         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
938         Remove roundf, fmaf.
939         * modules/remainderl (Files): Add lib/remainder.c.
940         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
941         isinf. Remove roundl, fmal.
942         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
943         REMAINDER_LIBM.
944         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
945         REMAINDERF_LIBM.
946         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
947         REMAINDERL_LIBM.
948
949 2012-03-04  Bruno Haible  <bruno@clisp.org>
950
951         fmod* tests: More tests.
952         * tests/test-fmod.h (my_ldexp): New function.
953         (test_function): Reduce amount of random numbers to test. Add tests
954         of very large quotients x / y.
955         * tests/test-fmod.c (MAX_EXP): New macro.
956         * tests/test-fmodf.c (MAX_EXP): Likewise.
957         * tests/test-fmodl.c (MAX_EXP): Likewise.
958
959 2012-03-04  Bruno Haible  <bruno@clisp.org>
960
961         fmod, fmodl: Fix computation for large quotients x / y.
962         * lib/fmod.c: Completely rewritten.
963         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
964         USE_LONG_DOUBLE.
965         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
966         isnand. Remove fma.
967         * modules/fmodl (Files): Add lib/fmod.c.
968         (Depends-on): Add float, isfinite, signbit, fabsl,
969         frexpl, ldexpl, isnanl. Remove fma.
970         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
971         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
972
973 2012-03-03  Bruno Haible  <bruno@clisp.org>
974
975         fmod* tests: More tests.
976         * tests/test-fmod.h: New file.
977         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
978         (main): Invoke test_function.
979         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
980         (main): Invoke test_function.
981         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
982         (main): Invoke test_function.
983         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
984         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
985         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
986         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
987         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
988         (Depends-on): Add 'float'.
989         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
990
991 2012-03-03  Bruno Haible  <bruno@clisp.org>
992
993         rint* tests: More tests.
994         * tests/test-rint.h: New file, partially extracted from
995         tests/test-rintl.c.
996         * tests/test-rint.c: Include test-rint.h.
997         (main): Invoke test_function.
998         * tests/test-rintf.c: Include test-rint.h.
999         (main): Invoke test_function.
1000         * tests/test-rintl.c: Include test-rint.h.
1001         (main): Invoke test_function.
1002         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
1003         (Makefile.am): Add randomd.c to test_rint_SOURCES.
1004         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
1005         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
1006         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
1007         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
1008
1009 2012-03-03  Bruno Haible  <bruno@clisp.org>
1010
1011         modf* tests: More tests.
1012         * tests/test-modf.h: New file.
1013         * tests/test-modf.c: Include <float.h> and test-modf.h.
1014         (main): Invoke test_function.
1015         * tests/test-modff.c: Include <float.h> and test-modf.h.
1016         (main): Invoke test_function.
1017         * tests/test-modfl.c: Include <float.h> and test-modf.h.
1018         (main): Invoke test_function.
1019         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
1020         (Makefile.am): Add randomd.c to test_modf_SOURCES.
1021         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
1022         (Makefile.am): Add randomf.c to test_modff_SOURCES.
1023         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
1024         (Depends-on): Add 'float'.
1025         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
1026
1027 2012-03-03  Bruno Haible  <bruno@clisp.org>
1028
1029         fabs* tests: More tests.
1030         * tests/test-fabs.h: New file, partially extracted from
1031         tests/test-fabsl.c.
1032         * tests/test-fabs.c (RANDOM): New macro.
1033         * tests/test-fabsf.c (RANDOM): New macro.
1034         * tests/test-fabsl.c (RANDOM): New macro.
1035         * modules/fabs-tests (Files): Add tests/randomd.c.
1036         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
1037         * modules/fabsf-tests (Files): Add tests/randomf.c.
1038         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
1039         * modules/fabsl-tests (Files): Add tests/randoml.c.
1040         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
1041
1042 2012-03-03  Bruno Haible  <bruno@clisp.org>
1043
1044         ldexp* tests: More tests.
1045         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
1046         * tests/test-ldexp.c (RANDOM): New macro.
1047         * tests/test-ldexpf.c (RANDOM): New macro.
1048         * tests/test-ldexpl.c (RANDOM): New macro.
1049         * modules/ldexp-tests (Files): Add tests/randomd.c.
1050         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
1051         * modules/ldexpf-tests (Files): Add tests/randomf.c.
1052         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
1053         * modules/ldexpl-tests (Files): Add tests/randoml.c.
1054         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
1055
1056 2012-03-03  Bruno Haible  <bruno@clisp.org>
1057
1058         frexp* tests: More tests.
1059         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
1060         * tests/test-frexp.c (RANDOM): New macro.
1061         * tests/test-frexpf.c (RANDOM): New macro.
1062         * tests/test-frexpl.c (RANDOM): New macro.
1063         * modules/frexp-tests (Files): Add tests/randomd.c.
1064         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
1065         * modules/frexpf-tests (Files): Add tests/randomf.c.
1066         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
1067         * modules/frexpl-tests (Files): Add tests/randoml.c.
1068         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
1069
1070 2012-03-03  Bruno Haible  <bruno@clisp.org>
1071
1072         Support for pseudo-random numbers in tests.
1073         * tests/randomf.c: New file.
1074         * tests/randomd.c: New file.
1075         * tests/randoml.c: New file.
1076         * tests/macros.h (randomf, randomd, randoml): New declarations.
1077
1078 2012-03-03  Bruno Haible  <bruno@clisp.org>
1079
1080         frexp* tests: Refactor.
1081         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
1082         * tests/test-frexp.c: Include and use it.
1083         * tests/test-frexpf.c: Likewise.
1084         * tests/test-frexpl.c: Likewise.
1085         * modules/frexp-tests (Files): Add tests/test-frexp.h.
1086         * modules/frexpf-tests (Files): Likewise.
1087         * modules/frexpl-tests (Files): Likewise.
1088
1089 2012-03-02  Jim Meyering  <meyering@redhat.com>
1090
1091         maint: don't specify XZ_OPT=-9ev in dist-related rule
1092         Using xz's -9 option is warranted only if you have a very large
1093         tarball (see xz's documentation for the sizes vs. presets), and
1094         requires 64MiB of memory at decompression time.
1095         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
1096         Automake's default of just "-e" is fine.  Override on a
1097         per-package basis by setting XZ_OPT e.g., in cfg.mk.
1098
1099 2012-03-01  Eric Blake  <eblake@redhat.com>
1100
1101         maint.mk: allow announcement for non-gnulib project
1102         * maint.mk (announcement): Skip gnulib version if not used.
1103
1104 2012-03-01  Jim Meyering  <meyering@redhat.com>
1105
1106         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
1107         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
1108         envvar settings cannot interfere.  Otherwise, setting envvars like
1109         prohibit=foo require=bar, etc. would cause spurious test failures.
1110
1111 2012-03-01  Eric Blake  <eblake@redhat.com>
1112
1113         maint.mk: add per-line exclusions to prohibitions
1114         * maint.mk (_sc_search_regexp): Add $exclude parameter.
1115         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1116         (sc_const_long_option): Use it.
1117
1118 2012-03-01  Bruno Haible  <bruno@clisp.org>
1119
1120         Tests for module 'expl-ieee'.
1121         * modules/expl-ieee-tests: New file.
1122         * tests/test-expl-ieee.c: New file.
1123
1124         New module 'expl-ieee'.
1125         * modules/expl-ieee: New file.
1126
1127         Tests for module 'exp-ieee'.
1128         * modules/exp-ieee-tests: New file.
1129         * tests/test-exp-ieee.c: New file.
1130
1131         New module 'exp-ieee'.
1132         * modules/exp-ieee: New file.
1133
1134         Tests for module 'expf-ieee'.
1135         * modules/expf-ieee-tests: New file.
1136         * tests/test-expf-ieee.c: New file.
1137         * tests/test-exp-ieee.h: New file.
1138
1139         New module 'expf-ieee'.
1140         * modules/expf-ieee: New file.
1141
1142 2012-02-29  Bruno Haible  <bruno@clisp.org>
1143
1144         cbrtl-ieee: Work around test failure on IRIX 6.5.
1145         * m4/cbrtl-ieee.m4: New file.
1146         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
1147         test whether cbrtl works with a minus zero argument. Replace it if not.
1148         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
1149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
1150         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
1151         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
1152         (Depends-on): Update conditions.
1153         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
1154         m4/signbit.m4.
1155         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
1156         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
1157         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
1158
1159         Tests for module 'cbrtl-ieee'.
1160         * modules/cbrtl-ieee-tests: New file.
1161         * tests/test-cbrtl-ieee.c: New file.
1162
1163         New module 'cbrtl-ieee'.
1164         * modules/cbrtl-ieee: New file.
1165
1166         Tests for module 'cbrt-ieee'.
1167         * modules/cbrt-ieee-tests: New file.
1168         * tests/test-cbrt-ieee.c: New file.
1169
1170         New module 'cbrt-ieee'.
1171         * modules/cbrt-ieee: New file.
1172
1173         Tests for module 'cbrtf-ieee'.
1174         * modules/cbrtf-ieee-tests: New file.
1175         * tests/test-cbrtf-ieee.c: New file.
1176         * tests/test-cbrt-ieee.h: New file.
1177
1178         New module 'cbrtf-ieee'.
1179         * modules/cbrtf-ieee: New file.
1180
1181 2012-02-29  Bruno Haible  <bruno@clisp.org>
1182
1183         cbrtf: Work around bug in IRIX 6.5 system function.
1184         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
1185         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
1186         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
1187         work.
1188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
1189         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
1190         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
1191         (Depends-on): Update conditions.
1192         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
1193
1194 2012-02-29  Bruno Haible  <bruno@clisp.org>
1195
1196         Tests for module 'cbrtl'.
1197         * modules/cbrtl-tests: New file.
1198         * tests/test-cbrtl.c: New file.
1199
1200         New module 'cbrtl'.
1201         * lib/math.in.h (cbrtl): New declaration.
1202         * lib/cbrtl.c: New file.
1203         * m4/cbrtl.m4: New file.
1204         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
1205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
1206         HAVE_DECL_CBRTL.
1207         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
1208         HAVE_DECL_CBRTL.
1209         * modules/cbrtl: New file.
1210         * tests/test-math-c++.cc: Check the declaration of cbrtl.
1211         * doc/posix-functions/cbrtl.texi: Mention the new module.
1212
1213 2012-02-29  Bruno Haible  <bruno@clisp.org>
1214
1215         Tests for module 'cbrtf'.
1216         * modules/cbrtf-tests: New file.
1217         * tests/test-cbrtf.c: New file.
1218
1219         New module 'cbrtf'.
1220         * lib/math.in.h (cbrtf): New declaration.
1221         * lib/cbrtf.c: New file.
1222         * m4/cbrtf.m4: New file.
1223         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
1224         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
1225         HAVE_DECL_CBRTF.
1226         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
1227         HAVE_DECL_CBRTF.
1228         * modules/cbrtf: New file.
1229         * tests/test-math-c++.cc: Check the declaration of cbrtf.
1230         * doc/posix-functions/cbrtf.texi: Mention the new module.
1231
1232 2012-02-29  Bruno Haible  <bruno@clisp.org>
1233
1234         cbrt: Provide replacement on MSVC and Minix.
1235         * lib/math.in.h (cbrt): New declaration.
1236         * lib/cbrt.c: New file.
1237         * m4/cbrt.m4: New file.
1238         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
1239         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
1240         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
1241         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
1242         (Depends-on): Add dependencies.
1243         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
1244         * tests/test-math-c++.cc: Check the declaration of cbrt.
1245         * doc/posix-functions/cbrt.texi: Mention that the module provides a
1246         replacement.
1247
1248 2012-02-29  Bruno Haible  <bruno@clisp.org>
1249
1250         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
1251         * m4/hypotl-ieee.m4: New file.
1252         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
1253         test whether hypotl works with mixed NaN and Infinity arguments.
1254         Replace it if not.
1255         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
1256         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
1257         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
1258         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
1259         (Depends-on): Update conditions.
1260         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
1261         (Depends-on): Add hypot-ieee.
1262         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
1263         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
1264
1265         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
1266         * m4/hypotf-ieee.m4: New file.
1267         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
1268         test whether hypotf works with mixed NaN and Infinity arguments.
1269         Replace it if not.
1270         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
1271         (Depends-on): Add hypot-ieee.
1272         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
1273         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
1274
1275         hypot-ieee: Work around test failure on OSF/1 and native Windows.
1276         * lib/math.in.h (hypot): New declaration.
1277         * lib/hypot.c: New file.
1278         * m4/hypot-ieee.m4: New file.
1279         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
1280         whether hypot works with mixed NaN and Infinity arguments. Replace it
1281         if not.
1282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
1283         REPLACE_HYPOT.
1284         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
1285         * modules/hypot (Files): Add lib/hypot.c.
1286         (Depends-on): Add dependencies.
1287         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
1288         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
1289         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
1290         * tests/test-math-c++.cc: Check the declaration of hypot.
1291         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
1292
1293         Tests for module 'hypotl-ieee'.
1294         * modules/hypotl-ieee-tests: New file.
1295         * tests/test-hypotl-ieee.c: New file.
1296
1297         New module 'hypotl-ieee'.
1298         * modules/hypotl-ieee: New file.
1299
1300         Tests for module 'hypot-ieee'.
1301         * modules/hypot-ieee-tests: New file.
1302         * tests/test-hypot-ieee.c: New file.
1303
1304         New module 'hypot-ieee'.
1305         * modules/hypot-ieee: New file.
1306
1307         Tests for module 'hypotf-ieee'.
1308         * modules/hypotf-ieee-tests: New file.
1309         * tests/test-hypotf-ieee.c: New file.
1310         * tests/test-hypot-ieee.h: New file.
1311
1312         New module 'hypotf-ieee'.
1313         * modules/hypotf-ieee: New file.
1314
1315 2012-02-29  Bruno Haible  <bruno@clisp.org>
1316
1317         Remove unused variables.
1318         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
1319         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1320         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1321         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
1322
1323 2012-02-29  Eric Blake  <eblake@redhat.com>
1324
1325         termios: fix pid_t always, not just for tcgetsid
1326         * doc/posix-headers/termios.texi (termios.h): Mention problem.
1327         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
1328         just when building tcgetsid.
1329
1330 2012-02-29  Bruno Haible  <bruno@clisp.org>
1331
1332         Tests for module 'hypotl'.
1333         * modules/hypotl-tests: New file.
1334         * tests/test-hypotl.c: New file.
1335
1336         New module 'hypotl'.
1337         * lib/math.in.h (hypotl): New declaration.
1338         * lib/hypotl.c: New file.
1339         * m4/hypotl.m4: New file.
1340         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
1342         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
1343         * modules/hypotl: New file.
1344         * tests/test-math-c++.cc: Check the hypotl declaration.
1345         * doc/posix-functions/hypotl.texi: Mention the new module.
1346
1347 2012-02-29  Eric Blake  <eblake@redhat.com>
1348
1349         tcgetsid: fix cygwin header bug
1350         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
1351
1352         docs: update cygwin progress
1353         * doc/posix-functions/llround.texi (llround): Added in cygwin
1354         1.7.8.
1355         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
1356         * doc/glibc-functions/program_invocation_name.texi
1357         (program_invocation_name): Likewise.
1358         * doc/glibc-functions/program_invocation_short_name.texi
1359         (program_invocation_short_name): Likewise.
1360         * doc/glibc-functions/madvise.texi (madvise): Likewise.
1361         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
1362         Likewise.
1363         * doc/posix-functions/pthread_spin_destroy.texi
1364         (pthread_spin_destroy): Added in cygwin 1.7.10.
1365         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
1366         Likewise.
1367         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
1368         Likewise.
1369         * doc/posix-functions/pthread_spin_trylock.texi
1370         (pthread_spin_trylock): Likewise.
1371         * doc/posix-functions/pthread_spin_unlock.texi
1372         (pthread_spin_unlock): Likewise.
1373         * doc/posix-functions/pthread_setschedprio.texi
1374         (pthread_setschedprio): Likewise.
1375         * doc/posix-functions/pthread_attr_getstack.texi
1376         (pthread_attr_getstack): Likewise.
1377         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
1378         (pthread_attr_getstackaddr): Likewise.
1379         * doc/glibc-functions/pthread_getattr_np.texi
1380         (pthread_getattr_np): Likewise.
1381         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
1382         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
1383         * doc/posix-functions/clock_settime.texi (clock_settime):
1384         Likewise.
1385         * doc/posix-functions/pthread_attr_getguardsize.texi
1386         (pthread_attr_getguardsize): Likewise.
1387         * doc/posix-functions/pthread_attr_setguardsize.texi
1388         (pthread_attr_setguardsize): Likewise.
1389         * doc/posix-functions/pthread_attr_setstack.texi
1390         (pthread_attr_setstack): Likewise.
1391         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
1392         (pthread_attr_setstackaddr): Likewise.
1393         * doc/posix-functions/clock_getcpuclockid.texi
1394         (clock_getcpuclockid): Likewise.
1395         * doc/posix-functions/pthread_getcpuclockid.texi
1396         (pthread_getcpuclockid): Likewise.
1397         * doc/glibc-functions/error.texi (error): Likewise.
1398         * doc/glibc-functions/error_at_line.texi (error_at_line):
1399         Likewise.
1400         * doc/glibc-functions/error_message_count.texi
1401         (error_message_count): Likewise.
1402         * doc/glibc-functions/error_one_per_line.texi
1403         (error_one_per_line): Likewise.
1404         * doc/glibc-functions/error_print_progname.texi
1405         (error_print_progname): Likewise.
1406         * doc/posix-functions/pthread_condattr_getclock.texi
1407         (pthread_condattr_getclock): Likewise.
1408         * doc/posix-functions/pthread_condattr_setclock.texi
1409         (pthread_condattr_setclock): Likewise.
1410         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
1411         Likewise.
1412         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
1413         * doc/glibc-functions/getpt.texi (getpt): Likewise.
1414         * doc/glibc-functions/get_current_dir_name.texi
1415         (get_current_dir_name): Likewise.
1416         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
1417         Likewise.
1418         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
1419         wrong return type.
1420         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
1421         1.7.11.
1422
1423 2012-02-29  Bruno Haible  <bruno@clisp.org>
1424
1425         Tests for module 'hypotf'.
1426         * modules/hypotf-tests: New file.
1427         * tests/test-hypotf.c: New file.
1428
1429         New module 'hypotf'.
1430         * lib/math.in.h (hypotf): New declaration.
1431         * lib/hypotf.c: New file.
1432         * m4/hypotf.m4: New file.
1433         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
1434         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
1435         REPLACE_HYPOTF.
1436         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
1437         REPLACE_HYPOTF.
1438         * modules/hypotf: New file.
1439         * tests/test-math-c++.cc: Check the hypotf declaration.
1440         * doc/posix-functions/hypotf.texi: Mention the new module.
1441
1442         hypot: Prepare for hypotf module.
1443         * m4/hypot.m4: New file.
1444         * modules/hypot (Files): Add m4/hypot.m4.
1445         (configure.ac): Invoke gl_FUNC_HYPOT.
1446
1447 2012-02-29  Bruno Haible  <bruno@clisp.org>
1448
1449         hypot tests: More tests.
1450         * tests/test-hypot.c: Include <float.h>.
1451         (main): Add tests about overflow and underflow.
1452
1453 2012-02-29  Bruno Haible  <bruno@clisp.org>
1454
1455         math code: Add comments.
1456         * lib/acosl.c: Add comment about related glibc source files.
1457         * lib/asinl.c: Likewise.
1458         * lib/atanl.c: Likewise.
1459         * lib/expl.c: Likewise.
1460         * lib/logl.c: Likewise.
1461         * lib/sincosl.c: Likewise.
1462         * lib/sinl.c: Likewise.
1463         * lib/tanl.c: Likewise.
1464         * lib/trigl.c: Likewise.
1465         * lib/cosl.c: Likewise. Fix comments.
1466
1467 2012-02-28  Bruno Haible  <bruno@clisp.org>
1468
1469         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1470         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1471         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1472         HUGE_VALL are defined.
1473         (numeric_equald): Renamed from numeric_equal.
1474         (numeric_equalf, numeric_equall): New functions.
1475         (main): Check also HUGE_VALF, HUGE_VALL.
1476         * modules/math-tests (Files): Add tests/macros.h.
1477         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1478         HUGE_VALL.
1479
1480 2012-02-28  Bruno Haible  <bruno@clisp.org>
1481
1482         doc: Move ISO C11 feature notes into POSIX chapters.
1483         * doc/posix-functions/aligned_alloc.texi: Renamed from
1484         doc/glibc-functions/aligned_alloc.texi.
1485         * doc/posix-functions/quick_exit.texi: Renamed from
1486         doc/glibc-functions/quick_exit.texi.
1487         * doc/posix-headers/uchar.texi: Renamed from
1488         doc/glibc-headers/uchar.texi.
1489         * doc/posix-functions/c16rtomb.texi: Renamed from
1490         doc/glibc-functions/c16rtomb.texi.
1491         * doc/posix-functions/c32rtomb.texi: Renamed from
1492         doc/glibc-functions/c32rtomb.texi.
1493         * doc/posix-functions/mbrtoc16.texi: Renamed from
1494         doc/glibc-functions/mbrtoc16.texi.
1495         * doc/posix-functions/mbrtoc32.texi: Renamed from
1496         doc/glibc-functions/mbrtoc32.texi.
1497         * doc/gnulib.texi: Update.
1498         (Glibc uchar.h): Remove section.
1499         Suggested by Eric Blake.
1500
1501 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1502
1503         stdnoreturn: port to MSVC better
1504         MSVC standard headers use __declspec(noreturn), so #define noreturn
1505         to empty on that platform.  Reported by Bruno Haible in
1506         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1507         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1508         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1509
1510 2012-02-28  Bruno Haible  <bruno@clisp.org>
1511
1512         doc: Mention new glibc headers and functions.
1513         * doc/glibc-headers/uchar.texi: New file.
1514         * doc/glibc-functions/aligned_alloc.texi: New file.
1515         * doc/glibc-functions/c16rtomb.texi: New file.
1516         * doc/glibc-functions/c32rtomb.texi: New file.
1517         * doc/glibc-functions/clock_adjtime.texi: New file.
1518         * doc/glibc-functions/fanotify_init.texi: New file.
1519         * doc/glibc-functions/fanotify_mark.texi: New file.
1520         * doc/glibc-functions/inet6_opt_append.texi: New file.
1521         * doc/glibc-functions/inet6_opt_find.texi: New file.
1522         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1523         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1524         * doc/glibc-functions/inet6_opt_init.texi: New file.
1525         * doc/glibc-functions/inet6_opt_next.texi: New file.
1526         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1527         * doc/glibc-functions/inet6_rth_add.texi: New file.
1528         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1529         * doc/glibc-functions/inet6_rth_init.texi: New file.
1530         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1531         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1532         * doc/glibc-functions/inet6_rth_space.texi: New file.
1533         * doc/glibc-functions/login.texi: New file.
1534         * doc/glibc-functions/mbrtoc16.texi: New file.
1535         * doc/glibc-functions/mbrtoc32.texi: New file.
1536         * doc/glibc-functions/name_to_handle_at.texi: New file.
1537         * doc/glibc-functions/ntp_gettimex.texi: New file.
1538         * doc/glibc-functions/open_by_handle_at.texi: New file.
1539         * doc/glibc-functions/prlimit.texi: New file.
1540         * doc/glibc-functions/process_vm_readv.texi: New file.
1541         * doc/glibc-functions/process_vm_writev.texi: New file.
1542         * doc/glibc-functions/recvmmsg.texi: New file.
1543         * doc/glibc-functions/scandirat.texi: New file.
1544         * doc/glibc-functions/sendmmsg.texi: New file.
1545         * doc/glibc-functions/setns.texi: New file.
1546         * doc/glibc-functions/timespec_get.texi: New file.
1547         * doc/gnulib.texi: Include them.
1548         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1549         sections.
1550         Reported by Eric Blake.
1551
1552 2012-02-28  Bruno Haible  <bruno@clisp.org>
1553
1554         Avoid compilation errors with MSVC option -fp:strict.
1555         * lib/floor.c: Use MSVC specific pragma fenv_access.
1556         * lib/ceil.c: Likewise.
1557         * lib/trunc.c: Likewise.
1558         * lib/round.c: Likewise.
1559         * lib/rint.c: Likewise.
1560         * lib/fma.c: Likewise.
1561         * lib/integer_length.c: Likewise.
1562         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1563         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1564         * tests/test-floor2.c: Likewise.
1565         * tests/test-floorf2.c: Likewise.
1566         * tests/test-ceil2.c: Likewise.
1567         * tests/test-ceilf2.c: Likewise.
1568         * tests/test-trunc2.c: Likewise.
1569         * tests/test-truncf2.c: Likewise.
1570         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1571
1572 2012-02-27  Bruno Haible  <bruno@clisp.org>
1573
1574         Tests for module 'sqrtl-ieee'.
1575         * modules/sqrtl-ieee-tests: New file.
1576         * tests/test-sqrtl-ieee.c: New file.
1577
1578         New module 'sqrtl-ieee'.
1579         * modules/sqrtl-ieee: New file.
1580
1581         Tests for module 'sqrt-ieee'.
1582         * modules/sqrt-ieee-tests: New file.
1583         * tests/test-sqrt-ieee.c: New file.
1584
1585         New module 'sqrt-ieee'.
1586         * modules/sqrt-ieee: New file.
1587
1588         Tests for module 'sqrtf-ieee'.
1589         * modules/sqrtf-ieee-tests: New file.
1590         * tests/test-sqrtf-ieee.c: New file.
1591         * tests/test-sqrt-ieee.h: New file.
1592
1593         New module 'sqrtf-ieee'.
1594         * modules/sqrtf-ieee: New file.
1595
1596 2012-02-27  Bruno Haible  <bruno@clisp.org>
1597
1598         remainderl-ieee: Work around test failure on OSF/1.
1599         * m4/remainderl-ieee.m4: New file.
1600         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1601         present, test whether remainderl works with a zero second argument.
1602         Replace it if not.
1603         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1604         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1605         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1606         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1607         (Depends-on): Update conditions.
1608         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1609         (Depends-on): Add remainder-ieee.
1610         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1611         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1612         module.
1613
1614         remainderf-ieee: Work around test failure on OSF/1.
1615         * m4/remainderf-ieee.m4: New file.
1616         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1617         present, test whether remainderf works with a zero second argument.
1618         Replace it if not.
1619         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1621         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1622         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1623         (Depends-on): Update conditions.
1624         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1625         (Depends-on): Add remainder-ieee.
1626         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1627         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1628         module.
1629
1630         remainder-ieee: Work around test failure on OSF/1.
1631         * m4/remainder-ieee.m4: New file.
1632         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1633         present, test whether remainder works with a zero second argument.
1634         Replace it if not.
1635         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1636         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1637         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1638         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1639         (Depends-on): Update dependencies.
1640         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1641         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1642         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1643
1644         Tests for module 'remainderl-ieee'.
1645         * modules/remainderl-ieee-tests: New file.
1646         * tests/test-remainderl-ieee.c: New file.
1647
1648         New module 'remainderl-ieee'.
1649         * modules/remainderl-ieee: New file.
1650
1651         Tests for module 'remainder-ieee'.
1652         * modules/remainder-ieee-tests: New file.
1653         * tests/test-remainder-ieee.c: New file.
1654
1655         New module 'remainder-ieee'.
1656         * modules/remainder-ieee: New file.
1657
1658         Tests for module 'remainderf-ieee'.
1659         * modules/remainderf-ieee-tests: New file.
1660         * tests/test-remainderf-ieee.c: New file.
1661         * tests/test-remainder-ieee.h: New file.
1662
1663         New module 'remainderf-ieee'.
1664         * modules/remainderf-ieee: New file.
1665
1666 2012-02-27  Bruno Haible  <bruno@clisp.org>
1667
1668         modff, modfl: Fix configure syntax error.
1669         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1670         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1671
1672 2012-02-27  Bruno Haible  <bruno@clisp.org>
1673
1674         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1675         * m4/fmodl-ieee.m4: New file.
1676         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1677         whether fmodl works with zero arguments. Replace it if not.
1678         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1679         (Depends-on): Add fmod-ieee.
1680         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1681         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1682
1683         fmodf-ieee: Work around test failure on OSF/1.
1684         * m4/fmodf-ieee.m4: New file.
1685         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1686         whether fmodf works with zero arguments. Replace it if not.
1687         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1689         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1690         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1691         (Depends-on): Update dependencies.
1692         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1693         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1694         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1695
1696         fmodf-ieee: Work around test failure on MSVC 9.
1697         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1698         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1699
1700         fmod-ieee: Work around test failures on OSF/1, mingw.
1701         * m4/fmod-ieee.m4: New file.
1702         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1703         whether fmod works with zero arguments. Replace it if not.
1704         * lib/math.in.h (fmod): New declaration.
1705         * lib/fmod.c: New file.
1706         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1707         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1708         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1709         * modules/fmod (Files): Add lib/fmod.c.
1710         (Depends-on): Add math, isinf, trunc, fma.
1711         (configure.ac): Arrange to compile lib/fmod.c if needed.
1712         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1713         m4/signbit.m4.
1714         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1715         * tests/test-math-c++.cc: Check the declaration of fmod.
1716         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1717
1718         fmodl-ieee: Fix test failures.
1719         * lib/fmodl.c (fmodl): Treat Inf specially.
1720         * modules/fmodl (Depends-on): Add isinf.
1721
1722         Tests for module 'fmodl-ieee'.
1723         * modules/fmodl-ieee-tests: New file.
1724         * tests/test-fmodl-ieee.c: New file.
1725
1726         New module 'fmodl-ieee'.
1727         * modules/fmodl-ieee: New file.
1728
1729         Tests for module 'fmod-ieee'.
1730         * modules/fmod-ieee-tests: New file.
1731         * tests/test-fmod-ieee.c: New file.
1732
1733         New module 'fmod-ieee'.
1734         * modules/fmod-ieee: New file.
1735
1736         Tests for module 'fmodf-ieee'.
1737         * modules/fmodf-ieee-tests: New file.
1738         * tests/test-fmodf-ieee.c: New file.
1739         * tests/test-fmod-ieee.h: New file.
1740
1741         New module 'fmodf-ieee'.
1742         * modules/fmodf-ieee: New file.
1743
1744 2012-02-27  Bruno Haible  <bruno@clisp.org>
1745
1746         Tests for module 'rintl-ieee'.
1747         * modules/rintl-ieee-tests: New file.
1748         * tests/test-rintl-ieee.c: New file.
1749
1750         New module 'rintl-ieee'.
1751         * modules/rintl-ieee: New file.
1752
1753         Tests for module 'rint-ieee'.
1754         * modules/rint-ieee-tests: New file.
1755         * tests/test-rint-ieee.c: New file.
1756
1757         New module 'rint-ieee'.
1758         * modules/rint-ieee: New file.
1759
1760         Tests for module 'rintf-ieee'.
1761         * modules/rintf-ieee-tests: New file.
1762         * tests/test-rintf-ieee.c: New file.
1763         * tests/test-rint-ieee.h: New file.
1764
1765         New module 'rintf-ieee'.
1766         * modules/rintf-ieee: New file.
1767
1768 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1769
1770         regex: re_search etc. should return -2 when memory exhausted
1771         This bug was uncovered when testing 'grep'.  Without the fix,
1772         re_search and friends return -1 when memory is exhausted, but -1
1773         means no match, and this causes grep to falsely report no-match
1774         instead of memory-exhaustion.  See
1775         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1776         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1777         trouble; this can occur if re_search_internal ran out of memory.
1778
1779 2012-02-26  Bruno Haible  <bruno@clisp.org>
1780
1781         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1782         * m4/modfl-ieee.m4: New file.
1783         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1784         whether modfl works with Inf. Replace it if not.
1785         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1786         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1787         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1788         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1789         (Depends-on): Update dependencies.
1790         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1791         m4/signbit.m4.
1792         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1793         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1794
1795         modfl-ieee: Fix dependencies.
1796         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1797
1798         modfl-ieee: Fix test failures.
1799         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1800         * modules/modfl (Depends-on): Add isfinite, isinf.
1801
1802         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1803         * m4/modff-ieee.m4: New file.
1804         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1805         whether modff works with NaN and Inf. Replace it if not.
1806         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1807         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1808         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1809         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1810         (Depends-on): Update dependencies.
1811         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1812         m4/signbit.m4.
1813         (Depends-on): Add modf-ieee.
1814         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1815         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1816
1817         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1818         * m4/modf-ieee.m4: New file.
1819         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1820         whether modf works with NaN and Inf. Replace it if not.
1821         * lib/math.in.h (modf): New declaration.
1822         * lib/modf.c: New file.
1823         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1825         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1826         * modules/modf (Files): Add lib/modf.c.
1827         (Depends-on): Add math, isfinite, trunc, isinf.
1828         (configure.ac): Addrange to compile lib/modf.c if needed.
1829         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1830         m4/signbit.m4.
1831         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1832         * tests/test-math-c++.cc: Check the declaration of modf.
1833         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1834
1835         Tests for module 'modfl-ieee'.
1836         * modules/modfl-ieee-tests: New file.
1837         * tests/test-modfl-ieee.c: New file.
1838
1839         New module 'modfl-ieee'.
1840         * modules/modfl-ieee: New file.
1841
1842         Tests for module 'modf-ieee'.
1843         * modules/modf-ieee-tests: New file.
1844         * tests/test-modf-ieee.c: New file.
1845
1846         New module 'modf-ieee'.
1847         * modules/modf-ieee: New file.
1848
1849         Tests for module 'modff-ieee'.
1850         * modules/modff-ieee-tests: New file.
1851         * tests/test-modff-ieee.c: New file.
1852         * tests/test-modf-ieee.h: New file.
1853
1854         New module 'modff-ieee'.
1855         * modules/modff-ieee: New file.
1856
1857 2012-02-26  Bruno Haible  <bruno@clisp.org>
1858
1859         Tests for module 'fabsl-ieee'.
1860         * modules/fabsl-ieee-tests: New file.
1861         * tests/test-fabsl-ieee.c: New file.
1862
1863         New module 'fabsl-ieee'.
1864         * modules/fabsl-ieee: New file.
1865
1866         Tests for module 'fabs-ieee'.
1867         * modules/fabs-ieee-tests: New file.
1868         * tests/test-fabs-ieee.c: New file.
1869
1870         New module 'fabs-ieee'.
1871         * modules/fabs-ieee: New file.
1872
1873         Tests for module 'fabsf-ieee'.
1874         * modules/fabsf-ieee-tests: New file.
1875         * tests/test-fabsf-ieee.c: New file.
1876         * tests/test-fabs-ieee.h: New file.
1877
1878         New module 'fabsf-ieee'.
1879         * modules/fabsf-ieee: New file.
1880
1881 2012-02-26  Bruno Haible  <bruno@clisp.org>
1882
1883         Tests for module 'fmal-ieee'.
1884         * modules/fmal-ieee-tests: New file.
1885         * tests/test-fmal-ieee.c: New file.
1886
1887         New module 'fmal-ieee'.
1888         * modules/fmal-ieee: New file.
1889
1890         Tests for module 'fma-ieee'.
1891         * modules/fma-ieee-tests: New file.
1892         * tests/test-fma-ieee.c: New file.
1893
1894         New module 'fma-ieee'.
1895         * modules/fma-ieee: New file.
1896
1897         Tests for module 'fmaf-ieee'.
1898         * modules/fmaf-ieee-tests: New file.
1899         * tests/test-fmaf-ieee.c: New file.
1900         * tests/test-fma-ieee.h: New file.
1901
1902         New module 'fmaf-ieee'.
1903         * modules/fmaf-ieee: New file.
1904
1905 2012-02-26  Bruno Haible  <bruno@clisp.org>
1906
1907         Tests for module 'ldexpl-ieee'.
1908         * modules/ldexpl-ieee-tests: New file.
1909         * tests/test-ldexpl-ieee.c: New file.
1910
1911         New module 'ldexpl-ieee'.
1912         * modules/ldexpl-ieee: New file.
1913
1914         Tests for module 'ldexp-ieee'.
1915         * modules/ldexp-ieee-tests: New file.
1916         * tests/test-ldexp-ieee.c: New file.
1917
1918         New module 'ldexp-ieee'.
1919         * modules/ldexp-ieee: New file.
1920
1921         Tests for module 'ldexpf-ieee'.
1922         * modules/ldexpf-ieee-tests: New file.
1923         * tests/test-ldexpf-ieee.c: New file.
1924         * tests/test-ldexp-ieee.h: New file.
1925
1926         New module 'ldexpf-ieee'.
1927         * modules/ldexpf-ieee: New file.
1928
1929 2012-02-26  Bruno Haible  <bruno@clisp.org>
1930
1931         Refactor frexp*-ieee tests.
1932         * tests/test-frexp-ieee.h: New file.
1933         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1934         (main): Just call test_function.
1935         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1936         (main): Just call test_function.
1937         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1938         (main): Just call test_function.
1939         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1940         * modules/frexp-ieee-tests (Files): Likewise.
1941         * modules/frexpl-ieee-tests (Files): Likewise.
1942
1943         Tests for module 'frexpl-ieee'.
1944         * modules/frexpl-ieee-tests: New file.
1945         * tests/test-frexpl-ieee.c: New file.
1946
1947         New module 'frexpl-ieee'.
1948         * modules/frexpl-ieee: New file.
1949
1950         Tests for module 'frexp-ieee'.
1951         * modules/frexp-ieee-tests: New file.
1952         * tests/test-frexp-ieee.c: New file.
1953
1954         New module 'frexp-ieee'.
1955         * modules/frexp-ieee: New file.
1956
1957         Tests for module 'frexpf-ieee'.
1958         * modules/frexpf-ieee-tests: New file.
1959         * tests/test-frexpf-ieee.c: New file.
1960
1961         New module 'frexpf-ieee'.
1962         * modules/frexpf-ieee: New file.
1963
1964 2012-02-26  Bruno Haible  <bruno@clisp.org>
1965
1966         roundl-ieee tests: More tests.
1967         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1968         (main): Add tests for [MX] shaded specification in POSIX.
1969         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1970         (Depends-on): Add isnanl-nolibm.
1971
1972         round-ieee tests: More tests.
1973         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1974         (main): Add tests for [MX] shaded specification in POSIX.
1975         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1976         (Depends-on): Add isnand-nolibm.
1977
1978         roundf-ieee tests: More tests.
1979         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1980         (main): Add tests for [MX] shaded specification in POSIX.
1981         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1982         (Depends-on): Add isnanf-nolibm.
1983
1984         truncl-ieee tests: More tests.
1985         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1986         (main): Add tests for [MX] shaded specification in POSIX.
1987         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1988         (Depends-on): Add isnanl-nolibm.
1989
1990         trunc-ieee tests: More tests.
1991         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1992         (main): Add tests for [MX] shaded specification in POSIX.
1993         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1994         (Depends-on): Add isnand-nolibm.
1995
1996         truncf-ieee tests: More tests.
1997         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1998         (main): Add tests for [MX] shaded specification in POSIX.
1999         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2000         (Depends-on): Add isnanf-nolibm.
2001
2002         ceill-ieee tests: More tests.
2003         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2004         (main): Add tests for [MX] shaded specification in POSIX.
2005         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2006         (Depends-on): Add isnanl-nolibm.
2007
2008         ceil-ieee tests: More tests.
2009         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2010         (main): Add tests for [MX] shaded specification in POSIX.
2011         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2012         (Depends-on): Add isnand-nolibm.
2013
2014         ceilf-ieee tests: More tests.
2015         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2016         (main): Add tests for [MX] shaded specification in POSIX.
2017         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2018         (Depends-on): Add isnanf-nolibm.
2019
2020         floorl-ieee tests: More tests.
2021         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
2022         (main): Add tests for [MX] shaded specification in POSIX.
2023         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2024         (Depends-on): Add isnanl-nolibm.
2025
2026         floor-ieee tests: More tests.
2027         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
2028         (main): Add tests for [MX] shaded specification in POSIX.
2029         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2030         (Depends-on): Add isnand-nolibm.
2031
2032         floorf-ieee tests: More tests.
2033         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
2034         (main): Add tests for [MX] shaded specification in POSIX.
2035         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
2036         (Depends-on): Add isnanf-nolibm.
2037
2038 2012-02-26  Bruno Haible  <bruno@clisp.org>
2039
2040         fpieee: More comments.
2041         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
2042
2043 2012-02-25  Bruno Haible  <bruno@clisp.org>
2044
2045         Tests for module 'log10l'.
2046         * modules/log10l-tests: New file.
2047         * tests/test-log10l.c: New file.
2048         * tests/test-math-c++.cc: Check the declaration of log10l.
2049
2050         New module 'log10l'.
2051         * lib/math.in.h (log10l): New declaration.
2052         * lib/log10l.c: New file.
2053         * m4/log10l.m4: New file.
2054         * modules/log10l: New file.
2055         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
2056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
2057         HAVE_DECL_LOG10L.
2058         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
2059         HAVE_DECL_LOG10L.
2060         * doc/posix-functions/log10l.texi: Mention the new module.
2061
2062 2012-02-25  Bruno Haible  <bruno@clisp.org>
2063
2064         fmodl, remainder*: Avoid wrong results due to rounding errors.
2065         * lib/fmodl.c (fmodl): Correct the result if it is not within the
2066         expected bounds.
2067         * lib/remainderf.c (remainderf): Likewise.
2068         * lib/remainder.c (remainder): Likewise.
2069         * lib/remainderl.c (remainderl): Likewise.
2070
2071 2012-02-25  Bruno Haible  <bruno@clisp.org>
2072
2073         Tests for module 'remainderl'.
2074         * modules/remainderl-tests: New file.
2075         * tests/test-remainderl.c: New file.
2076         * tests/test-math-c++.cc: Check the declaration of remainderl.
2077
2078         New module 'remainderl'.
2079         * lib/math.in.h (remainderl): New declaration.
2080         * lib/remainderl.c: New file.
2081         * m4/remainderl.m4: New file.
2082         * modules/remainderl: New file.
2083         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
2084         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
2085         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
2086         HAVE_REMAINDERL.
2087         * doc/posix-functions/remainderl.texi: Mention the new module.
2088
2089 2012-02-25  Bruno Haible  <bruno@clisp.org>
2090
2091         Tests for module 'remainderf'.
2092         * modules/remainderf-tests: New file.
2093         * tests/test-remainderf.c: New file.
2094         * tests/test-math-c++.cc: Check the declaration of remainderf.
2095
2096         New module 'remainderf'.
2097         * lib/math.in.h (remainderf): New declaration.
2098         * lib/remainderf.c: New file.
2099         * m4/remainderf.m4: New file.
2100         * modules/remainderf: New file.
2101         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
2102         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
2103         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
2104         HAVE_REMAINDERF.
2105         * doc/posix-functions/remainderf.texi: Mention the new module.
2106
2107 2012-02-25  Bruno Haible  <bruno@clisp.org>
2108
2109         remainder: Support for MSVC.
2110         * lib/math.in.h (remainder): New declaration.
2111         * lib/remainder.c: New file.
2112         * m4/remainder.m4: New file.
2113         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
2114         (Depends-on): Add math, round, fma.
2115         (configure.ac): Use results of gl_FUNC_REMAINDER.
2116         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
2117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
2118         HAVE_DECL_REMAINDER.
2119         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
2120         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
2121         * tests/test-math-c++.cc: Check the declaration of remainder.
2122         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
2123         problems are fixed.
2124
2125 2012-02-25  Bruno Haible  <bruno@clisp.org>
2126
2127         Tests for module 'fmodl'.
2128         * modules/fmodl-tests: New file.
2129         * tests/test-fmodl.c: New file.
2130         * tests/test-math-c++.cc: Check the declaration of fmodl.
2131
2132         New module 'fmodl'.
2133         * lib/math.in.h (fmodl): New declaration.
2134         * lib/fmodl.c: New file.
2135         * m4/fmodl.m4: New file.
2136         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
2137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
2138         REPLACE_FMODL.
2139         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
2140         REPLACE_FMODL.
2141         * modules/fmodl: New file.
2142         * doc/posix-functions/fmodl.texi: Mention the new module.
2143
2144 2012-02-25  Bruno Haible  <bruno@clisp.org>
2145
2146         Tests for module 'modfl'.
2147         * modules/modfl-tests: New file.
2148         * tests/test-modfl.c: New file.
2149         * tests/test-math-c++.cc: Check the declaration of modfl.
2150
2151         New module 'modfl'.
2152         * lib/math.in.h (modfl): New declaration.
2153         * lib/modfl.c: New file.
2154         * m4/modfl.m4: New file.
2155         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
2156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
2157         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
2158         * modules/modfl: New file.
2159         * doc/posix-functions/modfl.texi: Mention the new module.
2160
2161 2012-02-25  Bruno Haible  <bruno@clisp.org>
2162
2163         Tests for module 'fabsl'.
2164         * modules/fabsl-tests: New file.
2165         * tests/test-fabsl.c: New file.
2166         * tests/test-math-c++.cc: Check the declaration of fabsl.
2167
2168         New module 'fabsl'.
2169         * lib/math.in.h (fabsl): New declaration.
2170         * lib/fabsl.c: New file.
2171         * m4/fabsl.m4: New file.
2172         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
2173         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
2174         REPLACE_FABSL.
2175         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
2176         REPLACE_FABSL.
2177         * modules/fabsl: New file.
2178         * doc/posix-functions/fabsl.texi: Mention the new module.
2179
2180 2012-02-25  Bruno Haible  <bruno@clisp.org>
2181
2182         fabs tests: More tests.
2183         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
2184         (zero): New variable.
2185         (main): Add tests for signed zero.
2186         * modules/fabs-tests (Files): Add tests/minus-zero.h.
2187
2188         fabsf tests: More tests.
2189         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
2190         (zero): New variable.
2191         (main): Add tests for signed zero.
2192         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
2193
2194 2012-02-24  Bruno Haible  <bruno@clisp.org>
2195
2196         atanl: Provide function definition on MSVC.
2197         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
2198         function pointer.
2199         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
2200
2201 2012-02-24  Bruno Haible  <bruno@clisp.org>
2202
2203         acosl: Provide function definition on MSVC.
2204         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
2205         function pointer.
2206         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
2207
2208 2012-02-24  Bruno Haible  <bruno@clisp.org>
2209
2210         asinl: Provide function definition on MSVC.
2211         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
2212         function pointer.
2213         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
2214
2215 2012-02-24  Bruno Haible  <bruno@clisp.org>
2216
2217         tanl: Provide function definition on MSVC.
2218         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
2219         function pointer.
2220         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
2221
2222 2012-02-24  Bruno Haible  <bruno@clisp.org>
2223
2224         cosl: Provide function definition on MSVC.
2225         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
2226         function pointer.
2227         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
2228
2229 2012-02-24  Bruno Haible  <bruno@clisp.org>
2230
2231         sinl: Provide function definition on MSVC.
2232         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
2233         function pointer.
2234         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
2235
2236 2012-02-24  Bruno Haible  <bruno@clisp.org>
2237
2238         logl: Provide function definition on MSVC.
2239         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
2240         function pointer.
2241         * lib/math.in.h (logl): Undefine if it does not exist as a function.
2242
2243 2012-02-24  Bruno Haible  <bruno@clisp.org>
2244
2245         expl: Provide function definition on MSVC.
2246         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
2247         function pointer.
2248         * lib/math.in.h (expl): Undefine if it does not exist as a function.
2249
2250 2012-02-24  Bruno Haible  <bruno@clisp.org>
2251
2252         sqrtl: Provide function definition on MSVC.
2253         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
2254         a function pointer.
2255         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
2256
2257 2012-02-24  Bruno Haible  <bruno@clisp.org>
2258
2259         ceill: Provide function definition on MSVC.
2260         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
2261         used as a function pointer.
2262         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
2263
2264 2012-02-24  Bruno Haible  <bruno@clisp.org>
2265
2266         floorl: Provide function definition on MSVC.
2267         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
2268         used as a function pointer.
2269         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
2270
2271 2012-02-24  Bruno Haible  <bruno@clisp.org>
2272
2273         ceilf: Provide function definition on MSVC.
2274         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
2275         used as a function pointer.
2276         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
2277
2278 2012-02-24  Bruno Haible  <bruno@clisp.org>
2279
2280         floorf: Provide function definition on MSVC.
2281         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
2282         used as a function pointer.
2283         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
2284
2285 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2286
2287         stdnoreturn: new module
2288         This implements a replacement for C11's <stdnoreturn.h>.
2289         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
2290         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
2291         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
2292         * tests/test-stdnoreturn.c: New files.
2293
2294 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
2295
2296         regex: fix false multibyte matches in some regular expressions
2297         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
2298         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
2299         * lib/regex_internal.c (re_string_skip_chars):
2300         Fix miscomputation of remain_len that may cause incomplete
2301         multi-byte character and false match.
2302
2303 2012-02-24  Jim Meyering  <meyering@redhat.com>
2304
2305         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
2306         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
2307         uses with "==" *before* the call, e.g., 0 == strcmp (...)
2308         Remove now-unnecessary str''cmp obfuscation.
2309         Suggested by Akim Demaille.
2310
2311 2012-02-24  Bruno Haible  <bruno@clisp.org>
2312
2313         streq: Rename macro.
2314         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
2315         * NEWS: Mention the change.
2316         * lib/mbrtowc.c (mbrtowc): Update.
2317         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
2318         * lib/wcwidth.c (wcwidth): Update.
2319         Suggested by Akim Demaille and Jim Meyering.
2320
2321 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
2322
2323         regex: fix typo in definition of MIN
2324         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
2325         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
2326
2327 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2328             Bruno Haible  <bruno@clisp.org>
2329
2330         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
2331         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
2332         entries into a stack-allocated buffer directly.
2333         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
2334
2335 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
2336             Bruno Haible  <bruno@clisp.org>
2337
2338         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
2339
2340          - There were several instances of this pattern:
2341
2342              for (;;) {
2343                n = acl (f, GETACLCNT, 0, NULL);
2344                [ allocate an array A of size N ]
2345                if (acl (f, GETACL, n, a) == n)
2346                  break;
2347              }
2348
2349            This loop might never terminate if some other process is constantly
2350            manipulating the file's ACL.  The loop should be rewritten to
2351            terminate.
2352
2353          - The acl (... GETACLNT ...) call is merely an optimization; its value
2354            is merely a hint as to how big to make the array.  A better
2355            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
2356            and just guess a reasonably-big size, growing the size and trying
2357            again if it's not large enough.  This guarantees termination, and
2358            saves a system call.
2359
2360         * lib/acl-internal.h: Include <limits.h>.
2361         (MIN, SIZE_MAX): New macros.
2362         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
2363         a stack-allocated buffer, and use malloc if it does not fit. Don't
2364         use GETACLCNT.
2365         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2366
2367 2012-02-19  Bruno Haible  <bruno@clisp.org>
2368
2369         acl: Fix endless loop on Solaris with vxfs.
2370         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
2371         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
2372         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
2373         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
2374         * tests/test-sameacls.c (main)[Solaris]: Likewise.
2375         Reported by Bill Jones in
2376         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
2377
2378 2012-02-19  Bruno Haible  <bruno@clisp.org>
2379
2380         acl: Fix copy-acl test failure on Solaris 11 2011-11.
2381         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
2382         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
2383         that this function returns 0 in some more cases.
2384
2385 2012-02-19  Bruno Haible  <bruno@clisp.org>
2386
2387         acl: Update doc references.
2388         * doc/acl-resources.txt: Update links to Solaris documentation.
2389
2390 2012-02-19  Bruno Haible  <bruno@clisp.org>
2391
2392         Fix test failure in many locales on Solaris 11.
2393         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
2394         'tr' arguments.
2395         * tests/test-pipe-filter-ii1.c (main): Likewise.
2396         * build-aux/bootstrap (check_versions): Run 'tr' command with range
2397         expressions in the C locale.
2398         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2399         * m4/host-os.m4 (gl_HOST_OS): Likewise.
2400
2401 2012-02-19  Bruno Haible  <bruno@clisp.org>
2402
2403         gnulib-tool: Improve usage message.
2404         * gnulib-tool (func_usage): Move doc of --help and --version to the
2405         section "Operation modes".
2406
2407 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
2408
2409         README-release: make it easier to execute commands
2410         * top/README-release: break commands out on to separate lines.
2411
2412 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
2413
2414         GNUmakefile: simplify detection of unconfigured trees
2415         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
2416         whether the tree make is being run from is already configured or
2417         not.  Related simplifications.
2418
2419 2012-02-13  Simon Josefsson  <simon@josefsson.org>
2420
2421         * gnulib-tool (func_usage): Document --help and --version.
2422
2423 2012-02-11  Jim Meyering  <meyering@redhat.com>
2424
2425         bootstrap: don't exit 0 upon gnulib-tool failure
2426         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
2427         its exit status, not 0.
2428
2429 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
2430
2431         README-release: various improvements
2432         * top/README-release: Give a command to push changes for the
2433         release.  Add "distcheck" to list of other pre-release checks.
2434         Fix instance of "make stable" which should be "make TYPE".
2435
2436 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
2437
2438         maint: replace FSF snail-mail addresses with URLs
2439         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
2440         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2441         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2442         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2443         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2444         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2445         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2446         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2447         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2448         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2449         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2450         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2451         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2452         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2453         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2454         * lib/glthread/thread.c, lib/glthread/thread.h:
2455         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2456         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2457         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2458         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2459         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2460         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2461         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2462         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2463         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2464         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2465         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2466         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2467         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2468         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2469         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2470         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2471         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2472         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2473         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2474         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2475         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2476         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2477         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2478         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2479         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2480         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2481         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2482         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2483         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2484         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2485         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2486         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2487         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2488         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2489         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2490         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2491         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2492         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2493         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2494         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2495         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2496         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2497         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2498         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2499         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2500         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2501         * tests/test-poll.c, tests/test-quotearg-simple.c:
2502         * tests/test-quotearg.c, tests/test-quotearg.h:
2503         * tests/test-round-ieee.c, tests/test-round1.c:
2504         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2505         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2506         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2507         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2508         * tests/test-strerror.c, tests/test-strerror_r.c:
2509         * tests/test-strsignal.c, tests/test-strverscmp.c:
2510         * tests/test-xmemdup0.c:
2511         Replace FSF snail mail addresses with URLs, as per GNU coding
2512         standards.  See glibc bug
2513         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2514
2515 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2516
2517         README-release: capitalize a word and split a line
2518         * top/README-release: Fix punctuation and spacing.
2519
2520 2012-02-08  Akim Demaille  <demaille@gostai.com>
2521
2522         fatal-signal: use C prototypes (with explicit void).
2523         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2524         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2525
2526 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2527
2528         regex: spelling fix
2529         * lib/regexec.c: spelling fix
2530
2531         regex: rely on stdint.h for SIZE_MAX
2532         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2533
2534 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2535
2536         regex: merge glibc changes
2537
2538         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2539         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2540         (init_word_char): Work even if bitset words are not exactly 32 or
2541         64 bits wide.  Don't assume there are no padding bits.
2542         * lib/regex.c [_LIBC]: Do not include <config.h>.
2543         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2544         and -Wtype-limits.
2545         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2546         needless disagreement with glibc.  All uses changed.  Define it to
2547         1 only if _GNU_SOURCE, to match glibc.
2548         (_REG_RM_NAME): Remove; no longer needed, since the names in
2549         question are now all protected by __USE_GNU.
2550         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2551         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2552         * lib/regex_internal.h (MIN): New macro.
2553
2554         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2555         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2556
2557         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2558         * lib/regex_internal.c (re_string_fetch_byte_case):
2559         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2560         is miscompiled, and it turns out it is because of an incorrect
2561         attribute on re_string_fetch_byte_case.  Unlike
2562         re_string_peek_byte_case, this one is really not pure, it modifies
2563         memory (increments pstr->cur_idx), and with the pure attribute GCC
2564         assumed it doesn't and it cached the presumed value of
2565         regexp->cur_idx in a variable across the
2566          for (;; ++i)
2567            {
2568              if (i >= BRACKET_NAME_BUF_SIZE)
2569                return REG_EBRACK;
2570              if (token->type == OP_OPEN_CHAR_CLASS)
2571                ch = re_string_fetch_byte_case (regexp);
2572              else
2573                ch = re_string_fetch_byte (regexp);
2574              if (re_string_eoi(regexp))
2575                return REG_EBRACK;
2576              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2577                break;
2578              elem->opr.name[i] = ch;
2579            }
2580
2581         2011-11-29 Andreas Schwab <schwab@redhat.com>
2582         * lib/regcomp.c (build_equiv_class):
2583         Fix access after end of search string in regex matcher.
2584
2585         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2586         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2587
2588         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2589         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2590
2591         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2592         * lib/regcomp.c (parse_branch, parse_sub_exp):
2593         More regex memory leak fixes and tests.
2594         (parse_sub_exp, parse_bracket_exp):
2595         Fix memory leak for some invalid regular expressions.
2596
2597         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2598         * lib/regex_internal.c, lib/regexec.c:
2599         Fix unnecessary overallocation due to incomplete character.  When
2600         incomplete characters are found at the end of a string the code
2601         ran amok and allocated lots of memory.  Stricter limits are now in
2602         place.
2603
2604         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2605         * lib/regex.h: Update documentation.
2606
2607         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2608         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2609
2610         2010-05-05 Andreas Schwab <schwab@redhat.com>
2611         * lib/regexec.c (find_collation_sequence_value):
2612         Fix lookup of collation sequence value during regexp matching.
2613
2614         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2615         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2616
2617         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2618         * lib/regex.h: Cleanup namespace.
2619
2620         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2621         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2622
2623         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2624         * lib/regex_internal.h: Prevent some declarations and definitions
2625         to be seen when used in tests.
2626
2627         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2628         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2629         __libc_lock_* macros if not _LIBC.
2630         (struct re_dfa_t): Add lock.
2631
2632 2012-02-07  Eric Blake  <eblake@redhat.com>
2633
2634         maint.mk: also prohibit lower-case @var@
2635         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2636         lower case, like @top_srcdir@.
2637
2638 2012-02-04  Eric Blake  <eblake@redhat.com>
2639
2640         canonicalize: avoid uninitialized memory use
2641         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2642         random '/' left in dest.
2643         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2644
2645 2012-02-04  Bruno Haible  <bruno@clisp.org>
2646
2647         isatty: Fix test failure of ptsname_r on native Windows.
2648         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2649         and don't set errno.
2650         (isatty): Test first whether fd is valid. Set errno when returning 0.
2651
2652 2012-02-04  Bruno Haible  <bruno@clisp.org>
2653
2654         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2655         * tests/test-spawn-pipe-main.c: Include progname.h.
2656         (main): Invoke set_program_name.
2657         * modules/spawn-pipe-tests (Depends-on): Add progname.
2658
2659         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2660         * tests/test-nonblocking-socket-main.c: Include progname.h.
2661         (main): Invoke set_program_name.
2662         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2663
2664         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2665         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2666         (main): Invoke set_program_name.
2667         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2668
2669 2012-02-04  Eric Blake  <eblake@redhat.com>
2670
2671         canonicalize-lgpl: fix // handling
2672         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2673
2674         canonicalize: fix // handling
2675         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2676         /// to //, since only // is special.
2677
2678 2012-02-04  Bruno Haible  <bruno@clisp.org>
2679
2680         ioctl: Fix test failure on native Windows.
2681         * lib/ioctl.c: Include msvc-nothrow.h.
2682         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2683
2684 2012-02-04  Bruno Haible  <bruno@clisp.org>
2685
2686         fsync: Avoid test failure on native Windows.
2687         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2688         read-only.
2689
2690 2012-02-04  Bruno Haible  <bruno@clisp.org>
2691
2692         sys_select: Avoid syntax error on OpenBSD 5.0.
2693         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2694         currently being included, just include the system's <sys/select.h>.
2695
2696 2012-02-04  Bruno Haible  <bruno@clisp.org>
2697
2698         sys_select: Avoid syntax error on OpenBSD 5.0.
2699         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2700         <sys/select.h>, not before.
2701         Reported by Jiri B <jirib@devio.us>.
2702
2703 2012-02-04  Bruno Haible  <bruno@clisp.org>
2704
2705         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2706         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2707         global variables.
2708         * tests/test-get-rusage-data.c (main): Likewise.
2709         Reported by Jim Meyering.
2710
2711 2012-02-04  Bruno Haible  <bruno@clisp.org>
2712
2713         stdioext: Fix last commit.
2714         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2715
2716 2012-02-03  Bruno Haible  <bruno@clisp.org>
2717
2718         stdioext: Add tentative support for Plan9.
2719         * lib/stdio-impl.h: Include <errno.h>.
2720         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2721         * lib/freadable.c (freadable): Likewise.
2722         * lib/fwritable.c (fwritable): Likewise.
2723         * lib/fbufmode.c (fbufmode): Likewise.
2724         * lib/freading.c (freading): Likewise.
2725         * lib/fwriting.c (fwriting): Likewise.
2726         * lib/freadptr.c (freadptr): Likewise.
2727         * lib/freadseek.c (freadptrinc): Likewise.
2728         * lib/freadahead.c (freadahead): Likewise.
2729         * lib/fpurge.c (fpurge): Likewise.
2730         * lib/fseeko.c (rpl_fseeko): Likewise.
2731         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2732         Reported by Jens Staal <staal1978@gmail.com>.
2733
2734 2012-02-02  Jim Meyering  <meyering@redhat.com>
2735
2736         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2737         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2738         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2739         not even to try to add the attribute.  Instead, add a pragma to suppress
2740         the suggestion/warning.
2741
2742 2012-01-31  Karl Berry  <karl@gnu.org>
2743
2744         setstate doc: typo.
2745         * doc/posix-functions/setstate.texi (setstate): { not (.
2746
2747 2012-01-31  Bruno Haible  <bruno@clisp.org>
2748
2749         popen: Make more robust on Windows.
2750         * lib/popen.c: On native Windows, use the _popen based code even if
2751         HAVE_POPEN is set.
2752         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2753         environment variable on native Windows.
2754
2755 2012-01-30  Bruno Haible  <bruno@clisp.org>
2756
2757         pclose: Fix typo.
2758         * lib/stdio.in.h (pclose): Fix typo in warning message.
2759
2760 2012-01-30  Bruno Haible  <bruno@clisp.org>
2761
2762         doc about getlogin_r, setstate.
2763         * doc/posix-functions/getlogin_r.texi: List the incompatible
2764         declaration problem under "not fixed by gnulib".
2765         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2766         problem on Solaris 11 and other platforms.
2767
2768 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2769             Bruno Haible  <bruno@clisp.org>
2770
2771         poll tests: Make test more robust.
2772         * tests/test-poll.c: Include macros.h.
2773         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2774         return value of various I/O operations.
2775         * modules/poll-tests (Files): Add tests/macros.h.
2776
2777 2012-01-30  Bruno Haible  <bruno@clisp.org>
2778
2779         sys_stat: Fix support for mingw64 and MSVC.
2780         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2781         header files already do it.
2782         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2783         stat itself.
2784         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2785
2786 2012-01-30  Bruno Haible  <bruno@clisp.org>
2787
2788         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2789         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2790         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2791
2792 2012-01-29  Bruno Haible  <bruno@clisp.org>
2793
2794         quotearg: Fix test failure on MacOS X 10.5.
2795         * tests/test-quotearg-simple.c: Include localcharset.h.
2796         (main): If the locale encoding is not ASCII, bypass the tests of
2797         locale_quoting_style and clocale_quoting_style.
2798         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2799
2800 2012-01-29  Jim Meyering  <meyering@redhat.com>
2801
2802         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2803         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2804         detect uses of canonicalize_file_name.
2805
2806 2012-01-28  Bruno Haible  <bruno@clisp.org>
2807
2808         test-framework-sh: Fix test failure with AIX 7.1 diff.
2809         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2810         in column 1, like 'diff -c' does.
2811         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2812         whether 'diff -u' is used. Instead, test whether the output contains
2813         some '@' character.
2814
2815 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2816
2817         strtoimax: eliminate need for stdint.h, inttypes.h checks
2818         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2819         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2820         the prerequisites for a recently-introduced strtoimax test.
2821         I guess this might cause strtoimax to be replaced when not
2822         strictly necessary on older hosts, but this shouldn't introduce
2823         any bugs and it should make Emacs 'configure' faster on typical
2824         modern hosts.  Problem discovered when importing the latest gnulib
2825         to an Emacs test version.
2826         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2827
2828 2012-01-28  Bruno Haible  <bruno@clisp.org>
2829
2830         sys_time: Override 'struct timeval' on some native Windows platforms.
2831         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2832         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2833         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2834         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2835         needs to be overridden.
2836         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2837         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2838         * tests/test-sys_select.c: Check that the tv_sec member has the same
2839         size as a 'time_t'.
2840         * tests/test-sys_time.c: Likewise.
2841         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2842         is set, set also REPLACE_GETTIMEOFDAY.
2843         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2844         convert the resulting 'struct timeval' before returning.
2845         * lib/select.c: Include <sys/time.h>.
2846         (select, timeval): Undefine at the right place.
2847         * modules/select (Depends-on): Add sys_time.
2848         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2849         some Windows platforms.
2850         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2851
2852 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2853
2854         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2855         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2856         an integer.
2857         * lib/fcntl.c (dupfd): Likewise.
2858         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2859
2860 2012-01-28  Bruno Haible  <bruno@clisp.org>
2861
2862         fcntl: Avoid compilation error on native Windows.
2863         * modules/fcntl (Depends-on): Add 'close'.
2864
2865 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2866
2867         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2868         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2869         pointer to an integer.
2870         * lib/poll.c (IsConsoleHandle): Likewise.
2871         * lib/isatty.c (IsConsoleHandle): Likewise.
2872
2873 2012-01-28  Jim Meyering  <meyering@redhat.com>
2874
2875         doc: clarify README-release
2876         * top/README-release: Clarify: you should make a point to have
2877         the latest stable versions of build tools in your PATH, and the
2878         reference to buildreq is solely for its list of tool names, not
2879         for its minimal-functional version numbers.
2880         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2881
2882         maint.mk: use more readable (yet functionally equivalent) quoting
2883         It is common to quote a single quote in a single quoted string like
2884         this:  '...'\''...'.  Unless you know the idiom, that looks like
2885         gibberish, so prefer to double-quote the string when possible.
2886         Then you can use a more readable, lone single quote: "...'..."
2887         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2888         "don't" is more readable than the equivalent 'don'\''t'.
2889         (sc_cast_of_x_alloc_return_value): Likewise.
2890         (sc_cast_of_alloca_return_value): Likewise.
2891         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2892         rather than '\'':'\''.
2893
2894 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2895
2896         stdalign: relax _Alignof and tighten _Alignas test
2897         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2898         as it was too strict: alignof must divide offsetof, but it need
2899         not equal offsetof.  Inspired by Joseph S. Myers's comment
2900         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2901         Conversely, tighten the _Alignas test a bit, as the resulting
2902         alignment must be exactly 8.
2903
2904 2012-01-27  Bruno Haible  <bruno@clisp.org>
2905
2906         stdalign: Document the last change.
2907         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2908
2909 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2910
2911         stdalign: check that alignof and offsetof are consistent
2912         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2913         Problem reported for gnulib by Richard W.M. Jones in
2914         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2915
2916 2012-01-27  Jim Meyering  <meyering@redhat.com>
2917
2918         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2919         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2920         convert a sequence with gaps to the minimal containing range.
2921         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2922         * tests/test-update-copyright.sh: Test for this.
2923         The FSF confirmed it is ok to do this, assuming there is at
2924         least one significant change per year in the affected range:
2925         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2926
2927 2012-01-26  Bruno Haible  <bruno@clisp.org>
2928
2929         pipe2: refine doc about thread-safety
2930         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2931         multithread-safety problem.
2932         * doc/glibc-functions/accept4.texi: Likewise.
2933
2934 2012-01-26  Bruno Haible  <bruno@clisp.org>
2935
2936         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2937         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2938         In the test program, include <fcntl.h>, for O_RDONLY.
2939
2940 2012-01-26  Eric Blake  <eblake@redhat.com>
2941
2942         pipe2: document lack of thread-safety in replacement
2943         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2944         issue in replacement.
2945         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2946         Based on a report by Eric Wong.
2947
2948 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2949             Bruno Haible  <bruno@clisp.org>
2950
2951         malloca: Avoid warnings on x86_64 mingw64.
2952         * lib/malloca.c: Include <stdint.h>.
2953         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2954         * modules/malloca (Depends-on): Add stdint.
2955         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2956
2957 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2958
2959         obstack: remove __STDC__ conditionals
2960         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2961         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2962         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2963         m4/include_next.m4 as the only gnulib-maintained places that still
2964         refer to __STDC__.
2965
2966 2012-01-24  Bruno Haible  <bruno@clisp.org>
2967
2968         havelib: Modern quoting.
2969         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2970         the recent change to the GNU coding standards.
2971
2972 2012-01-24  Bruno Haible  <bruno@clisp.org>
2973
2974         stdint: Improve support for Android.
2975         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2976         Reported by Simon Josefsson <simon@josefsson.org>.
2977
2978 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2979
2980         doc: omit trailing empty lines from INSTALL etc.
2981         * doc/Makefile (INSTALL): Omit trailing empty lines.
2982         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2983         omit trailing empty lines.  This simplifies the build procedure.
2984
2985 2012-01-23  Jim Meyering  <meyering@redhat.com>
2986
2987         tests: avoid spurious warnings about gl_sockets_startup
2988         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2989         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2990         reporting a "statement with no effect".
2991         * tests/test-accept.c (main): Mark as "(void)".
2992         * tests/test-accept4.c (main): Likewise.
2993         * tests/test-bind.c (main): Likewise.
2994         * tests/test-connect.c (main): Likewise.
2995         * tests/test-getpeername.c (main): Likewise.
2996         * tests/test-getsockname.c (main): Likewise.
2997         * tests/test-getsockopt.c (main): Likewise.
2998         * tests/test-listen.c (main): Likewise.
2999         * tests/test-recv.c (main): Likewise.
3000         * tests/test-recvfrom.c (main): Likewise.
3001         * tests/test-send.c (main): Likewise.
3002         * tests/test-sendto.c (main): Likewise.
3003         * tests/test-setsockopt.c (main): Likewise.
3004         * tests/test-shutdown.c (main): Likewise.
3005
3006 2012-01-21  Bruno Haible  <bruno@clisp.org>
3007
3008         locale-fr.m4: Fix for Android.
3009         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
3010         failure of the test program on Bionic libc.
3011
3012 2012-01-21  Jim Meyering  <meyering@redhat.com>
3013
3014         bootstrap: fail when bootstrap_post_import_hook fails
3015         Otherwise, it's far too easy to miss diagnostics emitted
3016         between gnulib-tool's output and that of running configure.
3017         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
3018
3019 2012-01-17  Jim Meyering  <meyering@redhat.com>
3020
3021         maint: enable sc_trailing_blank
3022         * build-aux/pmccabe.css: Remove trailing blanks.
3023         * doc/acl-cygwin.txt: Likewise.
3024         * doc/gnu-oids.texi: Likewise
3025         * cfg.mk: Enable sc_trailing_blank.
3026         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
3027
3028 2012-01-17  Jim Meyering  <meyering@redhat.com>
3029
3030         maint: enable sc_prohibit_openat_without_use
3031         * cfg.mk: Enable sc_prohibit_openat_without_use.
3032         Exempt lib/selinux-at.c.
3033
3034 2012-01-17  Jim Meyering  <meyering@redhat.com>
3035
3036         maint: enable sc_prohibit_cloexec_without_use
3037         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
3038         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
3039
3040 2012-01-17  Jim Meyering  <meyering@redhat.com>
3041
3042         maint: enable sc_prohibit_intprops_without_use
3043         * cfg.mk: Enable sc_prohibit_intprops_without_use
3044         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
3045
3046 2012-01-17  Jim Meyering  <meyering@redhat.com>
3047
3048         maint: enable sc_prohibit_hash_pjw_without_use
3049         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
3050         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
3051         to match any use of \<hash_pjw\>, i.e., not necessarily with a
3052         following " (".
3053
3054 2012-01-17  Jim Meyering  <meyering@redhat.com>
3055
3056         maint: enable double-word-prohibiting rule
3057         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
3058         Exempt three files.
3059
3060 2012-01-17  Jim Meyering  <meyering@redhat.com>
3061
3062         maint: remove empty lines at EOF, but excluding modules/*
3063         Apply syntax rules at home as well as abroad.  Most changes
3064         were induced by running this:
3065           make srcdir=. _build-aux=build-aux -f top/maint.mk \
3066             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
3067             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
3068         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
3069         Exempt modules/* and two binary files.
3070         Also exempt doc/INSTALL*, per request from Bruno Haible.
3071         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
3072         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
3073         * doc/Copyright/request-assign.future: Likewise.
3074         * doc/Copyright/request-disclaim.changes: Likewise.
3075         * doc/INSTALL: Likewise.
3076         * doc/INSTALL.ISO: Likewise.
3077         * doc/INSTALL.UTF-8: Likewise.
3078         * doc/acl-cygwin.txt: Likewise.
3079         * doc/acl-resources.txt: Likewise.
3080         * doc/fdl-1.2.texi: Likewise.
3081         * doc/fdl-1.3.texi: Likewise.
3082         * doc/fdl.texi: Likewise.
3083         * lib/argp-pin.c: Likewise.
3084         * lib/round.c: Likewise.
3085         * lib/unicase/u16-totitle.c: Likewise.
3086         * lib/unictype/block_test.c: Likewise.
3087         * lib/uninorm/canonical-decomposition.c: Likewise.
3088         * m4/README: Likewise.
3089         * m4/relocatable-lib.m4: Likewise.
3090         * tests/test-isnand-nolibm.c: Likewise.
3091         * tests/test-isnand.c: Likewise.
3092         * tests/uninorm/NormalizationTest.txt: Likewise.
3093
3094 2012-01-17  Jim Meyering  <meyering@redhat.com>
3095
3096         maint: add framework to run syntax-check rules against gnulib sources
3097         * cfg.mk: New file, to disable all currently-failing tests.
3098         We'll enable them one by one, as they are made to pass.
3099         * Makefile (sc_maint): New rule.
3100
3101 2012-01-21  Bruno Haible  <bruno@clisp.org>
3102
3103         stdint: Add support for Android.
3104         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
3105         include the system's <stdint.h>.
3106         Reported by Simon Josefsson <simon@josefsson.org>.
3107
3108 2012-01-19  Jim Meyering  <meyering@redhat.com>
3109
3110         bootstrap: add bootstrap_post_import_hook
3111         Bison does still need something like the gnulib_mk_hook whose
3112         invocation I had to remove along with slurp in commit 767ccd40.
3113         Technically, we could get along without it, but doing so would
3114         have required living with a warning and a mandatory post-bootstrap
3115         automake rerun.
3116         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
3117         (bootstrap_post_import_hook): New function.
3118         Invoke it after gnulib-tool --import and before autoreconf.
3119
3120 2012-01-18  Jim Meyering  <meyering@redhat.com>
3121
3122         gitlog-to-changelog: don't use "no_"-prefixed variable name
3123         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
3124         to enable both --cluster and --no-cluster.  Change variable name,
3125         s/\$no_cluster/$cluster/, and reverse usage to match.
3126
3127         gitlog-to-changelog: use "||", not "or" in expressions
3128         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
3129         expressions.
3130
3131 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
3132
3133         gitlog-to-changelog: new option --no-cluster
3134         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
3135         clustering of adjacent commit messages.
3136
3137 2012-01-17  Jim Meyering  <meyering@redhat.com>
3138
3139         maint: spell file systems with two words, not one
3140         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
3141         two words, not one.
3142
3143 2012-01-16  Jim Meyering  <meyering@redhat.com>
3144
3145         bootstrap: add a FIXME comment to ensure we eventually remove the hack
3146         * build-aux/bootstrap (gnulib_tool_options): Add comment.
3147
3148 2012-01-16  Eric Blake  <eblake@redhat.com>
3149
3150         bootstrap: cater to autoconf 2.59
3151         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
3152         is not available.
3153
3154         bootstrap: properly check for libtool
3155         * build-aux/bootstrap (libtoolize): Also run libtool when older
3156         usage is detected.
3157
3158 2012-01-15  Bruno Haible  <bruno@clisp.org>
3159
3160         Improve support for MSVC 9.
3161         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
3162         clashes on MSVC.
3163         * lib/fcntl.in.h: Likewise.
3164         * lib/stdlib.in.h: Likewise.
3165         * lib/sys_stat.in.h: Likewise.
3166
3167 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
3168
3169         gnupload: we hold the master copy of this script now
3170         For motivation and more information, see:
3171         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
3172         * build-aux/gnupload: Make it clear in the heading comments that the
3173         master copy of this file is maintained by gnulib.  Since we are at
3174         it, bump its copyright year and ...
3175         ($scriptversion): ... the date in its version.
3176         ($usage): Patches and bug reports should be sent to the gnulib list,
3177         not the automake one.
3178         * config/srclist.txt: Don't try to sync 'gnupload' from automake
3179         anymore.
3180
3181 2012-01-15  Bruno Haible  <bruno@clisp.org>
3182
3183         Fix module 'random'.
3184         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
3185         initstate, setstate are declared.
3186
3187 2012-01-14  Bruno Haible  <bruno@clisp.org>
3188
3189         Tests for module 'random'.
3190         * modules/random-tests: New file.
3191         * tests/test-random.c: New file, based on tests/test-random_r.c.
3192
3193         New module 'random'.
3194         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
3195         declarations.
3196         * lib/random.c: New file, based on glibc/stdlib/random.c.
3197         * m4/random.m4: New file.
3198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
3199         HAVE_RANDOM.
3200         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
3201         * modules/random: New file.
3202         * config/srclist.txt: Add an entry for random.c.
3203         * doc/posix-functions/random.texi: Mention the 'random' module.
3204         * doc/posix-functions/initstate.texi: Likewise.
3205         * doc/posix-functions/setstate.texi: Likewise.
3206         * doc/posix-functions/srandom.texi: Likewise.
3207
3208 2012-01-12  Bruno Haible  <bruno@clisp.org>
3209
3210         random_r: Use common idioms.
3211         * lib/random_r.c: Include <stdlib.h> first.
3212
3213         random_r: Override incompatible API on AIX, OSF/1.
3214         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
3215         Override the system function if REPLACE_RANDOM_R is 1.
3216         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
3217         and OSF/1, set REPLACE_RANDOM_R.
3218         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
3219         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
3220         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
3221         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
3222         * doc/glibc-functions/random_r.texi: Likewise.
3223         * doc/glibc-functions/setstate_r.texi: Likewise.
3224
3225         random_r: Support for MSVC 9.
3226         * lib/random_r.c: Include stdint.h, not inttypes.h.
3227
3228 2012-01-12  Eric Blake  <eblake@redhat.com>
3229
3230         inet_ntop: guard extra work by IF_LINT
3231         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
3232         better code generation when not checking for warnings.
3233         Suggested by Paul Eggert and Jim Meyering.
3234
3235         strptime: fix regression on mingw
3236         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
3237         Fix regression.  Reported by Bruno Haible.
3238
3239 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
3240             Bruno Haible  <bruno@clisp.org>
3241
3242         copy-file: add error-code-returning variant.
3243         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
3244         (qcopy_file_preserving): New declaration.
3245         * lib/copy-file.c (qcopy_file_preserving): Renamed from
3246         copy_file_preserving. Change return type to 'int'. Don't emit an error
3247         message here.
3248         (copy_file_preserving): New function.
3249         * tests/test-copy-file.c: Include <stdlib.h>.
3250         (main): Test qcopy_file_preserving if the environment variable
3251         NO_STDERR_OUTPUT is set.
3252         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
3253         with NO_STDERR_OUTPUT
3254         * tests/test-copy-file-2.sh: Likewise.
3255
3256 2012-01-10  Bruno Haible  <bruno@clisp.org>
3257
3258         copy-file: Use 'quote' module consistently.
3259         * lib/copy-file.c (copy_file_preserving): Use quote().
3260
3261         copy-file: Refactor.
3262         * lib/copy-file.c: Include quote.h.
3263         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
3264         message here.
3265         * modules/copy-file (Depends-on): Add quote.
3266
3267         acl: Export qcopy_acl.
3268         * lib/acl.h (qcopy_acl): New declaration.
3269         * lib/copy-acl.c (qcopy_acl): Make non-static.
3270
3271         acl: Rename a local variable.
3272         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
3273
3274         acl: Align return values of copy_acl and qcopy_acl.
3275         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
3276         maybe < -1.
3277
3278 2012-01-11  Eric Blake  <eblake@redhat.com>
3279
3280         strptime: silence gcc warnings
3281         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
3282         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
3283         Reported by Daniel P. Berrange.
3284
3285         inet_ntop: silence gcc warning
3286         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
3287         Reported by Daniel P. Berrange.
3288
3289 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
3290
3291         getloadavg test: skip the test on GNU/Linux without /proc mounted
3292         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
3293         file.  When /proc is not mounted, it always fails with ENOENT.
3294         * tests/test-getloadavg.c (main): Treat ENOENT return code from
3295         getloadavg(3) the same way as ENOSYS and ENOTSUP.
3296
3297 2012-01-10  Bruno Haible  <bruno@clisp.org>
3298
3299         regex: Avoid link error on MSVC 9.
3300         * modules/regex (Depends-on): Add wctype.
3301
3302 2012-01-10  Bruno Haible  <bruno@clisp.org>
3303
3304         doc: Mention --with-tests option.
3305         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
3306         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
3307         --with-tests.
3308         Reported by Reuben Thomas.
3309
3310 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
3311
3312         users.txt: order package names lexicographically.
3313         * users.txt: Order package names lexicographically.
3314
3315 2012-01-10  Jim Meyering  <meyering@redhat.com>
3316
3317         maint.mk: fix description in comment
3318         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
3319
3320         ignore-value: remove deprecated ignore_ptr function
3321         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
3322         * NEWS: Note this.
3323
3324 2012-01-09  Jim Meyering  <meyering@redhat.com>
3325
3326         test-init.sh: avoid a subshell
3327         * tests/test-init.sh: Remove protective subshell.
3328         Suggested by Bernhard Voelker.  While a subshell is normally
3329         required to protect against older shells (Solaris, FreeBSD) that
3330         warn about a missing program before performing redirection, the
3331         shell-selection tests performed by init.sh probably exclude any
3332         offending shell.
3333
3334 2012-01-08  Bruno Haible  <bruno@clisp.org>
3335
3336         setlocale tests: Avoid test failure on Solaris 11 2011-11.
3337         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
3338         variable.
3339
3340 2012-01-08  Bruno Haible  <bruno@clisp.org>
3341
3342         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
3343         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3344         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3345         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
3346         macro.
3347         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
3348         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3349         * lib/spawn_faction_addopen.c: Add workaround implementation if
3350         HAVE_WORKING_POSIX_SPAWN.
3351         * modules/spawn (Makefile): Substitute
3352         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
3353         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
3354         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
3355         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
3356         (Depends-on): Update conditions.
3357         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
3358         the Solaris 11 bug.
3359
3360 2012-01-08  Bruno Haible  <bruno@clisp.org>
3361
3362         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
3363         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3364         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3365         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
3366         macro.
3367         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
3368         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3369         * lib/spawn_faction_adddup2.c: Add workaround implementation if
3370         HAVE_WORKING_POSIX_SPAWN.
3371         * modules/spawn (Makefile): Substitute
3372         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
3373         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
3374         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
3375         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
3376         (Depends-on): Update conditions.
3377         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
3378         the Solaris 11 bug.
3379
3380 2012-01-08  Bruno Haible  <bruno@clisp.org>
3381
3382         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
3383         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
3384         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3385         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
3386         HAVE_WORKING_POSIX_SPAWN.
3387         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
3388         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
3389         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3390         * lib/spawn_faction_addclose.c: Add workaround implementation if
3391         HAVE_WORKING_POSIX_SPAWN.
3392         * modules/spawn (Makefile): Substitute
3393         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
3394         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
3395         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
3396         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
3397         (Depends-on): Update conditions.
3398         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
3399         the Solaris 11 bug.
3400
3401 2012-01-08  Bruno Haible  <bruno@clisp.org>
3402
3403         doc: Update for Solaris 11 2011-11.
3404         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
3405         * m4/printf.m4: Update comments.
3406
3407 2012-01-08  Bruno Haible  <bruno@clisp.org>
3408
3409         mktime: Avoid compilation error on Solaris 11.
3410         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
3411
3412 2012-01-08  Bruno Haible  <bruno@clisp.org>
3413
3414         doc: Small fix.
3415         * doc/posix-headers/nl_types.texi: Correct platforms list.
3416
3417 2012-01-08  Simon Josefsson  <simon@josefsson.org>
3418
3419         Add lgpl-3.0 module.
3420         * MODULES.html.sh (Support for building documentation): Add
3421         lgpl-3.0.
3422         * modules/lgpl-3.0: New file.
3423
3424 2012-01-08  Jim Meyering  <meyering@redhat.com>
3425
3426         select.c: indent with spaces, not TABs
3427         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
3428
3429 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3430
3431         quotearg: do not use grave accent for left quote
3432         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
3433         locale_quoting_style.
3434         (quotearg_buffer_restyled): Fix example.
3435         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
3436
3437 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3438
3439         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
3440         Most programs do not have translation catalogs for English and much
3441         less separate catalogs for British and American English.  Drop the
3442         suggestion to translators about these two, and provide it
3443         automatically for Unicode locales.  Like most programs, even those
3444         using American English, we use single quotation marks.  This conflicts
3445         with the American typographic convention, but works better when you
3446         cite the entire error message within double quotes.  It also tries not
3447         to clash with established practice and with what non-gnulib programs
3448         will usually do.
3449         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3450         using an UTF-8 or GB-18030 locale.  The list of other locales with
3451         quotes was provided by Bruno Haible.
3452         (quotearg_buffer_restyled): Adjust instructions to translators.
3453         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3454         text, since this would be wrong when using Unicode.
3455         * modules/quotearg: Depend on c-strcaseeq.
3456
3457 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3458
3459         quotearg: fix Wikipedia link
3460         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3461
3462 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3463
3464         Fix for mingw with MSVC9.
3465         * m4/ld-version-script.m4: Check that compiler rejects version
3466         scripts with syntax errors.  Reported by Bruno Haible
3467         <bruno@clisp.org>.
3468
3469 2012-01-06  Bruno Haible  <bruno@clisp.org>
3470
3471         Talk about "native Windows API", not "Woe32".
3472         * lib/accept4.c: Update comments to mention native Windows.
3473         * lib/execute.c: Likewise.
3474         * lib/fatal-signal.c: Likewise.
3475         * lib/localcharset.c: Likewise.
3476         * lib/nanosleep.c: Likewise.
3477         * lib/nl_langinfo.c: Likewise.
3478         * lib/pclose.c: Likewise.
3479         * lib/pipe-filter-gi.c: Likewise.
3480         * lib/pipe-filter-ii.c: Likewise.
3481         * lib/pipe.c: Likewise.
3482         * lib/pipe2.c: Likewise.
3483         * lib/popen.c: Likewise.
3484         * lib/progreloc.c: Likewise.
3485         * lib/relocatable.c: Likewise.
3486         * lib/sigaction.c: Likewise.
3487         * lib/sigprocmask.c: Likewise.
3488         * lib/spawn-pipe.h: Likewise.
3489         * lib/spawn-pipe.c: Likewise.
3490         * lib/spawni.c: Likewise.
3491         * lib/stat-time.h: Likewise.
3492         * lib/w32spawn.h: Likewise.
3493         * tests/test-isatty.c: Likewise.
3494         * lib/config.charset: More comments.
3495         * doc/gnulib-intro.texi: Mention native Windows.
3496         * doc/posix-functions/_Exit_C99.texi: Likewise.
3497         * doc/posix-headers/fcntl.texi: Likewise.
3498
3499 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3500
3501         argp: Avoid crash if translator uses % characters in a translation.
3502         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3503         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3504
3505 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3506
3507         doc: C11 and C++11 are now official
3508         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3509         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3510         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3511         * modules/stdalign:
3512         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3513
3514 2012-01-06  Bruno Haible  <bruno@clisp.org>
3515
3516         uc-is-grapheme-break tests: Tweak.
3517         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3518         message.
3519
3520 2012-01-06  Bruno Haible  <bruno@clisp.org>
3521
3522         test-init.sh: correct the test for diff -u
3523         * tests/test-init.sh: Also redirect stdout to /dev/null.
3524
3525 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3526
3527         Use ', not `, for quoting output.
3528         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3529         (print_changelog_deltas, get_tool_versions, main program):
3530         * build-aux/git-version-gen:
3531         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3532         * build-aux/move-if-change (help):
3533         * build-aux/useless-if-before-free (usage, main program):
3534         * check-module (parse_module_file, usage)
3535         (find_included_lib_files, check_module):
3536         * lib/argmatch.c (main) [TEST]:
3537         * lib/argp-help.c (_help):
3538         * lib/getopt1.c (main) [TEST]:
3539         * lib/git-merge-changelog.c (usage):
3540         * lib/xstrtol-error.c (xstrtol_error):
3541         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3542         * m4/argz.m4 (gl_FUNC_ARGZ):
3543         * m4/bison.m4 (gl_BISON):
3544         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3545         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3546         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3547         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3548         * m4/gc-random.m4 (gl_GC_RANDOM):
3549         * m4/intl.m4 (gt_CHECK_DECL):
3550         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3551         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3552         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3553         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3554         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3555         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3556         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3557         * tests/test-dirname.c (main):
3558         * tests/test-getpass.c (main):
3559         * tests/test-iconvme.c (main):
3560         * tests/test-parse-datetime.c (LOG):
3561         * tests/test-xstrtoimax.sh:
3562         * tests/test-xstrtol.sh:
3563         * tests/test-xstrtoll.sh:
3564         * tests/test-xstrtoumax.sh:
3565         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3566         * top/GNUmakefile (abort-due-to-no-makefile):
3567         Quote 'like this', not `like this', as per the recent change to
3568         the GNU coding standards.
3569
3570 2012-01-05  Bruno Haible  <bruno@clisp.org>
3571
3572         strtoimax: Don't force a replacement on systems where intmax_t is int.
3573         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3574         'intmax_t' is not larger than 'int'.
3575         Reported by Pádraig Brady <P@draigBrady.com>.
3576
3577 2012-01-05  Bruno Haible  <bruno@clisp.org>
3578
3579         doc: Mention NetBSD bugs.
3580         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3581         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3582
3583 2012-01-05  Bruno Haible  <bruno@clisp.org>
3584
3585         strtoumax tests: Enhance tests.
3586         * tests/test-strtoumax.c (main): Add tests for large values.
3587
3588 2012-01-05  Bruno Haible  <bruno@clisp.org>
3589
3590         strtoimax: Work around AIX 5.1 bug.
3591         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3592         definition.
3593         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3594         Set HAVE_STRTOIMAX.
3595         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3596         REPLACE_STRTOIMAX.
3597         * modules/inttypes-incomplete (Makefile.am): Substitute
3598         REPLACE_STRTOIMAX.
3599         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3600         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3601         (Depends-on): Update conditions.
3602         * tests/test-strtoimax.c (main): Add tests for large values.
3603         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3604
3605 2012-01-05  Bruno Haible  <bruno@clisp.org>
3606
3607         inttypes: Modernize.
3608         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3609         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3610         (Makefile.am): Update inttypes.h rule.
3611
3612 2012-01-05  Jim Meyering  <meyering@redhat.com>
3613
3614         init.sh: don't waste a subshell just to redirect stderr
3615         * tests/init.sh: In testing for diff -u and diff -c, use a
3616         stderr-redirecting exec inside `...` rather than a subshell.
3617
3618         test-init.sh: avoid failure on HP-UX 11.00
3619         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3620         resolves to diff -c or cmp.  Reported by Bruno Haible.
3621
3622 2012-01-05  Bruno Haible  <bruno@clisp.org>
3623
3624         Tests for module 'strtoull'.
3625         * modules/strtoull-tests: New file.
3626         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3627
3628 2012-01-05  Bruno Haible  <bruno@clisp.org>
3629
3630         Tests for module 'strtoll'.
3631         * modules/strtoll-tests: New file.
3632         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3633
3634 2012-01-05  Bruno Haible  <bruno@clisp.org>
3635
3636         Tests for module 'strtoul'.
3637         * modules/strtoul-tests: New file.
3638         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3639
3640 2012-01-05  Bruno Haible  <bruno@clisp.org>
3641
3642         Tests for module 'strtol'.
3643         * modules/strtol-tests: New file.
3644         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3645
3646 2012-01-04  Jim Meyering  <meyering@redhat.com>
3647
3648         test-init.sh: accommodate Solaris 5.10's different diff -u output
3649         * tests/test-init.sh: Also exempt @@ lines from the comparison
3650         of diff output, since Solaris 5.10 and GNU diff formats differ.
3651         Reported by Stefano Lattarini.
3652
3653 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3654
3655         test-posixtm: don't assume signed integer wraparound
3656         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3657         after signed integer overflow.  Inspired by (though it may not
3658         fix) Bruno Haible's bug report in
3659         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3660
3661         Spell out "Windows 9x" and "Windows XP".
3662         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3663         "Windows 9x" and "WinXP" with "Windows XP".
3664
3665 2012-01-04  Jim Meyering  <meyering@redhat.com>
3666
3667         test-vc-list-files-cvs.sh: remove obsolete comment
3668         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3669         double exit.  Now that's all encapsulated via skip_ and Exit.
3670
3671 2012-01-04  Bruno Haible  <bruno@clisp.org>
3672
3673         Talk about "native Windows API", not "Win32".
3674         * lib/classpath.c: Update comments to mention native Windows.
3675         * lib/csharpexec.c: Likewise.
3676         * lib/dup2.c: Likewise.
3677         * lib/error.c: Likewise.
3678         * lib/fcntl.c: Likewise.
3679         * lib/filename.h: Likewise.
3680         * lib/findprog.c: Likewise.
3681         * lib/get-rusage-as.c: Likewise.
3682         * lib/get-rusage-data.c: Likewise.
3683         * lib/getpagesize.c: Likewise.
3684         * lib/javaexec.c: Likewise.
3685         * lib/msvc-inval.c: Likewise.
3686         * lib/msvc-nothrow.c: Likewise.
3687         * lib/nanosleep.c: Likewise.
3688         * lib/nonblocking.c: Likewise.
3689         * lib/printf-parse.c: Likewise.
3690         * lib/setlocale.c: Likewise.
3691         * lib/sigaction.c: Likewise.
3692         * lib/strerror_r.c: Likewise.
3693         * lib/tmpdir.c: Likewise.
3694         * lib/vasnprintf.c: Likewise.
3695         * lib/w32spawn.h: Likewise.
3696         * lib/waitpid.c: Likewise.
3697         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3698         * m4/locale-ar.m4: Likewise.
3699         * m4/locale-fr.m4: Likewise.
3700         * m4/locale-ja.m4: Likewise.
3701         * m4/locale-tr.m4: Likewise.
3702         * m4/locale-zh.m4: Likewise.
3703         * m4/printf.m4: Likewise.
3704         * tests/test-cloexec.c: Likewise.
3705         * tests/test-copy-acl.sh: Likewise.
3706         * tests/test-copy-file.sh: Likewise.
3707         * tests/test-file-has-acl.sh: Likewise.
3708         * tests/test-set-mode-acl.sh: Likewise.
3709         * tests/test-dup-safer.c: Likewise.
3710         * tests/test-dup2.c: Likewise.
3711         * tests/test-dup3.c: Likewise.
3712         * tests/test-fcntl.c: Likewise.
3713         * tests/test-nonblocking-pipe.h: Likewise.
3714         * tests/test-nonblocking-socket.h: Likewise.
3715         * tests/test-pipe.c: Likewise.
3716         * tests/test-pipe2.c: Likewise.
3717         * tests/test-spawn-pipe-child.c: Likewise.
3718         * doc/acl-resources.txt: Likewise.
3719         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3720         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3721         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3722         * lib/localcharset.c: Update comments to mention native Windows.
3723         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3724         * lib/localename.c: Likewise.
3725         * lib/progreloc.c: Likewise.
3726         * lib/relocatable.c: Likewise.
3727         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3728         (windows_compute_revents): Renamed from win32_compute_revents.
3729         (windows_compute_revents_socket): Renamed from
3730         win32_compute_revents_socket.
3731         * lib/select.c: Update comments to mention native Windows.
3732         (windows_poll_handle): Renamed from win32_poll_handle.
3733         * m4/threadlib.m4: Update comments to mention native Windows.
3734         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3735         --enable-threads=windows instead of --enable-threads=win32. Set
3736         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3737         * lib/glthread/lock.h: Update comments to mention native Windows.
3738         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3739         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3740         USE_WIN32_THREADS.
3741         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3742         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3743         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3744         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3745         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3746         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3747         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3748         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3749         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3750         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3751         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3752         * tests/test-tls.c: Likewise.
3753         Rationale:
3754         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3755         on both 32-bit and 64-bit Windows systems.
3756         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3757         line of distinction is between "native Windows" on one side and Unix/
3758         POSIX systems on the other side. More details in
3759         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3760         Suggested by Paul Eggert.
3761
3762 2012-01-03  Bruno Haible  <bruno@clisp.org>
3763
3764         isatty: Support for MSVC 9.
3765         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3766         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3767         (_isatty_nothrow): New function.
3768         (isatty): Use it instead of _isatty.
3769         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3770         * lib/poll.c (IsConsoleHandle): Likewise.
3771         * lib/select.c (IsConsoleHandle): Likewise.
3772         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3773         (gl_PREREQ_ISATTY): New macro.
3774         * modules/isatty (Depends-on): Add msvc-inval.
3775         (configure.ac): Invoke gl_PREREQ_ISATTY.
3776
3777 2012-01-03  Jim Meyering  <meyering@redhat.com>
3778
3779         maint.mk: remove temporary transition aid from over 1.5 years ago
3780         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3781         purpose was to aid in the transition (avoiding silent malfunction)
3782         from that old name to the new _sc_search_regexp.  This shim was
3783         added by commit 219c504b.
3784
3785         init.sh: do not try to accommodate compare arguments starting with "-"
3786         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3787         compare arguments that start with "-".  Besides, we do not worry
3788         about this when invoking diff or cmp; why start now with sed?
3789         Using "--" to separate options from argument would trigger sed
3790         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3791         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3792
3793 2012-01-02  Bruno Haible  <bruno@clisp.org>
3794
3795         Enhance tests for module 'isatty'.
3796         * modules/isatty-tests (Depends-on): Add pipe-posix.
3797         * tests/test-isatty.c: Include <fcntl.h>.
3798         (DEV_NULL): New macro.
3799         (main): Test the resut of isatty() also on regular files, pipes, and
3800         /dev/null.
3801
3802         New module 'isatty'.
3803         * lib/unistd.in.h (isatty): New declaration.
3804         * lib/isatty.c: New file, based on an idea of
3805         Bastien Roucariès <roucaries.bastien@gmail.com>.
3806         * m4/isatty.m4: New file.
3807         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3808         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3809         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3810         REPLACE_ISATTY.
3811         * modules/isatty: New file.
3812         * doc/posix-functions/isatty.texi: Mention the new module.
3813         Suggested by Paolo Bonzini.
3814
3815 2012-01-02  Bruno Haible  <bruno@clisp.org>
3816
3817         canonicalize: Tweak 2011-12-29 commit.
3818         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3819         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3820
3821 2012-01-02  Jim Meyering  <meyering@redhat.com>
3822
3823         gitlog-to-changelog: describe input syntax in --help output
3824         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3825
3826         gitlog-to-changelog: fix typo in --help: show backslash before email @
3827         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3828         in sources, but not in actual output.
3829
3830 2011-12-30  Jim Meyering  <meyering@redhat.com>
3831
3832         gitlog-to-changelog: don't malfunction when name contains %-directive
3833         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3834         in a name string cause trouble.  E.g., with a user name of "%s",
3835         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3836
3837 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3838
3839         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3840         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3841         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3842         the "  (tiny change)" notation that is appended to the standard
3843         ChangeLog "date  name  email" header line.
3844
3845 2012-01-01  Jim Meyering  <meyering@redhat.com>
3846
3847         test-framework-sh: init.sh: fix "make dist" failure
3848         When using gnulib-tool's --with-tests option and any module that
3849         depends on test-framework-sh, "make dist" would fail due to the
3850         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3851         in the gltests directory, and not in the gllib/ directory.
3852         One way to work around that is to move the EXTRA_DIST += init.sh
3853         from the primary module to the -tests one:
3854         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3855         * modules/test-framework-sh (Makefile.am): ...not here.
3856         Reported by Tom G. Christensen in
3857         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3858
3859         version-etc: update copyright year reported by --version
3860         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3861
3862 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3863
3864         canonicalize: only stat() if required
3865         * lib/canonicalize.c (canonicalize_filename_mode):
3866         Avoid calling l?stat() when both CAN_MISSING,
3867         and CAN_NOLINKS are set, as we neither need
3868         to resolve symlinks or test component existence.
3869
3870 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3871
3872         doc: cover st_ino issues once; add OpenVMS etc.
3873         * doc/posix-functions/stat.texi (stat):
3874         * doc/posix-functions/lstat.texi (lstat):
3875         * doc/posix-functions/fstatat.texi (fstatat):
3876         * doc/posix-functions/fstat.texi (fstat):
3877         Move general 'struct stat' stuff to sys_stat.texi,
3878         leaving behind a pointer.
3879         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3880         Merge duplicate info about 'struct stat' problems into here.
3881         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3882         and suggest partial workarounds.
3883
3884         same-inode: port to OpenVMS
3885         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3886         three st_ino values.
3887
3888 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3889
3890         canonicalize: fix references to stat() and lstat()
3891         * lib/canonicalize.c (canonicalize_filename_mode):
3892         Ensure references always resolve to a replacement
3893         function if required (even via a macro).
3894
3895 2011-12-30  Jim Meyering  <meyering@redhat.com>
3896
3897         gitlog-to-changelog: remove a little duplication
3898         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3899         rather than twice.
3900
3901 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3902
3903         canonicalize: add support for not resolving symlinks
3904         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3905         indicate we don't want to follow symlinks.  Also
3906         provide CAN_MODE_MASK to aid setting these existing
3907         mutually exclusive values.
3908         * lib/canonicalize.c (canonicalize_filename_mode):
3909         Extract the flags from can_mode parameter, which
3910         are currently just used to select between stat()
3911         and lstat().  Also ensure that mutually exclusive
3912         values are flagged immediately as invalid.
3913         * tests/test-canonicalize.c: Verify symlinks are
3914         not followed, and that invalid flag combinations
3915         are diagnosed.
3916
3917 2011-12-25  Jim Meyering  <meyering@redhat.com>
3918
3919         gitlog-to-changelog: do not clump multi-paragraph entries
3920         Identical header lines (date,name,email+coauthors) are suppressed,
3921         thus putting all entries with those same characteristics under
3922         a single header.  However, when a log entry consists of two or
3923         more paragraphs, it may not be clear where it starts and ends.
3924         This change makes it so that such an entry is always separated
3925         from others by a header line, even when that header would
3926         otherwise be suppressed.
3927         * build-aux/gitlog-to-changelog: Implement the above.
3928         Inspired by a related request from Stefano Lattarini in
3929         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3930
3931 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3932
3933         announce-gen: fix `cmd' typo in diagnostic
3934         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3935         diagnostic: a missing '$' meant that the command was not output.
3936
3937 2011-12-23  Jim Meyering  <meyering@redhat.com>
3938
3939         test-framework-sh: distribute init.sh
3940         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3941         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3942         fail due to the lack of init.sh.
3943
3944         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3945         * modules/atexit-tests: Rather than listing tests/init.sh,
3946         now that there's a module for it, simply depend on that new module.
3947         * modules/closein-tests: Likewise.
3948         * modules/exclude-tests: Likewise.
3949         * modules/getcwd-tests: Likewise.
3950         * modules/perror-tests: Likewise.
3951         * modules/pread-tests: Likewise.
3952         * modules/pwrite-tests: Likewise.
3953         * modules/vc-list-files-tests: Likewise.
3954         * modules/verify-tests: Likewise.
3955         * modules/xalloc-die-tests: Likewise.
3956         * modules/xstrtoimax-tests: Likewise.
3957         * modules/xstrtol-tests: Likewise.
3958         * modules/xstrtoll-tests: Likewise.
3959         * modules/xstrtoumax-tests: Likewise.
3960         * modules/yesno-tests: Likewise.
3961
3962 2011-12-22  Jim Meyering  <meyering@redhat.com>
3963
3964         test-framework-sh: add minimal tests of init.sh's compare function
3965         * modules/test-framework-sh-tests: New file.
3966         * tests/test-init.sh: New file.
3967
3968         test-framework-sh: new module
3969         * modules/test-framework-sh: New file.
3970         * MODULES.html.sh (Support for maintaining and releasing projects):
3971         List it.
3972
3973         init.sh: do not emit simulated diff output to stderr
3974         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3975
3976 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3977
3978         .gitignore: ignore gnulib.dvi and regex.info
3979         * doc/.gitignore:add gnulib.dvi and regex.info
3980
3981 2011-12-22  Jim Meyering  <meyering@redhat.com>
3982
3983         init.sh: correct previous change
3984         * tests/init.sh (compare): My previous change was wrong.
3985         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3986
3987         init.sh: avoid unwarranted test failure when using "set -e"
3988         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3989         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3990         a use like "compare exp out" would get evoke an unconditional failure.
3991
3992 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3993
3994         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3995         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3996         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3997         autoreconf that did not.
3998         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3999         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
4000
4001 2011-12-17  Jim Meyering  <meyering@redhat.com>
4002
4003         bootstrap: remove some now-unneeded code
4004         This script arose back when gnulib-tool was young.
4005         Since then, it has seen improvements that render much of this
4006         script unnecessary.  In particular, it can now make symlinks
4007         to the files it uses.  Also, I no longer see as much value in
4008         marking files as read-only via comments.
4009         If you relied on the symlink-creation feature of the preceding
4010         version of this script, you can get most of that functionality
4011         by adding the --symlink option to the definition of
4012         gnulib_tool_option_extras in your bootstrap.conf file.
4013         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
4014         Run autopoint and libtoolize *before* gnulib-tool.
4015         After it, run an abbreviated autoreconf, rather than a loop around
4016         all tools.
4017         (slirp, bt_mark_as_generated): Remove functions.
4018
4019 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4020
4021         ftoastr: fix typo
4022         * lib/ftoastr.h: Fix misspelling in comment.
4023
4024 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
4025
4026         * top/README-release: fix punctuation.
4027
4028 2011-12-17  Jim Meyering  <meyering@redhat.com>
4029
4030         bootstrap: correct the recent buildreq change
4031         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
4032         had no effect.
4033         * build-aux/bootstrap (buildreq): Bracket each search term with
4034         "*...*", so that the shell "case" statement works as intended.
4035         Add comments.
4036
4037 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
4038
4039         build: let bootstrap resort to wget when downloading .po files
4040         * build-aux/bootstrap (download_po_files): Fallback to wget when
4041         downloading the .po files via rsync fails.  This is necessary to
4042         bootstrap from behind a strict firewall.
4043
4044 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4045
4046         stdint: don't assume C++11 when compiling with g++
4047         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
4048         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
4049         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
4050         work also in C++ before C++11, as that improperly inhibits
4051         generating a substitute stdint.h for that case.
4052
4053 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4054
4055         alloca: protect comment from gnulib-tool
4056         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
4057         that gnulib-tool doesn't think it's a license, and munge it to
4058         say "GCC version 3".
4059
4060 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
4061
4062         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
4063         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
4064         $(abs_top_builddir) instead of $(top_builddir).
4065
4066 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
4067
4068         strftime-tests: also test nanoseconds
4069         * tests/test-strftime.c (T): Add a test of %N.
4070
4071 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
4072
4073         inttypes, stdint: add C++11 support
4074         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
4075         when including inttypes.h and stdint.h.  Support this change to
4076         the standard.
4077         * doc/posix-headers/inttypes.texi (inttypes.h):
4078         * doc/posix-headers/stdint.texi (stdint.h): Document this.
4079         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
4080         Define if not defined already, for the benefit of pre-C++11 hosts.
4081         Define the standard format macros (e.g., PRId8) always.
4082         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
4083         Likewise, if __cpluspus.  Define the standard constant and limit
4084         macros (e.g., INT8_C, INT8_MAX) always.
4085         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
4086         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
4087         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
4088         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
4089         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
4090         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
4091         Likewise.
4092
4093 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4094
4095         nonblocking tests: Fix test failure on Linux/PPC.
4096         Suggested by Prerna Saxena in
4097         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
4098         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
4099         Set to 1100000.
4100
4101 2011-12-12  Jim Meyering  <meyering@redhat.com>
4102
4103         argmatch: don't hard-code `' when listing valid option arguments
4104         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
4105         use the quote function to add quotes.  Use fputs rather than
4106         fprintf for the format string with no format directive.
4107
4108 2011-12-07  Eric Blake  <eblake@redhat.com>
4109
4110         bootstrap: detect tools required by gnulib-tool
4111         * build-aux/bootstrap (buildreq): Provide minimum implicit
4112         dependencies.
4113         * DEPENDENCIES: Mention patch as a prereq.
4114
4115 2011-12-04  Bruno Haible  <bruno@clisp.org>
4116
4117         sethostname: Port to Windows platforms.
4118         * lib/sethostname.c: Provide an alternate implementation for Windows
4119         platforms.
4120         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
4121         (main): Skip the test if sethostname() fails with EPERM. On Windows
4122         platforms, don't check the result of gethostname().
4123
4124 2011-12-04  Bruno Haible  <bruno@clisp.org>
4125             Jim Meyering  <meyering@redhat.com>
4126
4127         tests: Avoid spurious error message on platforms without mktemp program.
4128         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
4129
4130 2011-12-04  Bruno Haible  <bruno@clisp.org>
4131
4132         sethostname: Fix documentation.
4133         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
4134         "not fixed" section.
4135
4136 2011-12-03  Bruno Haible  <bruno@clisp.org>
4137
4138         gnulib-tool: Verify that the License field is present and non-empty.
4139         * gnulib-tool (func_get_license_raw): New function, extracted from
4140         func_get_license.
4141         (func_get_license): Use it. Warn if the module is not a test module and
4142         has no license.
4143         Suggested by Jim Meyering.
4144
4145 2011-12-03  Bruno Haible  <bruno@clisp.org>
4146
4147         sethostname tests: Fix link error on mingw.
4148         * tests/test-sethostname1.c: New file, extracted from
4149         tests/test-sethostname.c.
4150         * tests/test-sethostname2.c: New file, extracted from
4151         tests/test-sethostname.c.
4152         * tests/test-sethostname.c: Remove file.
4153         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
4154         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
4155         (Depends-on): Add gethostname.
4156         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
4157         Link the latter with $(GETHOSTNAME_LIB).
4158
4159         sethostname tests: Fix compilation error on mingw.
4160         * tests/test-sethostname.c: Don't include <sys/types.h>.
4161         (geteuid): Use a dummy value without uid_t.
4162         * modules/sethostname-tests (Depends-on): Remove sys_types.
4163
4164         sethostname tests: Avoid a gcc warning.
4165         * tests/test-sethostname.c (main): Remove an unused variable.
4166
4167         Tweak last commit.
4168         * modules/sethostname-tests (Files): Sort by decreasing importance.
4169         (configure.ac): Check for geteuid.
4170         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
4171         the test when there's nothing to test. Drop an unnecessary cast.
4172         Improve an error message. Verify that the final sethostname() call
4173         succeeds.
4174
4175 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4176
4177         Add a test suite for the sethostname module.
4178         * modules/sethostname-tests: New file.  A test program
4179         for the sethostname module.
4180         * tests/test-sethostname.c: Likewise.
4181
4182 2011-12-03  Bruno Haible  <bruno@clisp.org>
4183
4184         Tweak last commit.
4185         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
4186         Fix preprocessor directives indentation. Fix typos.
4187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
4188         * modules/unistd (Makefile): Likewise.
4189
4190 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4191
4192         Integrate the sethostname module into unistd.
4193         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
4194         into the unistd.h header.
4195         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
4196         preprocessor directives.
4197         * modules/unistd: Setup the Makefile substitutions of the
4198         SETHOSTNAME preprocessor directives.
4199
4200 2011-12-03  Bruno Haible  <bruno@clisp.org>
4201
4202         Tweak last commit.
4203         * lib/sethostname.c: Don't include <string.h>.
4204         (sethostname): No need to copy the argument string to the stack. Don't
4205         call clearerr. Preserve errno when fprintf failed.
4206         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
4207         Don't invoke AC_REPLACE_FUNCS.
4208         * modules/sethostname (Link): Remove empty section.
4209         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
4210         failure problem.
4211
4212 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4213
4214         New module 'sethostname'.
4215         * lib/sethostname.c (sethostname): New file.  Provide sethostname
4216         for systems that lack it.
4217         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
4218         sethostname declaration and function.
4219         * modules/sethostname: New file.  Define the sethostname module.
4220
4221 2011-12-03  Bruno Haible  <bruno@clisp.org>
4222
4223         Tweak last commit.
4224         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
4225
4226 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
4227
4228         Split the HOST_NAME_MAX detection into a separate m4 macro.
4229         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
4230         macro so it can be used by the pending sethostname module.
4231
4232 2011-12-03  Bruno Haible  <bruno@clisp.org>
4233
4234         Fix module descriptions syntax.
4235         * modules/argv-iter (License): Fix syntax.
4236         * modules/di-set (License): Likewise.
4237         * modules/ino-map (License): Likewise.
4238         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
4239
4240 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
4241
4242         stdalign: port to Clang 3.0
4243         Problem reported by Simon Josefsson in
4244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
4245         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
4246         which has <stdalign.h> but which does not define alignof.
4247         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
4248
4249 2011-12-01  Eric Blake  <eblake@redhat.com>
4250
4251         mktempd: silence dd usage
4252         * build-aux/mktempd (rand_bytes): Silence dd.
4253
4254 2011-11-30  Simon Josefsson  <simon@josefsson.org>
4255
4256         manywarnings: Don't mention gcc version in docstring.
4257         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
4258         Jim Meyering <meyering@redhat.com>.
4259
4260 2011-11-30  Jim Meyering  <meyering@redhat.com>
4261
4262         hash: mark a few floating point constants with "f" suffix
4263         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
4264         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
4265         floating point constants with "f", since they're destined to be
4266         saved/used as "float"s.
4267
4268 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
4269
4270         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
4271         * tests/test-float.c (test_long_double): Correct and re-enable the
4272         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
4273
4274 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
4275
4276         Avoid subtracting two pointers that don't point into the same block.
4277         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
4278         only pointers into the same memory block are subtracted. We cannot
4279         assume that sizeof (ptrdiff_t) == sizeof (void *).
4280
4281 2011-11-29  Eric Blake  <eblake@redhat.com>
4282
4283         maint.mk: add syntax check for use of compare from init.sh
4284         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
4285         moved here from coreutils.
4286
4287         manywarnings: drop -Wunsuffixed-float-constants
4288         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
4289         '1.0D', which is the only way to silence this warning for 'double'.
4290
4291 2011-11-29  Jim Meyering  <meyering@redhat.com>
4292
4293         hash: mark compute_bucket_size with the pure attribute
4294         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
4295
4296         quotearg, propername: correct pragma guard expression
4297         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
4298         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
4299
4300 2011-11-28  Jim Meyering  <meyering@redhat.com>
4301
4302         propername: do not mark proper_name with the const attribute
4303         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
4304         since it examines data pointed to by its parameter.
4305         * lib/propername.c (proper_name): Instead, add a pragma to suppress
4306         the suggestion from -Wsuggest-attribute=const.
4307
4308         propername: mark one more function as const
4309         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
4310
4311 2011-11-27  Jim Meyering  <meyering@redhat.com>
4312
4313         mark functions with const and pure attributes
4314
4315         Mark functions per suggestions from gcc-4.6 when using these options:
4316         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
4317         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
4318         Follow these guidelines: when possible, apply the attribute to
4319         an extern declaration, not to its definition.  Apply it to the
4320         definition only when the definition is static.
4321         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
4322         * lib/argv-iter.h (argv_iter_n_args): Likewise.
4323         * lib/base64.h (isbase64): Likewise.
4324         * lib/basename-lgpl.c (last_component, base_len): Likewise.
4325         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
4326         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
4327         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
4328         (c_tolower, c_toupper): Likewise.
4329         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
4330         * lib/chdir-long.c (find_non_slash): Likewise.
4331         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
4332         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
4333         * lib/file-type.h (file_type): Likewise.
4334         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
4335         * lib/filevercmp.c (verrevcmp): Likewise.
4336         * lib/freadahead.h (freadahead): Likewise.
4337         * lib/fts.c (fts_maxarglen): Likewise.
4338         * lib/hash-pjw.h (hash_pjw): Likewise.
4339         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
4340         * lib/hash.c (is_prime, next_prime): Likewise.
4341         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
4342         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
4343         (hash_table_ok, hash_get_first, hash_string): Likewise.
4344         (compute_bucket_size): Likewise.
4345         * lib/i-ring.h (i_ring_empty): Likewise.
4346         * lib/isnan.c (isnanl): Likewise.
4347         * lib/math.h (isnanl, rpl_isnanl): Likewise.
4348         * lib/memcasecmp.h (memcasecmp): Likewise.
4349         * lib/memchr2.h (memchr2): Likewise.
4350         * lib/memcmp2.h (memcmp2): Likewise.
4351         * lib/parse-datetime.y (lookup_zone): Likewise.
4352         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
4353         [!WINDOWS_SOCKETS]: Likewise.
4354         * lib/strnlen1.h (strnlen1): Likewise.
4355         * lib/uniwidth.in.h (uc_width): Likewise.
4356         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
4357         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
4358         (quoting_options_from_style): Add a comment.
4359         * lib/propername.h (proper_name): Add a comment.
4360
4361 2011-11-27  Bruno Haible  <bruno@clisp.org>
4362
4363         Remove unused macros from !_LIBC code in glibc-borrowed files.
4364         * lib/fnmatch.c (STRCOLL): Remove macro.
4365         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
4366         * lib/glob.c (__stat, __readdir64): Remove macros.
4367         * lib/tempname.c (__open64, __xstat64): Remove macros.
4368         Suggested by Paul Eggert.
4369
4370 2011-11-27  Bruno Haible  <bruno@clisp.org>
4371
4372         getcwd: Fix link error on MSVC 9.
4373         * modules/getcwd (Depends-on): Add readdir, rewinddir.
4374
4375 2011-11-27  Bruno Haible  <bruno@clisp.org>
4376
4377         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
4378         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
4379         HAVE_OPENDIR is 0.
4380         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
4381         HAVE_CLOSEDIR is 0.
4382         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
4383         is 0.
4384         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
4385
4386 2011-11-27  Bruno Haible  <bruno@clisp.org>
4387
4388         getcwd: Fix bug from 2011-08-17.
4389         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
4390         platforms that need it.
4391         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
4392         code of 4 to be a failure, not a success. This ensures that
4393         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
4394
4395 2011-11-27  Bruno Haible  <bruno@clisp.org>
4396
4397         binary-io tests: Avoid test failure on mingw when libtool is used.
4398         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
4399         Don't verify the size of t-bin-out1.tmp here.
4400         * tests/test-binary-io.sh: Verify it here.
4401         Reported by Simon Josefsson.
4402
4403 2011-11-26  Bruno Haible  <bruno@clisp.org>
4404
4405         Fix conflict between two instantiations of module 'unistd'.
4406         * gnulib-tool (func_emit_autoconf_snippet): Substitute
4407         ${include_guard_prefix} also in the autoconf snippet.
4408         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
4409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
4410         GNULIB_UNISTD_H_GETOPT.
4411         * modules/getopt-posix (configure.ac): Set the
4412         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
4413         * modules/getopt-gnu (configure.ac): Likewise.
4414         * modules/unistd (Makefile.am): Change the substitution value of
4415         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
4416         Reported by Simon Josefsson.
4417
4418 2011-11-25  Bruno Haible  <bruno@clisp.org>
4419
4420         pagealign_alloc: Doc and comments.
4421         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
4422         module.
4423         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
4424
4425 2011-11-25  Jim Meyering  <meyering@redhat.com>
4426
4427         test-update-copyright.sh: avoid false-positive failure
4428         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
4429         around false positive failure on Cygwin/Windows.  The latter was
4430         matching erroneously-created files with names like
4431         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
4432
4433 2011-11-25  Simon Josefsson  <simon@josefsson.org>
4434
4435         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
4436         * m4/valgrind-tests.m4: Check that the parameters that will be
4437         used works, not just a subset of them.  Reported by Bruno Haible
4438         <bruno@clisp.org>.
4439
4440 2011-11-24  Jim Meyering  <meyering@redhat.com>
4441
4442         test-stdalign.c: comment out long double tests
4443         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4444         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4445         error: '_Alignas' specifiers cannot reduce alignment of \
4446         'static_longdouble_alignas'.
4447
4448 2011-11-22  Jim Meyering  <meyering@redhat.com>
4449
4450         init.sh: make "compare /dev/null FILE" output more readable
4451         * tests/init.sh (compare_): Document the preferred order of arguments.
4452         (emit_diff_u_header_): New function.
4453         (compare_dev_null_): Emit a simulated diff, rather than just the
4454         contents of the unexpected file.  Suggestion from Bruno Haible.
4455
4456 2011-11-21  Jim Meyering  <meyering@redhat.com>
4457             Eric Blake  <eblake@redhat.com>
4458
4459         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4460         * tests/init.sh: Make our compare function slightly more portable.
4461         Reported by Bruno Haible in
4462         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4463
4464 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4465
4466         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4467         before using it, in code that ends up in config.h.
4468
4469 2011-11-20  Bruno Haible  <bruno@clisp.org>
4470
4471         getcwd: Work around getcwd bug on AIX 5..7.
4472         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4473         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4474         Use a different value for gl_cv_func_getcwd_path_max. Move the
4475         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4476         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4477         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4478         Define HAVE_MINIMALLY_WORKING_GETCWD.
4479         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4480         where it is not even minimally working, that is, on AIX.
4481         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4482         m4/getcwd-path-max.m4.
4483         (main): Update exit code computation.
4484         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4485         getcwd does not handle long file names.
4486
4487 2011-11-20  Bruno Haible  <bruno@clisp.org>
4488
4489         getcwd: Fix bug from 2009-09-10.
4490         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4491         like "no".
4492
4493 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4494
4495         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4496
4497 2011-11-20  Bruno Haible  <bruno@clisp.org>
4498
4499         fma tests: Avoid shadowing local variables.
4500         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4501         expected.
4502
4503 2011-11-20  Bruno Haible  <bruno@clisp.org>
4504
4505         copysignf tests: Fix.
4506         * tests/test-copysignf.c: Fix signature check.
4507
4508 2011-11-20  Bruno Haible  <bruno@clisp.org>
4509
4510         fma: Remove unused code.
4511         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4512         unused macros.
4513
4514 2011-11-20  Bruno Haible  <bruno@clisp.org>
4515
4516         sethostname: Fix doc about AIX.
4517         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4518         sethostname; it has it.
4519
4520         sethostname: Mention more portability problems.
4521         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4522         problem.
4523         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4524
4525 2011-11-19  Bruno Haible  <bruno@clisp.org>
4526
4527         Depend on module fcntl-h when AT_FDCWD is used.
4528         * modules/utimens (Depends-on): Add fcntl-h.
4529         * modules/areadlinkat (Depends-on): Likewise.
4530         * modules/areadlinkat-with-size (Depends-on): Likewise.
4531         * modules/faccessat (Depends-on): Likewise.
4532         * modules/fchmodat (Depends-on): Likewise.
4533         * modules/fchownat (Depends-on): Likewise.
4534         * modules/getcwd (Depends-on): Likewise.
4535         * modules/mkdirat (Depends-on): Likewise.
4536         * modules/mkfifoat (Depends-on): Likewise.
4537         * modules/readlinkat (Depends-on): Likewise.
4538         * modules/symlinkat (Depends-on): Likewise.
4539         * modules/dup2-tests (Depends-on): Likewise.
4540         * modules/fdutimensat-tests (Depends-on): Likewise.
4541         * modules/futimens-tests (Depends-on): Likewise.
4542
4543 2011-11-19  Bruno Haible  <bruno@clisp.org>
4544
4545         euidaccess: Update a comment.
4546         * lib/euidaccess.c: Update comment about platforms with faccessat.
4547
4548 2011-11-19  Bruno Haible  <bruno@clisp.org>
4549
4550         openat: Fix file list.
4551         * modules/openat (Files): Remove lib/at-func.c.
4552
4553 2011-11-19  Bruno Haible  <bruno@clisp.org>
4554
4555         fstatat: Simplify.
4556         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4557         gnulib should define rpl_fstatat, there is a
4558         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4559
4560 2011-11-19  Bruno Haible  <bruno@clisp.org>
4561
4562         Ensure 'inline' can be used in tests/test-utimens-common.h.
4563         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4564         * modules/futimens-tests (configure.ac): Likewise.
4565         * modules/utimens-tests (configure.ac): Likewise.
4566         * modules/utimensat-tests (configure.ac): Likewise.
4567
4568 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4569
4570         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4571         not hash_insert0.
4572         (hash_insert_if_absent): Doc fix.
4573
4574 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4575
4576         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4577
4578 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4579
4580         test-getcwd: disambiguate exit status
4581         * tests/test-getcwd.c (test_long_name): Return 0..7.
4582         (main): Exit with an unambiguous exit status.  The old
4583         code yielded a mysterious mixture of two failure codes.
4584
4585         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4586         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4587         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4588         rpl_fstatat or fstatat.  This should fix the other problem
4589         reported by Kai Habel in
4590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4591         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4592         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4593         and I reproduced it on a Solaris 8 host we still have in production.
4594
4595 2011-11-18  Jim Meyering  <meyering@redhat.com>
4596
4597         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4598         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4599         Add a sentence to the comment.
4600         (hash_insert0): New function that simply calls hash_insert_if_absent.
4601         * lib/hash.h (hash_insert_if_absent): Declare it.
4602         (hash_insert0): Add deprecation attribute.
4603         (_GL_ATTRIBUTE_DEPRECATED): Define.
4604         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4605         not hash_insert0.
4606         * NEWS: Mention it, even though it's not really an incompatible change.
4607
4608 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4609
4610         openat: avoid compilation failure due to lack of <errno.h> inclusion
4611         * lib/openat.c: Include <errno.h>.
4612
4613 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4614
4615         * modules/getcwd (Depends-on): Add fdopendir.
4616         This fixes one of the two problems reported by Kai Habel in
4617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4618
4619         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4620         stdalign problem reported by Ian Beckwith in
4621         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4622         * modules/crypto/gc-arcfour (Depends-on):
4623         Depend conditionally on crypto/arcfour.
4624         * modules/crypto/gc-arctwo (Depends-on):
4625         Depend conditionally on crypto/arctwo.
4626         * modules/crypto/gc-des (Depends-on):
4627         Depend conditionally on crypto/des.
4628         * modules/crypto/gc-hmac-md5 (Depends-on):
4629         Depend conditionally on crypto/hmac-md5.
4630         * modules/crypto/gc-hmac-sha1 (Depends-on):
4631         Depend conditionally on crypto/hmac-sha1.
4632         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4633         * modules/crypto/gc-md4 (Depends-on):
4634         Depend conditionally on crypto/md4.
4635         * modules/crypto/gc-md5 (Depends-on):
4636         Depend conditionally on crypto/md5.
4637         * modules/crypto/gc-rijndael (Depends-on):
4638         Depend conditionally on crypto/rijndael.
4639         * modules/crypto/gc-sha1 (Depends-on):
4640         Depend conditionally on crypto/sha1.
4641         * modules/crypto/gc-arcfour:
4642         * modules/crypto/gc-arctwo:
4643         * modules/crypto/gc-des:
4644         * modules/crypto/gc-hmac-md5:
4645         * modules/crypto/gc-hmac-sha1:
4646         * modules/crypto/gc-md2:
4647         * modules/crypto/gc-md4:
4648         * modules/crypto/gc-md5:
4649         * modules/crypto/gc-rijndael:
4650         * modules/crypto/gc-sha1:
4651         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4652         now that the conditional dependencies do the work for us.
4653
4654 2011-11-17  Jim Meyering  <meyering@redhat.com>
4655
4656         tests: factor st_ctime-comparison out of two headers
4657         * tests/test-utimens-common.h (ctime_compare): Define.
4658         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4659         * tests/test-lutimens.h (test_lutimens): Likewise.
4660         * tests/test-utimens.h (test_utimens): Likewise.
4661
4662         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4663         Invoke the test program via an init.sh-using wrapper.
4664         * tests/test-getcwd.sh: New file.
4665         * modules/getcwd-tests (Files): Add it.
4666         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4667
4668 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4669
4670         gitlog-to-changelog: support multi-author commits.
4671         The FSF cares about keeping track of all authors of patches to its
4672         projects, but Git doesn't provide obvious support for multi-author
4673         changesets. Consensus seems to be forming around the use of extra
4674         Signed-off-by inspired lines in the log message formatted as
4675         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4676         multi-author commits between version control systems.
4677         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4678         log message and output in standard ChangeLog multi-author format.
4679         Reported by Peter Rosin <peda@lysator.liu.se>
4680
4681 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4682             Bruno Haible  <bruno@clisp.org>
4683
4684         Fix some modules' file list.
4685         * modules/fstatat (Files): Add m4/lstat.m4.
4686         * modules/openat (Files): Likewise.
4687         * modules/unlinkat (Files): Likewise.
4688
4689 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4690
4691         maint.mk: fix tight-scope.mk generation in VPATH builds.
4692         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4693         reference with $(srcdir) so that the file is found correctly even
4694         when running `make syntax-check' in a VPATH build.
4695
4696 2011-11-13  Bruno Haible  <bruno@clisp.org>
4697             Jim Meyering  <meyering@redhat.com>
4698
4699         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4700         * tests/init.sh (compare): Remove "No differences encountered" or
4701         synonymous output from the 'diff' program.
4702
4703 2011-11-13  Bruno Haible  <bruno@clisp.org>
4704
4705         Makefile: Tweak indentation.
4706         * Makefile: Use tab as first character in every line that contains rule
4707         commands.
4708
4709 2011-11-13  Bruno Haible  <bruno@clisp.org>
4710
4711         Syntax check for copyright statements.
4712         * check-copyright: New file.
4713         * Makefile (sc_check_copyright): New rule.
4714
4715 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4716
4717         * build-aux/git-version-gen: Add --prefix to configure the tag
4718         match string.
4719
4720 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4721
4722         * build-aux/git-version-gen: Add --help and --version.
4723
4724 2011-11-12  Jim Meyering  <meyering@redhat.com>
4725
4726         revamp the other test-exclude?.sh scripts to use init.sh, too
4727         * tests/test-exclude1.sh: Use init.sh.
4728         * tests/test-exclude2.sh: Likewise.
4729         * tests/test-exclude3.sh: Likewise.
4730         * tests/test-exclude4.sh: Likewise.
4731         * tests/test-exclude5.sh: Likewise.
4732         * tests/test-exclude6.sh: Likewise.
4733         * tests/test-exclude7.sh: Likewise.
4734         * tests/test-exclude8.sh: Likewise.
4735         * modules/exclude-tests (Files): List init.sh.
4736
4737         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4738         These shell scripts ignored failure of the binary test-exclude,
4739         so making the latter return 77 didn't cause them to be skipped.
4740         * tests/test-exclude5.sh: Exit with test-exclude's error status
4741         when that program fails.  Revamp to use init.sh.
4742         * tests/test-exclude2.sh: Likewise.
4743
4744         test-exclude: fix a typo
4745         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4746
4747 2011-11-11  Bruno Haible  <bruno@clisp.org>
4748
4749         obstack: Fix compilation error on MSVC 9.
4750         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4751
4752 2011-11-11  Jim Meyering  <meyering@redhat.com>
4753
4754         test-exclude: skip tests rather than failing on deficient systems
4755         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4756         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4757         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4758         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4759
4760 2011-11-10  Bruno Haible  <bruno@clisp.org>
4761
4762         ptsname_r test: Avoid gcc warning on glibc systems.
4763         * tests/test-ptsname_r.c (null_ptr): New function.
4764         (test_errors): Use it.
4765
4766 2011-11-10  Bruno Haible  <bruno@clisp.org>
4767
4768         ptsname_r: Avoid compilation error on OSF/1 5.1.
4769         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4770         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4771         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4772         function is not declared or incompatibly declared.
4773         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4774         * modules/ptsname_r (Depends-on, configure.ac): Update.
4775         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4776
4777 2011-11-10  Bruno Haible  <bruno@clisp.org>
4778
4779         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4780         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4781         When cross-compiling, guess yes on all platforms except AIX.
4782         Reported by Ludovic Courtès <ludo@gnu.org>.
4783
4784 2011-11-09  Bruno Haible  <bruno@clisp.org>
4785
4786         ptsname_r tests: Fix bugs.
4787         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4788         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4789
4790 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4791
4792         fstatat: work with cross-compilation
4793         Problem reported by Ludovic Courtès in
4794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4795         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4796         "cross-compiling" and assume the bug is present.  Replace
4797         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4798         an inverted sense, to be more conservative about our assumptions.
4799         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4800
4801 2011-11-09  Bruno Haible  <bruno@clisp.org>
4802
4803         Improve MODULES.html output.
4804         * modules/mkfifoat (Description): Use the word "function".
4805         * modules/readlinkat (Description): Likewise.
4806         * modules/symlinkat (Description): Likewise.
4807
4808 2011-11-09  Eric Blake  <eblake@redhat.com>
4809
4810         ptsname_r-tests: new test module
4811         * modules/ptsname_r-tests: New module.
4812         * tests/test-ptsname_r.c: New file.
4813
4814         ptsname_r: new module
4815         * modules/ptsname_r: New module.
4816         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4817         * lib/ptsname.c (__ptsname_r): Split...
4818         * lib/ptsname_r.c: ...into new file.
4819         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4820         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4821         * modules/stdlib (Makefile.am): Substitute witnesses.
4822         * lib/stdlib.in.h (ptsname_r): Declare it.
4823         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4824         * MODULES.html.sh (Misc): Likewise.
4825         * modules/ptsname (Depends-on): Alter dependency.
4826         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4827
4828 2011-11-09  Jim Meyering  <meyering@redhat.com>
4829
4830         announce-gen: be more concise when there's only one URL+tarball
4831         * build-aux/announce-gen (get_tool_versions): When you distribute
4832         only one type of tarball, combine the first two "Here are..."
4833         sections and make the key-checking grammar independent of
4834         how many tarballs there are.
4835
4836 2011-11-09  Eric Blake  <eblake@redhat.com>
4837
4838         openpty: provide a stub on mingw
4839         * lib/pty.in.h (includes): Provide forward declarations.
4840         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4841
4842         raise: fix mingw handling of SIGPIPE
4843         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4844
4845 2011-11-08  Bruno Haible  <bruno@clisp.org>
4846
4847         More conditional dependencies.
4848         * modules/faccessat (Depends-on): Add conditions.
4849         * modules/fchmodat (Depends-on): Likewise.
4850         * modules/fchownat (Depends-on): Likewise.
4851         * modules/fstatat (Depends-on): Likewise.
4852         * modules/mkfifoat (Depends-on): Likewise.
4853         * modules/readlinkat (Depends-on): Likewise.
4854         * modules/symlinkat (Depends-on): Likewise.
4855         * modules/unlinkat (Depends-on): Likewise.
4856         * modules/utimensat (Depends-on): Likewise.
4857         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4858         * modules/linkat (Depends-on): Refine the conditions.
4859         * modules/renameat (Depends-on): Likewise.
4860
4861 2011-11-08  Bruno Haible  <bruno@clisp.org>
4862
4863         faccessat: Move AC_LIBOBJ invocation to module description.
4864         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4865         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4866         invocation from here...
4867         * modules/faccessat (configure.ac): ... to here. Invoke
4868         gl_PREREQ_FACCESSAT.
4869
4870 2011-11-08  Bruno Haible  <bruno@clisp.org>
4871
4872         faccessat: Simplify autoconf macro.
4873         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4874         gl_FUNC_EUIDACCESS.
4875
4876 2011-11-08  Bruno Haible  <bruno@clisp.org>
4877
4878         renameat: Fix dependencies.
4879         * modules/renameat (Depends-on): Add stdbool.
4880
4881 2011-11-08  Bruno Haible  <bruno@clisp.org>
4882
4883         mkfifoat: Fix module description.
4884         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4885         not gl_UNISTD_MODULE_INDICATOR.
4886
4887 2011-11-08  Bruno Haible  <bruno@clisp.org>
4888
4889         fstatat: Remove unused dependency.
4890         * modules/fstatat (Depends-on): Remove fstat.
4891
4892 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4893
4894         GNUmakefile: behave when Makefile is missing.
4895         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4896
4897 2011-11-08  Bruno Haible  <bruno@clisp.org>
4898
4899         openat: Conditionalize dependencies.
4900         * lib/openat.c: Reduce the scope of some #includes.
4901         * modules/openat (Depends-on): Add conditions.
4902
4903 2011-11-07  Jim Meyering  <meyering@redhat.com>
4904
4905         maint.mk: extract GPG key ID without using a temporary file
4906         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4907         without using a temporary file.  Based on a suggestion from Werner Koch
4908         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4909
4910 2011-11-07  Eric Blake  <eblake@redhat.com>
4911
4912         grantpt: fix typo
4913         * lib/stdlib.in.h (grantpt): Check correct function.
4914
4915         maint.mk: silence new syntax check
4916         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4917
4918 2011-11-06  Bruno Haible  <bruno@clisp.org>
4919
4920         Doc about floating-point and math API.
4921         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4922         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4923
4924 2011-11-06  Bruno Haible  <bruno@clisp.org>
4925
4926         stdalign tests: Skip the test when compiled by Sun C.
4927         * tests/test-stdalign.c (main): Skip the test on Sun C.
4928
4929 2011-11-06  Bruno Haible  <bruno@clisp.org>
4930
4931         ansi-c++-opt: Complete the 2011-06-05 change.
4932         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4933         does not support namespaces, set the variable to "no", not to ":".
4934
4935 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4936
4937         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4938
4939 2011-11-06  Bruno Haible  <bruno@clisp.org>
4940
4941         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4942         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4943         (minus_zerol) [HP-UX]: New macro.
4944         (unary_minus) [HP-UX]: New function.
4945         (copysignl) [HP-UX]: Use unary_minus function.
4946
4947 2011-11-06  Bruno Haible  <bruno@clisp.org>
4948
4949         ldexp, ldexpf, ldexpl: Enhance tests.
4950         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4951         and tests/test-ldexpl.c.
4952         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4953         LDEXP, MIN_EXP, MAX_EXP): New macros.
4954         Include test-ldexp.h.
4955         (main): Just call test_function.
4956         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4957         infinity.h, nan.h.
4958         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4959         MAX_EXP): New macros.
4960         Include test-ldexp.h.
4961         (x, y): Remove variables.
4962         (main): Just call test_function.
4963         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4964         infinity.h, nan.h.
4965         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4966         MAX_EXP): New macros.
4967         Include test-ldexp.h.
4968         (x, y): Remove variables.
4969         (main): Just call test_function.
4970         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4971         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4972         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4973         (Depends-on): Add isnand-nolibm, signbit, float.
4974         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4975         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4976         (Depends-on): Add isnanf-nolibm, signbit, float.
4977
4978 2011-11-06  Bruno Haible  <bruno@clisp.org>
4979
4980         math tests: Cosmetics.
4981         * tests/test-math-c++.cc: Reorder declarations.
4982
4983 2011-11-05  Bruno Haible  <bruno@clisp.org>
4984
4985         fma*: Simplify test.
4986         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4987         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4988
4989         Tests for module 'fmal'.
4990         * modules/fmal-tests: New file.
4991         * tests/test-fmal1.c: New file.
4992         * tests/test-fmal2.c: New file.
4993
4994         New module 'fmal'.
4995         * lib/math.in.h (fmal): New declaration.
4996         * lib/fmal.c: New file.
4997         * m4/fmal.m4: New file.
4998         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4999         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
5000         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
5001         REPLACE_FMAL.
5002         * modules/fmal: New file.
5003         * doc/posix-functions/fmal.texi: Mention the new module and the various
5004         bugs.
5005
5006         Tests for module 'fmaf'.
5007         * modules/fmaf-tests: New file.
5008         * tests/test-fmaf1.c: New file.
5009         * tests/test-fmaf2.c: New file.
5010
5011         New module 'fmaf'.
5012         * lib/math.in.h (fmaf): New declaration.
5013         * lib/fmaf.c: New file.
5014         * m4/fmaf.m4: New file.
5015         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
5016         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
5017         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
5018         REPLACE_FMAF.
5019         * modules/fmaf: New file.
5020         * doc/posix-functions/fmaf.texi: Mention the new module and the various
5021         bugs.
5022
5023         Tests for module 'fma'.
5024         * modules/fma-tests: New file.
5025         * tests/test-fma1.c: New file.
5026         * tests/test-fma1.h: New file.
5027         * tests/test-fma2.c: New file.
5028         * tests/test-fma2.h: New file.
5029
5030         New module 'fma'.
5031         * lib/math.in.h (fma): New declaration.
5032         * lib/fma.c: New file.
5033         * m4/fma.m4: New file.
5034         * m4/fegetround.m4: New file.
5035         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
5036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
5037         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
5038         REPLACE_FMA.
5039         * modules/fma: New file.
5040         * doc/posix-functions/fma.texi: Mention the new module and the various
5041         bugs.
5042
5043         Extend gl_MATHFUNC.
5044         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
5045         Support 'void' as argument type.
5046         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
5047
5048 2011-11-05  Jim Meyering  <meyering@redhat.com>
5049
5050         maint.mk: also prohibit inclusion of dirent.h without use
5051         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
5052
5053 2011-11-05  Bruno Haible  <bruno@clisp.org>
5054
5055         ldexpl tests: Avoid test failure on MSVC 9.
5056         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
5057         value. Needed in order to enforce the conversion from a value greater
5058         than LDBL_MAX to Infinity.
5059
5060 2011-11-05  Bruno Haible  <bruno@clisp.org>
5061
5062         New modules 'at-internal', 'openat-h', split off from module 'openat'.
5063         * modules/at-internal: New file, extracted from modules/openat.
5064         * modules/openat-h: New file.
5065         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
5066         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
5067         * modules/openat (Description): Add reference to POSIX function.
5068         (Files): Remove lib/openat.h, lib/openat-proc.c.
5069         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
5070         intprops, unistd.
5071         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
5072         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
5073         gl_FCNTL_MODULE_INDICATOR.
5074         (Include): Remove unistd.h, openat.h.
5075         * modules/areadlinkat (Files): Add lib/at-func.c.
5076         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5077         openat-die, openat-h, save-cwd.
5078         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
5079         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5080         openat-die, openat-h, save-cwd, unistd.
5081         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
5082         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5083         openat-h, save-cwd. Remove fcntl-h, openat.
5084         * modules/fchmodat (Files): Remove lib/openat.h.
5085         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5086         openat, stdbool, unistd.
5087         * modules/fchownat (Files): Remove lib/openat.h.
5088         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5089         openat, stdbool, sys_stat.
5090         * modules/fdopendir (Files): Remove lib/openat-priv.h,
5091         lib/openat-proc.c.
5092         (Depends-on): Add at-internal.
5093         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
5094         * modules/fstatat (Files): Remove lib/openat.h.
5095         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5096         stdbool, unistd.
5097         * modules/fts (Depends-on): Add openat-h.
5098         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
5099         openat.
5100         * modules/mkdirat (Files): Remove lib/openat.h.
5101         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
5102         openat, stdbool, sys_stat.
5103         * modules/mkfifoat (Files): Add lib/at-func.c.
5104         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5105         openat-h, save-cwd. Remove fcntl-h, openat.
5106         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
5107         * modules/readlinkat (Files): Add lib/at-func.c.
5108         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5109         openat-h, save-cwd. Remove fcntl-h, openat.
5110         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
5111         openat.
5112         * modules/selinux-at (Files): Add lib/at-func.c.
5113         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
5114         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
5115         * modules/symlinkat (Files): Add lib/at-func.c.
5116         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
5117         openat-h, save-cwd. Remove fcntl-h, openat.
5118         * modules/unlinkat (Files): Remove lib/openat.h.
5119         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
5120         stdbool.
5121         * modules/utimensat (Files): Add lib/at-func.c.
5122         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
5123         openat-die, openat-h, save-cwd.
5124         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
5125         * modules/fdutimensat-tests (Depends-on): Add openat.
5126         * modules/fstatat-tests (Depends-on): Add openat-h.
5127         * modules/readlinkat-tests (Depends-on): Add openat.
5128         * modules/symlinkat-tests (Depends-on): Add openat.
5129
5130 2011-11-05  Bruno Haible  <bruno@clisp.org>
5131
5132         openat: Include <stdbool.h>.
5133         * lib/openat.c: Include <stdbool.h>.
5134
5135 2011-11-04  Bruno Haible  <bruno@clisp.org>
5136
5137         fchownat, renameat, unlinkat: Fix dependencies.
5138         * modules/fchownat (Depends-on): Add fstatat.
5139         * modules/renameat (Depends-on): Likewise.
5140         * modules/unlinkat (Depends-on): Likewise.
5141
5142 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
5143
5144         openat: remove direct dependency on dirent
5145         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
5146         and hasn't been needed ever since fdopendir was split into its own
5147         module on 2009-08-31.
5148         * modules/openat (Depends-on): Remove dirent.
5149
5150 2011-11-04  Bruno Haible  <bruno@clisp.org>
5151
5152         renameat: Optimize code size.
5153         * modules/renameat (configure.ac): Don't compile at-func2.c if
5154         REPLACE_RENAMEAT is 1.
5155
5156 2011-11-04  Bruno Haible  <bruno@clisp.org>
5157
5158         openat tests: Fix file list.
5159         * modules/openat-tests (Files): Add tests/test-open.h.
5160
5161 2011-11-04  Bruno Haible  <bruno@clisp.org>
5162
5163         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
5164         * modules/fchmodat (Depends-on): Add openat-die.
5165         * modules/fchownat (Depends-on): Likewise.
5166         * modules/linkat (Depends-on): Likewise.
5167         * modules/renameat (Depends-on): Likewise.
5168         * modules/openat (Depends-on): Add dirent.
5169
5170 2011-11-04  Jim Meyering  <meyering@redhat.com>
5171
5172         at-func*.c: fix comments
5173         * lib/at-func2.c: Correct/improve first-line comment.
5174         * lib/at-func.c: Correct grammar in first-line comment.
5175
5176 2011-11-04  Bruno Haible  <bruno@clisp.org>
5177
5178         New module 'mkdirat', split off from module 'openat'.
5179         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
5180         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
5181         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
5182         * modules/mkdirat: New file, extracted from modules/openat.
5183         * modules/openat (Files): Remove lib/mkdirat.c.
5184         (Depends-on): Remove mkdir.
5185         (configure.ac): Remove AC_LIBOBJ of mkdirat.
5186         (Include): Remove <sys/stat.h>.
5187         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
5188         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
5189         tests/test-mkdir.h.
5190         (Depends-on): Remove ignore-value.
5191         (Makefile.am): Remove rules for test-mkdirat.
5192         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
5193         of module 'openat'.
5194         * NEWS: Mention the change.
5195
5196 2011-11-04  Bruno Haible  <bruno@clisp.org>
5197
5198         closedir: Avoid warning on mingw.
5199         * lib/closedir.c: Include <unistd.h>.
5200
5201 2011-11-04  Bruno Haible  <bruno@clisp.org>
5202
5203         New module 'fstatat', split off from module 'openat'.
5204         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
5205         defined.
5206         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
5207         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
5208         gl_FUNC_FSTATAT.
5209         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
5210         * modules/fstatat: New file, extracted from modules/openat.
5211         * modules/openat (Files): Remove lib/fstatat.c.
5212         (Depends-on): Remove lstat.
5213         (configure.ac): Remove AC_LIBOBJ of fstatat.
5214         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
5215         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
5216         tests/test-lstat.h, tests/test-stat.h.
5217         (Depends-on): Remove getcwd-lgpl.
5218         (Makefile.am): Remove rules for test-fstatat.
5219         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
5220         of module 'openat'.
5221         * NEWS: Mention the change.
5222         * modules/getcwd (Depends-on): Add fstatat.
5223         * modules/linkat (Depends-on): Likewise.
5224         * modules/mkfifoat-tests (Depends-on): Likewise.
5225         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
5226
5227 2011-11-03  Bruno Haible  <bruno@clisp.org>
5228
5229         New module 'unlinkat', split off from module 'openat'.
5230         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
5231         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
5232         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
5233         * modules/unlinkat: New file, extracted from modules/openat. Correct
5234         the dependency conditions.
5235         * modules/openat (Files): Remove lib/unlinkat.c.
5236         (Depends-on): Remove rmdir, unlink.
5237         (configure.ac): Remove AC_LIBOBJ of unlinkat.
5238         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
5239         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
5240         tests/test-rmdir.h, tests/test-unlink.h.
5241         (Depends-on): Remove unlinkdir.
5242         (Makefile.am): Remove rules for test-unlinkat.
5243         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
5244         of module 'openat'.
5245         * NEWS: Mention the change.
5246         * modules/linkat-tests (Depends-on): Add unlinkat.
5247         * modules/mkfifoat-tests (Depends-on): Likewise.
5248         * modules/readlinkat-tests (Depends-on): Likewise.
5249
5250 2011-11-02  Bruno Haible  <bruno@clisp.org>
5251
5252         New module 'fchmodat', split off from module 'openat'.
5253         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
5254         defined.
5255         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
5256         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
5257         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
5258         * modules/fchmodat: New file, extracted from modules/openat.
5259         * modules/openat (Files): Remove lib/fchmodat.c.
5260         (configure.ac): Remove AC_LIBOBJ of fchmodat.
5261         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
5262         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
5263         (Makefile.am): Remove rules for test-fchmodat.
5264         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
5265         of module 'openat'.
5266         * NEWS: Mention the change.
5267
5268 2011-11-02  Jim Meyering  <meyering@redhat.com>
5269
5270         putenv: indent #definition of "environ" to placate cppi
5271         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
5272
5273         gitlog-to-changelog: provide a ChangeLog-repair mechanism
5274         Git logs are often treated as immutable, because editing them
5275         changes the SHA1 checksums of all descendants.  Thus, errors in
5276         git logs tend to stay there forever.  However, when we generate
5277         a ChangeLog file -- typically for distribution -- from that git log,
5278         we can actually make corrections in the generated file.  The key
5279         lies in recording in machine-readable/applicable form the desired
5280         corrections.  See --help for description and an example.
5281         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
5282         (usage): Describe it; alphabetize option descriptions.
5283         (main): Honor the new option, carefully.
5284
5285 2011-11-01  Jim Meyering  <meyering@redhat.com>
5286
5287         gitlog-to-changelog: avoid an infloop
5288         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
5289         that ends up being empty.
5290
5291 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5292
5293         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
5294         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
5295         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
5296         contains (possibly-quoted) backslashes.  This should avoid
5297         all-too-common shell bugs if COMPLICATED contains backslashes in
5298         the "wrong" places.  Reported by David Evans in
5299         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
5300         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
5301         because we want ASCII ranges.  Is there some reason we don't use
5302         the C locale everywhere in this script?
5303         (func_module, top level): Avoid unwanted pathname expansion when
5304         $repo_url_prefix or $repo_url_suffix_repl contain shell
5305         metacharacters like '?' and '*'.
5306
5307 2011-11-01  Bruno Haible  <bruno@clisp.org>
5308
5309         fchownat: Improve description.
5310         * modules/fchownat (Description): Add link to function.
5311
5312 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5313
5314         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
5315         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
5316         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
5317         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
5318
5319 2011-11-01  Bruno Haible  <bruno@clisp.org>
5320
5321         alignof: Avoid collision with stdalign module.
5322         * lib/alignof.h (alignof): Remove macro.
5323         * NEWS: Mention the change.
5324         Reported by Paul Eggert.
5325
5326 2011-11-01  Bruno Haible  <bruno@clisp.org>
5327
5328         New module 'fchownat', split off from module 'openat'.
5329         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
5330         defined.
5331         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
5332         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
5333         invoke gl_FUNC_FCHOWNAT.
5334         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
5335         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
5336         * modules/fchownat: New file, extracted from modules/openat.
5337         * modules/openat (Files): Remove lib/fchownat.c.
5338         (Depends-on): Remove lchown.
5339         (configure.ac): Remove AC_LIBOBJ of fchownat.
5340         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
5341         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
5342         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
5343         (Depends-on): Remove mgetgroups, usleep, stat-time.
5344         (configure.ac): Remove test for getegid.
5345         (Makefile.am): Remove rules for test-fchownat.
5346         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
5347         of module 'openat'.
5348         * NEWS: Mention the change.
5349
5350 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
5351
5352         stdalign: port better to MSVC and to Sun C 5.11
5353         This fixes some of the problems reported by Bruno Haible in
5354         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
5355         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
5356         shortcomings of MSVC and of Sun C 5.11.
5357         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
5358         around __declspec arg.
5359         * modules/stdalign-tests (Files): Add tests/macros.h.
5360         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
5361         Include macros.h, for ASSERT.
5362         (DECLARE_ALIGNED): Remove.
5363         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
5364         to catch bug), and to 1 if not (simplifies the rest of the code).
5365         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
5366         (CHECK_AUTO): Remove.
5367         (CHECK_ALIGNED): Check only the alignment of the static vars,
5368         since auto var alignment isn't supported by Sun C 5.11.
5369         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
5370         ASSERT failures are easier to diagnose.
5371
5372 2011-10-31  Bruno Haible  <bruno@clisp.org>
5373
5374         doc about some IRIX 5.3 problems.
5375         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
5376         on IRIX 5.3.
5377         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
5378         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
5379         5.3.
5380         * doc/posix-functions/grantpt.texi: Likewise.
5381         * doc/posix-functions/unlockpt.texi: Likewise.
5382         * doc/posix-functions/lgamma.texi: Likewise.
5383         * doc/posix-functions/nextafter.texi: Likewise.
5384         * doc/posix-functions/remainder.texi: Likewise.
5385         * doc/posix-functions/select.texi: Mention misplaced declaration on
5386         IRIX 5.3.
5387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5388
5389 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
5390
5391         gitlog-to-changelog: fix git-log invocation.
5392         git-log mishandles date strings before 1970-01-01 UTC, and there is
5393         no use to specify --since=1970-01-01 by default anyway.
5394         * build-aux/gitlog-to-changelog: By default, when no --since option
5395         was given, do not specify explicit --since option to git-log.
5396
5397 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
5398
5399         gitlog-to-changelog: new option --append-dot.
5400         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
5401         first non-blank line of each commit message terminated with a dot.
5402
5403 2011-10-30  Bruno Haible  <bruno@clisp.org>
5404
5405         ffsl, ffsll: Avoid compilation error due to 'restrict'.
5406         * lib/ffsl.h: Include <config.h>.
5407         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
5408
5409 2011-10-30  Jim Meyering  <meyering@redhat.com>
5410
5411         GNUmakefile: reenable "make syntax-check" for most projects
5412         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
5413         build-aux variable", "syntax-check" would do nothing but succeed with
5414         the "No version control files detected..." diagnostic (unless you
5415         happened to override _build-aux via cfg.mk).
5416         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
5417         to precede inclusion of maint.mk.  Otherwise, these variables would
5418         be used undefined in any project that does not override the default.
5419
5420 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
5421
5422         gitlog-to-changelog: treat a message with only blank lines as empty.
5423         * build-aux/gitlog-to-changelog: Move the code that removes leading and
5424         trailing blank lines before the code that issues a warning about an
5425         empty commit message.
5426
5427 2011-10-30  Jim Meyering  <meyering@redhat.com>
5428
5429         test-parse-datetime.c: avoid new DST-related false positive test failure
5430         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
5431         based on the time/date we'll convert, not the current time.
5432         Otherwise, the moment we cross a DST boundary like today's in
5433         Europe, (CEST to CET), that offset ends up being one hour off.
5434
5435 2011-10-27  Bruno Haible  <bruno@clisp.org>
5436
5437         fstat: Tweak documentation.
5438         * modules/fstat (Description): More precise description.
5439
5440 2011-10-27  Bruno Haible  <bruno@clisp.org>
5441
5442         Update documentation regarding 'largefile' module.
5443         * doc/posix-functions/fstat.texi: Tweak wording.
5444         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5445         problems with huge directories and/or small ino_t types.
5446         * doc/posix-functions/readdir.texi: Likewise.
5447         * doc/posix-functions/rewinddir.texi: Likewise.
5448
5449 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5450
5451         maint.mk: don't maintain a second build-aux variable.
5452         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5453         depends on GNUmakefile, which already maintains a cfg.mk
5454         overridable $(_build-aux) for projects with a non-standard
5455         build-aux directory location, although without the $(srcdir)
5456         prefix.  Use that variable consistently instead of introducing a
5457         second one.  Adjust all call sites.
5458
5459 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5460
5461         Add stdalign module and use it in other modules.
5462         This is based on a previous proposal by Bruno Haible
5463         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5464
5465         stdalign: new module
5466         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5467         * modules/stdalign: New files.
5468         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5469         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5470
5471         stdalign-tests: new module
5472         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5473
5474         argp: use stdalign
5475         * lib/argp-parse.c: Include <stdalign.h>.
5476         (alignof): Remove.
5477         * modules/argp (Depends-on): Add stdalign.
5478
5479         crypto libraries: use stdalign
5480         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5481         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5482         Do not include <stdlib.h> twice, in md4.c.
5483         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5484         because we are accessing a pointer's bit-pattern, not a size.
5485         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5486         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5487         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5488         * modules/crypto/sha512: Likewise.
5489
5490         sys_socket: use stdalign, not alignof
5491         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5492         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5493
5494 2011-10-27  Bruno Haible  <bruno@clisp.org>
5495
5496         raise test: Avoid a test failure on Linux/MIPS.
5497         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5498         because 99 is a valid signal on Linux/MIPS.
5499
5500 2011-10-27  Bruno Haible  <bruno@clisp.org>
5501
5502         nonblocking tests: Fix test failure on Linux/MIPS.
5503         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5504         Set to 270000.
5505
5506 2011-10-27  Bruno Haible  <bruno@clisp.org>
5507
5508         utimensat: Work around problem on Linux/hppa.
5509         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5510         values.
5511         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5512
5513 2011-10-25  Jim Meyering  <meyering@redhat.com>
5514
5515         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5516         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5517         after symbols like NULL, size_t, etc.
5518         Reported by Alfred M. Szmidt.
5519
5520         maint.mk: exempt ENODATA from a syntax-check rule
5521         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5522         from the sc_prohibit_always-defined_macros syntax-check rule.
5523         Add a comment.  See this for more details:
5524         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5525
5526 2011-10-23  Jim Meyering  <meyering@redhat.com>
5527
5528         fts: close parent dir FD before returning from post-traversal fts_read
5529         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5530         unlink A, even though an FD open on A remained.  This is suboptimal
5531         (holding a file descriptor open longer than needed), but otherwise not
5532         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5533         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5534         that represents a real problem: it causes the removal of A to fail
5535         with e.g., "rm: cannot remove `A': Device or resource busy"
5536
5537         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5538         directory file descriptors.  After completing the final, FTS_DP,
5539         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5540         cache, but then proceeded to add a new FD to it via the subsequent
5541         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5542         final file descriptor would be closed only via fts_close's call to
5543         fd_ring_clear.  Now, it is usually closed earlier, via the final
5544         FTS_DP-returning fts_read call.
5545         * lib/fts.c (restore_initial_cwd): New function, converted from
5546         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5547         Update callers.
5548         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5549         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5550
5551 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5552             Bruno Haible  <bruno@clisp.org>
5553             Jim Meyering  <jim@meyering.net>
5554
5555         readme-release: improve safety of release prep instructions.
5556         * README-release: Don't git pull all branches when only master
5557         is needed for the release process.
5558         Run make maintainer-clean before changing trees and merging.
5559         Don't try to run ./configure right after git pull in case files
5560         that influence the bootstrap process have changed, move the
5561         ./configure step to after running ./bootstrap.
5562         Don't bootstrap "one last time"... it's the first time!
5563
5564 2011-10-22  Bruno Haible  <bruno@clisp.org>
5565
5566         errno, strerror-override: Support for MSVC 10.
5567         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5568         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5569         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5570         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5571         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5572         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5573         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5574         Assign values compatible with MSVC 10.
5575         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5576         New macros.
5577         (GNULIB_defined_EWINSOCK): New macro.
5578         * lib/strerror-override.c (strerror_override): Update accordingly.
5579         * lib/strerror-override.h: Likewise.
5580         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5581         longer equal to the corresponding errno value.
5582         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5583
5584 2011-10-22  Bruno Haible  <bruno@clisp.org>
5585
5586         perror: Recognize when test program crashes.
5587         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5588         strerror, set gl_cv_func_perror_works to no.
5589         Reported by Daniel Richard G. <skunk@iskunk.org>.
5590
5591         perror: Fix indentation.
5592         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5593
5594 2011-10-22  Bruno Haible  <bruno@clisp.org>
5595
5596         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5597         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5598         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5599         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5600         functions, not as a macro.
5601         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5602         macros.
5603         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5604         absence of macro.
5605         Suggested by Eric Blake.
5606         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5607
5608 2011-10-21  Bruno Haible  <bruno@clisp.org>
5609
5610         relocatable-prog-wrapper: Don't leave object files behind.
5611         * build-aux/install-reloc: Re-synchronize list of .o files to be
5612         removed with list of compilation units.
5613
5614 2011-10-20  Bruno Haible  <bruno@clisp.org>
5615
5616         openpty, posix_openpt: Remove code duplication.
5617         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5618         * lib/openpty.c: Include <stdlib.h>.
5619         (openpty): Use posix_openpt on all platforms except IRIX.
5620         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5621
5622 2011-10-20  Bruno Haible  <bruno@clisp.org>
5623
5624         unlockpt: Detect invalid argument.
5625         * lib/unlockpt.c: Include <fcntl.h>.
5626         (unlockpt): Check whether fd is valid, using fcntl().
5627         * modules/unlockpt (Depends-on): Add fcntl-h.
5628
5629 2011-10-20  Bruno Haible  <bruno@clisp.org>
5630
5631         openpty: Avoid compilation error on AIX 6.1.
5632         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5633
5634 2011-10-20  Bruno Haible  <bruno@clisp.org>
5635
5636         posix_openpt: Support for OpenBSD.
5637         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5638         (posix_openpt) [OpenBSD]: New code.
5639         * lib/grantpt.c: Include <fcntl.h>.
5640         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5641         * modules/grantpt (Depends-on): Add fcntl-h.
5642
5643 2011-10-20  Bruno Haible  <bruno@clisp.org>
5644
5645         posix_openpt test: Coding style.
5646         * tests/test-posix_openpt.c: Use GNU coding style.
5647
5648 2011-10-20  Bruno Haible  <bruno@clisp.org>
5649
5650         grantpt: Support --avoid=pt_chown.
5651         * modules/grantpt (Files): Add lib/pty-private.h.
5652
5653 2011-10-20  Bruno Haible  <bruno@clisp.org>
5654
5655         posix_openpt: Fix autoconf macro.
5656         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5657         unneeded check for _getpty.
5658
5659 2011-10-20  Bruno Haible  <bruno@clisp.org>
5660
5661         openpty: Update comments.
5662         * lib/openpty.c: Add comments about Minix.
5663
5664 2011-10-19  Eric Blake  <eblake@redhat.com>
5665
5666         openpty: relax license
5667         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5668
5669         pt_chown: use configmake to simplify build
5670         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5671
5672         ptsname and others: relax license
5673         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5674         * modules/unlockpt (License): Likewise.
5675         * modules/pt_chown (License): Likewise.
5676         * modules/ptsname (License): Likewise.
5677         * modules/ttyname_r (License): Likewise.
5678
5679 2011-10-19  Jim Meyering  <meyering@redhat.com>
5680
5681         posix_openpt: remove spurious #endif
5682         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5683
5684 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5685
5686         maint.mk: Respect $(build_aux) in web-manual rule.
5687         * top/maint.mk (web-manual): Find gen-announce script in user's
5688         $(build_aux) directory instead of hard-coding 'build-aux'.
5689
5690 2011-10-19  Bruno Haible  <bruno@clisp.org>
5691
5692         posix_openpt: Fix compilation error.
5693         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5694         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5695         Mention the openpty module as an alternative.
5696
5697 2011-10-19  Bruno Haible  <bruno@clisp.org>
5698
5699         Support for old NeXTstep 3.3 frexp().
5700         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5701         execution time of the test to 5 seconds.
5702         Reported by Daniel Richard G. <skunk@iskunk.org>.
5703
5704 2011-10-19  Bruno Haible  <bruno@clisp.org>
5705
5706         Support for old NeXTstep 3.3 sed.
5707         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5708         part, use /.../, not \|...|. Escape periods in the header file name.
5709         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5710         Reported by Daniel Richard G. <skunk@iskunk.org>.
5711
5712 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5713
5714         Support for old NeXTstep 3.3 gcc.
5715         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5716         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5717         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5718         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5719         * lib/regex.h (_Restrict_arr_): Likewise.
5720         * lib/regex_internal.h (re_token_t): Likewise.
5721         * lib/regexec.c (check_node_accept_bytes): Likewise.
5722         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5723
5724 2011-10-18  Eric Blake  <eblake@redhat.com>
5725
5726         posix_openpt: new module
5727         * modules/posix_openpt: New module.
5728         * m4/posix_openpt.m4: New file.
5729         * lib/posix_openpt.c: Likewise.
5730         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5731         (gl_STDLIB_H_DEFAULTS): Set defaults.
5732         * modules/stdlib (Makefile.am): Substitute macros.
5733         * lib/stdlib.in.h (posix_openpt): Declare.
5734         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5735         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5736         * modules/posix_openpt-tests: New test module.
5737         * tests/test-posix_openpt.c: New test.
5738
5739 2011-10-15  Bruno Haible  <bruno@clisp.org>
5740
5741         xstrtoll: Fix compilation failure.
5742         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5743         from lib/strtol.c.
5744         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5745         some platforms.
5746         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5747
5748 2011-10-15  Bruno Haible  <bruno@clisp.org>
5749
5750         vasnprintf: Optimize bit search operation.
5751         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5752         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5753         gl_DOUBLE_EXPONENT_LOCATION.
5754         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5755         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5756         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5757         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5758         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5759         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5760         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5761         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5762         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5763
5764 2011-10-15  Bruno Haible  <bruno@clisp.org>
5765
5766         vasnprintf: Fix comments.
5767         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5768
5769 2011-10-14  Bruno Haible  <bruno@clisp.org>
5770
5771         Tests for module 'integer_length_ll'.
5772         * modules/integer_length_ll-tests: New file.
5773         * tests/test-integer_length_ll.c: New file.
5774
5775         New module 'integer_length_ll'.
5776         * lib/integer_length_ll.c: New file.
5777         * modules/integer_length_ll: New file.
5778
5779 2011-10-14  Bruno Haible  <bruno@clisp.org>
5780
5781         Tests for module 'integer_length_l'.
5782         * modules/integer_length_l-tests: New file.
5783         * tests/test-integer_length_l.c: New file.
5784
5785         New module 'integer_length_l'.
5786         * lib/integer_length_l.c: New file.
5787         * modules/integer_length_l: New file.
5788
5789 2011-10-14  Bruno Haible  <bruno@clisp.org>
5790
5791         Tests for module 'integer_length'.
5792         * modules/integer_length-tests: New file.
5793         * tests/test-integer_length.c: New file.
5794
5795         New module 'integer_length'.
5796         * lib/integer_length.h: New file.
5797         * lib/integer_length.c: New file.
5798         * modules/integer_length: New file.
5799
5800 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5801
5802         popen: Fix dependency conditions.
5803         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5804
5805 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5806
5807         perror: Fix autoconf test.
5808         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5809         <stdlib.h> and <string.h>.
5810
5811 2011-10-14  Bruno Haible  <bruno@clisp.org>
5812
5813         ffsl: Optimize on 64-bit platforms.
5814         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5815         unrolling.
5816
5817 2011-10-13  Bruno Haible  <bruno@clisp.org>
5818
5819         ffsl: Optimize on 32-bit platforms.
5820         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5821         use ffs() without a loop.
5822
5823         ffsl, ffsll: Optimize for GCC.
5824         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5825         * lib/ffsl.c (GCC_BUILTIN): New macro.
5826         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5827
5828 2011-10-13  Bruno Haible  <bruno@clisp.org>
5829
5830         ffs, bcopy, memset: Support symbol renaming via config.h.
5831         * lib/ffs.c: Include <config.h>.
5832         * lib/bcopy.c: Likewise.
5833         * lib/memset.c: Likewise.
5834
5835 2011-10-10  Bruno Haible  <bruno@clisp.org>
5836
5837         atanl: Simplify for platforms where 'long double' == 'double'.
5838         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5839         alternative implementation.
5840         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5841         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5842         * modules/atanl (Depends-on): Add atan. Update conditions.
5843
5844 2011-10-10  Bruno Haible  <bruno@clisp.org>
5845
5846         acosl: Simplify for platforms where 'long double' == 'double'.
5847         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5848         alternative implementation.
5849         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5850         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5851         * modules/acosl (Depends-on): Add acos. Update conditions.
5852
5853 2011-10-10  Bruno Haible  <bruno@clisp.org>
5854
5855         asinl: Simplify for platforms where 'long double' == 'double'.
5856         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5857         alternative implementation.
5858         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5859         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5860         * modules/asinl (Depends-on): Add asin. Update conditions.
5861
5862 2011-10-10  Bruno Haible  <bruno@clisp.org>
5863
5864         tanl: Simplify for platforms where 'long double' == 'double'.
5865         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5866         implementation.
5867         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5868         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5869         * modules/tanl (Depends-on): Add tan. Update conditions.
5870         (configure.ac): Don't compile trigl.c if
5871         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5872
5873 2011-10-10  Bruno Haible  <bruno@clisp.org>
5874
5875         cosl: Simplify for platforms where 'long double' == 'double'.
5876         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5877         implementation.
5878         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5879         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5880         * modules/cosl (Depends-on): Add cos. Update conditions.
5881         (configure.ac): Don't compile sincosl.c and trigl.c if
5882         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5883
5884 2011-10-10  Bruno Haible  <bruno@clisp.org>
5885
5886         sinl: Simplify for platforms where 'long double' == 'double'.
5887         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5888         implementation.
5889         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5890         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5891         * modules/sinl (Depends-on): Add sin. Update conditions.
5892         (configure.ac): Don't compile sincosl.c and trigl.c if
5893         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5894
5895 2011-10-10  Bruno Haible  <bruno@clisp.org>
5896
5897         logl: Simplify for platforms where 'long double' == 'double'.
5898         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5899         implementation.
5900         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5901         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5902         * modules/logl (Depends-on): Add log. Update conditions.
5903
5904 2011-10-10  Bruno Haible  <bruno@clisp.org>
5905
5906         expl: Simplify for platforms where 'long double' == 'double'.
5907         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5908         implementation.
5909         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5910         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5911         * modules/expl (Depends-on): Add exp. Update conditions.
5912
5913 2011-10-10  Bruno Haible  <bruno@clisp.org>
5914
5915         sqrtl: Simplify for platforms where 'long double' == 'double'.
5916         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5917         alternative implementation.
5918         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5919         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5920         * modules/sqrtl (Depends-on): Update conditions.
5921
5922 2011-10-10  Bruno Haible  <bruno@clisp.org>
5923
5924         ldexpl: Simplify for platforms where 'long double' == 'double'.
5925         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5926         alternative implementation.
5927         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5928         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5929         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5930
5931 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5932
5933         ffsll: set correct witness
5934         * modules/ffsll (configure.ac): Fix typo.
5935
5936 2011-10-10  Bruno Haible  <bruno@clisp.org>
5937
5938         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5939         * lib/printf-frexpl.c: Include <config.h>.
5940         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5941         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5942         second time.
5943         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5944         gl_LONG_DOUBLE_VS_DOUBLE.
5945         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5946         conditions.
5947
5948 2011-10-10  Bruno Haible  <bruno@clisp.org>
5949
5950         frexpl: Simplify for platforms where 'long double' == 'double'.
5951         * lib/frexpl.c: Include <config.h>.
5952         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5953         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5954         time.
5955         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5956         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5957         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5958         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5959         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5960         conditions.
5961
5962 2011-10-10  Jim Meyering  <meyering@redhat.com>
5963
5964         test-renameat: don't leave behind a temporary file
5965         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5966           ERROR: files left in build directory after distclean:
5967           ./gltests/test-renameat.too
5968           make[1]: *** [distcleancheck] Error 1
5969         Reported by Tom G. Christensen.
5970
5971 2011-10-09  Bruno Haible  <bruno@clisp.org>
5972
5973         rint: Determine RINT_LIBM correctly on AIX 7.
5974         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5975         directly, not only through a function pointer. Also accept an optional
5976         4th argument with extra code.
5977         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5978         rintf() call by gcc when optimizing.
5979
5980         mathfunc.m4: Refactor.
5981         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5982         m4 variable.
5983
5984 2011-10-09  Bruno Haible  <bruno@clisp.org>
5985
5986         rintl: Simplify for platforms where 'long double' == 'double'.
5987         * lib/rintl.c: Include <config.h>.
5988         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5989         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5990         time.
5991         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5992         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5993         * modules/rintl (Depends-on): Add rint. Update conditions.
5994
5995 2011-10-09  Bruno Haible  <bruno@clisp.org>
5996
5997         roundl: Simplify for platforms where 'long double' == 'double'.
5998         * lib/roundl.c: Include <config.h>.
5999         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6000         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6001         time.
6002         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6003         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6004         * modules/roundl (Depends-on): Add round. Update conditions.
6005
6006 2011-10-09  Bruno Haible  <bruno@clisp.org>
6007
6008         truncl: Simplify for platforms where 'long double' == 'double'.
6009         * lib/truncl.c: Include <config.h>.
6010         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6011         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6012         time.
6013         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6014         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6015         * modules/truncl (Depends-on): Add trunc. Update conditions.
6016
6017 2011-10-09  Bruno Haible  <bruno@clisp.org>
6018
6019         ceill: Simplify for platforms where 'long double' == 'double'.
6020         * lib/ceill.c: Include <config.h>.
6021         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6022         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6023         time.
6024         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6025         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6026         * modules/ceill (Depends-on): Add ceil. Update conditions.
6027
6028 2011-10-09  Bruno Haible  <bruno@clisp.org>
6029
6030         floorl: Simplify for platforms where 'long double' == 'double'.
6031         * lib/floorl.c: Include <config.h>.
6032         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
6033         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
6034         time.
6035         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6036         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6037         * modules/floorl (Depends-on): Add floor. Update conditions.
6038
6039 2011-10-09  Bruno Haible  <bruno@clisp.org>
6040
6041         rint: Fix ordering constraints.
6042         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
6043         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6044         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6045
6046 2011-10-09  Bruno Haible  <bruno@clisp.org>
6047
6048         copysignl: Simplify for platforms where 'long double' == 'double'.
6049         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
6050         alternative.
6051         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6052         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
6053         * modules/copysignl (Depends-on): Add copysign. Update conditions.
6054
6055 2011-10-09  Bruno Haible  <bruno@clisp.org>
6056
6057         Tests for module 'rintl'.
6058         * modules/rintl-tests: New file.
6059         * tests/test-rintl.c: New file.
6060
6061         New module 'rintl'.
6062         * lib/math.in.h (rintl): New declaration.
6063         * lib/rintl.c: New file.
6064         * m4/rintl.m4: New file.
6065         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
6066         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
6067         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
6068         * modules/rintl: New file.
6069         * tests/test-math-c++.cc: Check the declaration of rintl.
6070         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6071         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
6072         * doc/posix-functions/rintl.texi: Mention the new module.
6073
6074 2011-10-09  Bruno Haible  <bruno@clisp.org>
6075
6076         Tests for module 'rintf'.
6077         * modules/rintf-tests: New file.
6078         * tests/test-rintf.c: New file.
6079
6080         New module 'rintf'.
6081         * lib/math.in.h (rintf): New declaration.
6082         * lib/rintf.c: New file.
6083         * m4/rintf.m4: New file.
6084         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
6085         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
6086         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
6087         * modules/rintf: New file.
6088         * tests/test-math-c++.cc: Check the declaration of rintf.
6089         * doc/posix-functions/rintf.texi: Mention the new module.
6090
6091 2011-10-09  Bruno Haible  <bruno@clisp.org>
6092
6093         rint: Support for MSVC.
6094         * lib/math.in.h (rint): New declaration.
6095         * lib/rint.c: New file.
6096         * m4/rint.m4: New file.
6097         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
6098         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
6099         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
6100         * modules/rint (Description): Fix.
6101         (Files): Add lib/rint.c, m4/rint.m4.
6102         (Depends-on): Add math.
6103         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
6104         gl_MATH_MODULE_INDICATOR.
6105         * tests/test-math-c++.cc: Check the declaration of rint.
6106         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6107         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
6108         * doc/posix-functions/rint.texi: Mention the replacement provided by
6109         the module.
6110
6111         rint tests: More tests.
6112         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
6113         minus-zero.h, infinity.h, nan.h.
6114         (main): Skip the test if the current rounding mode is not standard. Add
6115         tests for negative numbers, minus zero, infinity, NaN.
6116         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
6117         tests/nan.h.
6118         (Depends-on): Add isnand-nolibm.
6119
6120 2011-10-09  Bruno Haible  <bruno@clisp.org>
6121
6122         Tests for module 'copysignl'.
6123         * modules/copysignl-tests: New file.
6124         * tests/test-copysignl.c: New file.
6125
6126         New module 'copysignl'.
6127         * lib/math.in.h (copysignl): New declaration.
6128         * lib/copysignl.c: New file.
6129         * m4/copysignl.m4: New file.
6130         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
6131         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
6132         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
6133         HAVE_COPYSIGNL.
6134         * modules/copysignl: New file.
6135         * tests/test-math-c++.cc: Check the declaration of copysignl.
6136         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
6137         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
6138         * doc/posix-functions/copysignl.texi: Mention the new module.
6139
6140 2011-10-09  Bruno Haible  <bruno@clisp.org>
6141
6142         Tests for module 'copysignf'.
6143         * modules/copysignf-tests: New file.
6144         * tests/test-copysignf.c: New file.
6145
6146         New module 'copysignf'.
6147         * lib/math.in.h (copysignf): New declaration.
6148         * lib/copysignf.c: New file.
6149         * m4/copysignf.m4: New file.
6150         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
6151         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
6152         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
6153         HAVE_COPYSIGNF.
6154         * modules/copysignf: New file.
6155         * tests/test-math-c++.cc: Check the declaration of copysignf.
6156         * doc/posix-functions/copysignf.texi: Mention the new module.
6157
6158 2011-10-09  Bruno Haible  <bruno@clisp.org>
6159
6160         Ensure that HAVE_* variables are set to 1 before they are set to 0.
6161         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
6162         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
6163         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
6164         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
6165         gl_SIGNAL_H_DEFAULTS.
6166
6167 2011-10-09  Bruno Haible  <bruno@clisp.org>
6168
6169         poll: Make macro safer.
6170         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
6171         ac_cv_header_poll_h is not set.
6172
6173 2011-10-09  Bruno Haible  <bruno@clisp.org>
6174
6175         copysign: Provide replacement.
6176         * lib/math.in.h (copysign): New declaration.
6177         * lib/copysign.c: New file.
6178         * m4/copysign.m4: New file.
6179         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
6180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
6181         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
6182         HAVE_COPYSIGN.
6183         * modules/copysign (Description): Clarify.
6184         (Files): Add lib/copysign.c, m4/copysign.m4.
6185         (Depends-on): Add math, signbit.
6186         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
6187         gl_MATH_MODULE_INDICATOR.
6188         * tests/test-math-c++.cc: Check the declaration of copysign.
6189         * doc/posix-functions/copysign.texi: Mention the effects of the module
6190         on Minix and MSVC.
6191
6192 2011-10-09  Bruno Haible  <bruno@clisp.org>
6193
6194         isinf: Ensure macro on AIX 5.1.
6195         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
6196         macro.
6197         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
6198
6199 2011-10-09  Bruno Haible  <bruno@clisp.org>
6200
6201         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
6202         * modules/snprintf-posix-tests (configure.ac): Require
6203         gl_LONG_DOUBLE_VS_DOUBLE.
6204         * modules/sprintf-posix-tests (configure.ac): Likewise.
6205         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
6206         * modules/vasprintf-posix-tests (configure.ac): Likewise.
6207         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
6208         * modules/vsprintf-posix-tests (configure.ac): Likewise.
6209         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
6210         tests on platforms where 'long double' is the same as 'double'.
6211         * tests/test-sprintf-posix.h (test_function): Likewise.
6212         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6213         * tests/test-vasprintf-posix.c (test_function): Likewise.
6214
6215         *printf: Fix for platforms where 'long double' == 'double'.
6216         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
6217         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
6218         * modules/dprintf-posix (Files): Add m4/math_h.m4.
6219         * modules/fprintf-posix (Files): Likewise.
6220         * modules/obstack-printf-posix (Files): Likewise.
6221         * modules/snprintf-posix (Files): Likewise.
6222         * modules/sprintf-posix (Files): Likewise.
6223         * modules/vasnprintf (Files): Likewise.
6224         * modules/vasnprintf-posix (Files): Likewise.
6225         * modules/vasprintf-posix (Files): Likewise.
6226         * modules/vdprintf-posix (Files): Likewise.
6227         * modules/vfprintf-posix (Files): Likewise.
6228         * modules/vsnprintf-posix (Files): Likewise.
6229         * modules/vsprintf-posix (Files): Likewise.
6230         * modules/unistdio/u8-vasnprintf (Files): Likewise.
6231         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
6232         * modules/unistdio/u16-vasnprintf (Files): Likewise.
6233         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
6234         * modules/unistdio/u32-vasnprintf (Files): Likewise.
6235         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
6236         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
6237
6238         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
6239         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
6240         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
6241         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
6242         'long double'.
6243         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
6244
6245         isinf: Fix for platforms where 'long double' == 'double'.
6246         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6247         Don't blindly assume 80-bit 'long double'.
6248
6249         isfinite: Fix for platforms where 'long double' == 'double'.
6250         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
6251         Don't blindly assume 80-bit 'long double'.
6252
6253         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
6254         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
6255         * modules/isfinite-tests (configure.ac): Require
6256         gl_LONG_DOUBLE_VS_DOUBLE.
6257         * modules/isinf-tests (configure.ac): Likewise.
6258         * modules/isnan-tests (configure.ac): Likewise.
6259         * modules/isnanl-tests (configure.ac): Likewise.
6260         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
6261         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
6262         tests on platforms where 'long double' is the same as 'double'.
6263         * tests/test-isinf.c (test_isinfl): Likewise.
6264         * tests/test-isnan.c (test_long_double): Likewise.
6265         * tests/test-isnanl.h (main): Likewise.
6266
6267 2011-10-08  Bruno Haible  <bruno@clisp.org>
6268
6269         Tests for module 'tanhf'.
6270         * modules/tanhf-tests: New file.
6271         * tests/test-tanhf.c: New file.
6272
6273         New module 'tanhf'.
6274         * lib/math.in.h (tanhf): New declaration.
6275         * lib/tanhf.c: New file.
6276         * m4/tanhf.m4: New file.
6277         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
6278         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
6279         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
6280         * modules/tanhf: New file.
6281         * tests/test-math-c++.cc: Check the declaration of tanhf.
6282         * doc/posix-functions/tanhf.texi: Mention the new module.
6283
6284         tanh: Use a .m4 file.
6285         * m4/tanh.m4: New file.
6286         * modules/tanh (Files): Add it.
6287         (configure.ac): Just invoke gl_FUNC_TANH.
6288
6289 2011-10-08  Bruno Haible  <bruno@clisp.org>
6290
6291         Tests for module 'coshf'.
6292         * modules/coshf-tests: New file.
6293         * tests/test-coshf.c: New file.
6294
6295         New module 'coshf'.
6296         * lib/math.in.h (coshf): New declaration.
6297         * lib/coshf.c: New file.
6298         * m4/coshf.m4: New file.
6299         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
6300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
6301         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
6302         * modules/coshf: New file.
6303         * tests/test-math-c++.cc: Check the declaration of coshf.
6304         * doc/posix-functions/coshf.texi: Mention the new module.
6305
6306         cosh: Use a .m4 file.
6307         * m4/cosh.m4: New file.
6308         * modules/cosh (Files): Add it.
6309         (configure.ac): Just invoke gl_FUNC_COSH.
6310
6311 2011-10-08  Bruno Haible  <bruno@clisp.org>
6312
6313         Tests for module 'sinhf'.
6314         * modules/sinhf-tests: New file.
6315         * tests/test-sinhf.c: New file.
6316
6317         New module 'sinhf'.
6318         * lib/math.in.h (sinhf): New declaration.
6319         * lib/sinhf.c: New file.
6320         * m4/sinhf.m4: New file.
6321         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
6322         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
6323         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
6324         * modules/sinhf: New file.
6325         * tests/test-math-c++.cc: Check the declaration of sinhf.
6326         * doc/posix-functions/sinhf.texi: Mention the new module.
6327
6328         sinh: Use a .m4 file.
6329         * m4/sinh.m4: New file.
6330         * modules/sinh (Files): Add it.
6331         (configure.ac): Just invoke gl_FUNC_SINH.
6332
6333 2011-10-08  Bruno Haible  <bruno@clisp.org>
6334
6335         Tests for module 'atan2f'.
6336         * modules/atan2f-tests: New file.
6337         * tests/test-atan2f.c: New file.
6338
6339         New module 'atan2f'.
6340         * lib/math.in.h (atan2f): New declaration.
6341         * lib/atan2f.c: New file.
6342         * m4/atan2f.m4: New file.
6343         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
6344         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
6345         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
6346         * modules/atan2f: New file.
6347         * tests/test-math-c++.cc: Check the declaration of atan2f.
6348         * doc/posix-functions/atan2f.texi: Mention the new module.
6349
6350         atan2: Use a .m4 file.
6351         * m4/atan2.m4: New file.
6352         * modules/atan2 (Files): Add it.
6353         (configure.ac): Just invoke gl_FUNC_ATAN2.
6354
6355 2011-10-08  Bruno Haible  <bruno@clisp.org>
6356
6357         Tests for module 'atanf'.
6358         * modules/atanf-tests: New file.
6359         * tests/test-atanf.c: New file.
6360
6361         New module 'atanf'.
6362         * lib/math.in.h (atanf): New declaration.
6363         * lib/atanf.c: New file.
6364         * m4/atanf.m4: New file.
6365         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
6366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
6367         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
6368         * modules/atanf: New file.
6369         * tests/test-math-c++.cc: Check the declaration of atanf.
6370         * doc/posix-functions/atanf.texi: Mention the new module.
6371
6372         atan: Use a .m4 file.
6373         * m4/atan.m4: New file.
6374         * modules/atan (Files): Add it.
6375         (configure.ac): Just invoke gl_FUNC_ATAN.
6376
6377 2011-10-08  Bruno Haible  <bruno@clisp.org>
6378
6379         Tests for module 'acosf'.
6380         * modules/acosf-tests: New file.
6381         * tests/test-acosf.c: New file.
6382
6383         New module 'acosf'.
6384         * lib/math.in.h (acosf): New declaration.
6385         * lib/acosf.c: New file.
6386         * m4/acosf.m4: New file.
6387         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
6388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
6389         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
6390         * modules/acosf: New file.
6391         * tests/test-math-c++.cc: Check the declaration of acosf.
6392         * doc/posix-functions/acosf.texi: Mention the new module.
6393
6394         acos: Use a .m4 file.
6395         * m4/acos.m4: New file.
6396         * modules/acos (Files): Add it.
6397         (configure.ac): Just invoke gl_FUNC_ACOS.
6398
6399 2011-10-08  Bruno Haible  <bruno@clisp.org>
6400
6401         Tests for module 'asinf'.
6402         * modules/asinf-tests: New file.
6403         * tests/test-asinf.c: New file.
6404
6405         New module 'asinf'.
6406         * lib/math.in.h (asinf): New declaration.
6407         * lib/asinf.c: New file.
6408         * m4/asinf.m4: New file.
6409         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
6410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
6411         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
6412         * modules/asinf: New file.
6413         * tests/test-math-c++.cc: Check the declaration of asinf.
6414         * doc/posix-functions/asinf.texi: Mention the new module.
6415
6416         asin: Use a .m4 file.
6417         * m4/asin.m4: New file.
6418         * modules/asin (Files): Add it.
6419         (configure.ac): Just invoke gl_FUNC_ASIN.
6420
6421 2011-10-08  Bruno Haible  <bruno@clisp.org>
6422
6423         Tests for module 'tanf'.
6424         * modules/tanf-tests: New file.
6425         * tests/test-tanf.c: New file.
6426
6427         New module 'tanf'.
6428         * lib/math.in.h (tanf): New declaration.
6429         * lib/tanf.c: New file.
6430         * m4/tanf.m4: New file.
6431         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
6432         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
6433         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
6434         * modules/tanf: New file.
6435         * tests/test-math-c++.cc: Check the declaration of tanf.
6436         * doc/posix-functions/tanf.texi: Mention the new module.
6437
6438         tan: Use a .m4 file.
6439         * m4/tan.m4: New file.
6440         * modules/tan (Files): Add it.
6441         (configure.ac): Just invoke gl_FUNC_TAN.
6442
6443 2011-10-08  Bruno Haible  <bruno@clisp.org>
6444
6445         Tests for module 'cosf'.
6446         * modules/cosf-tests: New file.
6447         * tests/test-cosf.c: New file.
6448
6449         New module 'cosf'.
6450         * lib/math.in.h (cosf): New declaration.
6451         * lib/cosf.c: New file.
6452         * m4/cosf.m4: New file.
6453         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6455         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6456         * modules/cosf: New file.
6457         * tests/test-math-c++.cc: Check the declaration of cosf.
6458         * doc/posix-functions/cosf.texi: Mention the new module.
6459
6460         cos: Use a .m4 file.
6461         * m4/cos.m4: New file.
6462         * modules/cos (Files): Add it.
6463         (configure.ac): Just invoke gl_FUNC_COS.
6464
6465 2011-10-08  Bruno Haible  <bruno@clisp.org>
6466
6467         Tests for module 'sinf'.
6468         * modules/sinf-tests: New file.
6469         * tests/test-sinf.c: New file.
6470
6471         New module 'sinf'.
6472         * lib/math.in.h (sinf): New declaration.
6473         * lib/sinf.c: New file.
6474         * m4/sinf.m4: New file.
6475         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6477         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6478         * modules/sinf: New file.
6479         * tests/test-math-c++.cc: Check the declaration of sinf.
6480         * doc/posix-functions/sinf.texi: Mention the new module.
6481
6482         sin: Use a .m4 file.
6483         * m4/sin.m4: New file.
6484         * modules/sin (Files): Add it.
6485         (configure.ac): Just invoke gl_FUNC_SIN.
6486
6487 2011-10-08  Bruno Haible  <bruno@clisp.org>
6488
6489         Tests for module 'powf'.
6490         * modules/powf-tests: New file.
6491         * tests/test-powf.c: New file.
6492
6493         New module 'powf'.
6494         * lib/math.in.h (powf): New declaration.
6495         * lib/powf.c: New file.
6496         * m4/powf.m4: New file.
6497         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6498         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6499         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6500         * modules/powf: New file.
6501         * tests/test-math-c++.cc: Check the declaration of powf.
6502         * doc/posix-functions/powf.texi: Mention the new module.
6503
6504         pow: Use a .m4 file.
6505         * m4/pow.m4: New file.
6506         * modules/pow (Files): Add it.
6507         (configure.ac): Just invoke gl_FUNC_POW.
6508
6509 2011-10-08  Bruno Haible  <bruno@clisp.org>
6510
6511         Tests for module 'log10f'.
6512         * modules/log10f-tests: New file.
6513         * tests/test-log10f.c: New file.
6514
6515         New module 'log10f'.
6516         * lib/math.in.h (log10f): New declaration.
6517         * lib/log10f.c: New file.
6518         * m4/log10f.m4: New file.
6519         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6520         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6521         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6522         * modules/log10f: New file.
6523         * tests/test-math-c++.cc: Check the declaration of log10f.
6524         * doc/posix-functions/log10f.texi: Mention the new module.
6525
6526         log10: Use a .m4 file.
6527         * m4/log10.m4: New file.
6528         * modules/log10 (Files): Add it.
6529         (configure.ac): Just invoke gl_FUNC_LOG10.
6530
6531 2011-10-08  Bruno Haible  <bruno@clisp.org>
6532
6533         Tests for module 'logf'.
6534         * modules/logf-tests: New file.
6535         * tests/test-logf.c: New file.
6536
6537         New module 'logf'.
6538         * lib/math.in.h (logf): New declaration.
6539         * lib/logf.c: New file.
6540         * m4/logf.m4: New file.
6541         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6543         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6544         * modules/logf: New file.
6545         * tests/test-math-c++.cc: Check the declaration of logf.
6546         * doc/posix-functions/logf.texi: Mention the new module.
6547
6548         log: Use a .m4 file.
6549         * m4/log.m4: New file.
6550         * modules/log (Files): Add it.
6551         (configure.ac): Just invoke gl_FUNC_LOG.
6552
6553 2011-10-08  Bruno Haible  <bruno@clisp.org>
6554
6555         Tests for module 'expf'.
6556         * modules/expf-tests: New file.
6557         * tests/test-expf.c: New file.
6558
6559         New module 'expf'.
6560         * lib/math.in.h (expf): New declaration.
6561         * lib/expf.c: New file.
6562         * m4/expf.m4: New file.
6563         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6565         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6566         * modules/expf: New file.
6567         * tests/test-math-c++.cc: Check the declaration of expf.
6568         * doc/posix-functions/expf.texi: Mention the new module.
6569
6570         exp: Use a .m4 file.
6571         * m4/exp.m4: New file.
6572         * modules/exp (Files): Add it.
6573         (configure.ac): Just invoke gl_FUNC_EXP.
6574
6575 2011-10-08  Bruno Haible  <bruno@clisp.org>
6576
6577         Tests for module 'sqrtf'.
6578         * modules/sqrtf-tests: New file.
6579         * tests/test-sqrtf.c: New file.
6580
6581         New module 'sqrtf'.
6582         * lib/math.in.h (sqrtf): New declaration.
6583         * lib/sqrtf.c: New file.
6584         * m4/sqrtf.m4: New file.
6585         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6586         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6587         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6588         * modules/sqrtf: New file.
6589         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6590         * doc/posix-functions/sqrtf.texi: Mention the new module.
6591
6592 2011-10-08  Bruno Haible  <bruno@clisp.org>
6593
6594         Tests: Avoid link failures w.r.t. libintl.
6595         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6596         $(LIBINTL).
6597         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6598         $(LIBINTL).
6599         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6600         against $(LIBINTL).
6601         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6602         $(LIBINTL).
6603         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6604         $(LIBINTL).
6605         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6606
6607 2011-10-08  Bruno Haible  <bruno@clisp.org>
6608
6609         pow tests: Defeat compiler optimizations.
6610         * tests/test-pow.c (main): Assign arguments to x and y before use.
6611
6612 2011-10-08  Bruno Haible  <bruno@clisp.org>
6613
6614         gnulib-tool: Improve last commit.
6615         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6616         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6617         ignore dependencies that are not among the modules list.
6618
6619 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6620
6621         gnulib-tool: don't follow dependencies to avoided modules
6622         This fixes a bug that is related to the previous one.
6623         * gnulib-tool (func_modules_transitive_closure)
6624         (func_emit_autoconf_snippets):
6625         Check whether a dependency is acceptable before using it.
6626         (--extract-dependencies): Report an error if --avoid is also used,
6627         since this combination of options is not yet supported.
6628
6629         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6630         Problem reported by Peter Dyballa in
6631         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6632         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6633         when echoing "$condition".
6634
6635 2011-10-07  Bruno Haible  <bruno@clisp.org>
6636
6637         Fix documentation about math functions on MacOS X.
6638         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6639         MacOS X 10.5.
6640         * doc/posix-functions/fdim.texi: Likewise.
6641         * doc/posix-functions/feclearexcept.texi: Likewise.
6642         * doc/posix-functions/fegetenv.texi: Likewise.
6643         * doc/posix-functions/fegetround.texi: Likewise.
6644         * doc/posix-functions/feholdexcept.texi: Likewise.
6645         * doc/posix-functions/feraiseexcept.texi: Likewise.
6646         * doc/posix-functions/fesetenv.texi: Likewise.
6647         * doc/posix-functions/fesetround.texi: Likewise.
6648         * doc/posix-functions/fetestexcept.texi: Likewise.
6649         * doc/posix-functions/feupdateenv.texi: Likewise.
6650         * doc/posix-functions/fmax.texi: Likewise.
6651         * doc/posix-functions/fmin.texi: Likewise.
6652         * doc/posix-functions/log2.texi: Likewise.
6653         * doc/posix-functions/modff.texi: Likewise.
6654         * doc/posix-functions/nan.texi: Likewise.
6655         * doc/posix-functions/nanf.texi: Likewise.
6656         * doc/posix-functions/nextafterf.texi: Likewise.
6657         * doc/posix-functions/remquo.texi: Likewise.
6658
6659 2011-10-07  Bruno Haible  <bruno@clisp.org>
6660
6661         modff: Drop assumption about library that defines modff.
6662         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6663         AC_CHECK_FUNCS.
6664         * modules/modff (Files): Add m4/mathfunc.m4.
6665
6666 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6667
6668         raise tests: Avoid a GCC warning.
6669         * tests/test-raise.c (handler): Use _Noreturn.
6670
6671 2011-10-07  Bruno Haible  <bruno@clisp.org>
6672
6673         Tests for module 'ldexpf'.
6674         * modules/ldexpf-tests: New file.
6675         * tests/test-ldexpf.c: New file.
6676
6677         New module 'ldexpf'.
6678         * lib/math.in.h (ldexpf): New declaration.
6679         * lib/ldexpf.c: New file.
6680         * m4/ldexpf.m4: New file.
6681         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6682         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6683         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6684         * modules/ldexpf: New file.
6685         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6686         * doc/posix-functions/ldexpf.texi: Mention the new module.
6687
6688 2011-10-06  Bruno Haible  <bruno@clisp.org>
6689
6690         frexpf: Work around problems on IRIX and mingw.
6691         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6693         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6694         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6695         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6696         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6697         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6698
6699 2011-10-06  Bruno Haible  <bruno@clisp.org>
6700
6701         fabsf: Drop assumption about library that defines fabsf.
6702         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6703         AC_CHECK_FUNCS.
6704         * modules/fabsf (Files): Add m4/mathfunc.m4.
6705
6706 2011-10-06  Bruno Haible  <bruno@clisp.org>
6707
6708         frexpf: Drop assumption about library that defines frexpf.
6709         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6710         'int *', 'float *', 'long double *', 'float', 'long double'.
6711         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6712         AC_CHECK_FUNCS.
6713         * modules/frexpf (Files): Add m4/mathfunc.m4.
6714
6715         Tests for module 'frexpf'.
6716         * modules/frexpf-tests: New file.
6717         * tests/test-frexpf.c: New file.
6718
6719         New module 'frexpf'.
6720         * lib/math.in.h (frexpf): New declaration.
6721         * lib/frexpf.c: New file.
6722         * m4/frexpf.m4: New file.
6723         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6724         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6725         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6726         * modules/frexpf: New file.
6727         * tests/test-math-c++.cc: Check the declaration of frexpf.
6728         * doc/posix-functions/frexpf.texi: Mention the new module.
6729
6730 2011-10-06  Bruno Haible  <bruno@clisp.org>
6731
6732         math: Sort function declarations of math.in.h.
6733         * lib/math.in.h (frexp, logb): Move declarations.
6734
6735 2011-10-05  Bruno Haible  <bruno@clisp.org>
6736
6737         Tests for module 'modff'.
6738         * modules/modff-tests: New file.
6739         * tests/test-modff.c: New file.
6740
6741         New module 'modff'.
6742         * lib/math.in.h (modff): New declaration.
6743         * lib/modff.c: New file.
6744         * m4/modff.m4: New file.
6745         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6746         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6747         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6748         * modules/modff: New file.
6749         * tests/test-math-c++.cc: Check the declaration of modff.
6750         * doc/posix-functions/modff.texi: Mention the new module.
6751
6752         modf tests: Make test sharper.
6753         * tests/test-modf.c (main): Strengthen upper bound.
6754
6755         modf: Use a .m4 file.
6756         * m4/modf.m4: New file.
6757         * modules/modf (Files): Add it.
6758         (configure.ac): Just invoke gl_FUNC_MODF.
6759
6760 2011-10-05  Bruno Haible  <bruno@clisp.org>
6761
6762         Tests for module 'fmodf'.
6763         * modules/fmodf-tests: New file.
6764         * tests/test-fmodf.c: New file.
6765
6766         New module 'fmodf'.
6767         * lib/math.in.h (fmodf): New declaration.
6768         * lib/fmodf.c: New file.
6769         * m4/fmodf.m4: New file.
6770         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6771         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6772         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6773         * modules/fmodf: New file.
6774         * tests/test-math-c++.cc: Check the declaration of fmodf.
6775         * doc/posix-functions/fmodf.texi: Mention the new module.
6776
6777         fmod: Use a .m4 file.
6778         * m4/fmod.m4: New file.
6779         * modules/fmod (Files): Add it.
6780         (configure.ac): Just invoke gl_FUNC_FMOD.
6781
6782 2011-10-05  Bruno Haible  <bruno@clisp.org>
6783
6784         Tests for module 'fabsf'.
6785         * modules/fabsf-tests: New file.
6786         * tests/test-fabsf.c: New file.
6787
6788         New module 'fabsf'.
6789         * lib/math.in.h (fabsf): New declaration.
6790         * lib/fabsf.c: New file.
6791         * m4/fabsf.m4: New file.
6792         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6793         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6794         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6795         * modules/fabsf: New file.
6796         * tests/test-math-c++.cc: Check the declaration of fabsf.
6797         * doc/posix-functions/fabsf.texi: Mention the new module.
6798
6799         fabs: Use a .m4 file.
6800         * m4/fabs.m4: New file.
6801         * modules/fabs (Files): Add it.
6802         (configure.ac): Just invoke gl_FUNC_FABS.
6803
6804 2011-10-05  Jim Meyering  <meyering@redhat.com>
6805
6806         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6807         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6808         ls -lL regression introduced in coreutils-8.12, it does so at the
6809         cost of an additional stat call in the common case.  Besides, now
6810         that the kernel change that prompted commit 95f7c57f has been reverted
6811         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6812         we have no use for commit 95f7c57f, "file-has-acl: use
6813         acl_extended_file_nofollow if available".
6814
6815 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6816
6817         file-has-acl: revert unintended change in behavior of ls -L
6818         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6819         derived from...
6820         (file_has_acl): ...code here.  Call it.
6821         This problem was introduced with 2011-07-22 commit 95f7c57f,
6822         "file-has-acl: use acl_extended_file_nofollow if available".
6823         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6824
6825 2011-10-03  Bruno Haible  <bruno@clisp.org>
6826
6827         poll: Avoid link errors on MSVC.
6828         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6829         * modules/poll (Depends-on): Add sockets.
6830         (Link): New section.
6831         * NEWS: Mention the change.
6832         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6833         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6834         $(LIB_POLL) instead of $(LIBSOCKET).
6835
6836 2011-10-03  Bruno Haible  <bruno@clisp.org>
6837
6838         sys_select tests: Fix link error on MSVC 9.
6839         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6840         with $(LIB_SELECT) instead of $(LIBSOCKET).
6841
6842 2011-10-03  Bruno Haible  <bruno@clisp.org>
6843
6844         sys_select: Fix compilation error on mingw.
6845         * lib/sys_select.in.h: On native Windows, include <io.h>.
6846
6847 2011-10-03  Bruno Haible  <bruno@clisp.org>
6848
6849         wmemset: Support for MSVC.
6850         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6851         whether wmemset() exists.
6852
6853 2011-10-03  Bruno Haible  <bruno@clisp.org>
6854
6855         wmemmove: Support for MSVC.
6856         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6857         whether wmemmove() exists.
6858
6859 2011-10-03  Bruno Haible  <bruno@clisp.org>
6860
6861         wmemcpy: Support for MSVC.
6862         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6863         whether wmemcpy() exists.
6864
6865 2011-10-03  Bruno Haible  <bruno@clisp.org>
6866
6867         wmemcmp: Support for MSVC.
6868         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6869         whether wmemcmp() exists.
6870
6871 2011-10-03  Bruno Haible  <bruno@clisp.org>
6872
6873         wmemchr: Support for MSVC.
6874         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6875         whether wmemchr() exists.
6876
6877 2011-10-03  Bruno Haible  <bruno@clisp.org>
6878
6879         glthread/*, strsignal: Support for MSVC.
6880         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6881         including <winsock.h> on MSVC 9.
6882         * lib/glthread/lock.h: Likewise.
6883         * lib/glthread/thread.h: Likewise.
6884         * lib/glthread/tls.h: Likewise.
6885         * lib/glthread/yield.h: Likewise.
6886         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6887         if HAVE_UNISTD_H is false.
6888         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6889
6890 2011-10-03  Bruno Haible  <bruno@clisp.org>
6891
6892         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6893         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6894         Set to 100000.
6895
6896 2011-10-03  Bruno Haible  <bruno@clisp.org>
6897
6898         acl: Fix specification.
6899         * lib/file-has-acl.c (file_has_acl): Fix specification.
6900
6901 2011-10-03  Bruno Haible  <bruno@clisp.org>
6902
6903         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6904         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6905         (compute_curr_prefix, shared_library_fullname,
6906         find_shared_library_fullname, get_shared_library_fullname, relocate):
6907         Use it together with PIC && INSTALLDIR.
6908         Reported by <jojelino@gmail.com>
6909         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6910
6911 2011-10-01  Jim Meyering  <meyering@redhat.com>
6912
6913         maint.mk: adjust a release-related rule not to require use of gzip
6914         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6915         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6916         projects that build only .tar.xz files.  Also fix an erroneous test.
6917
6918         test-linkat: don't leave behind a temporary file
6919         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6920         Otherwise, coreutils' "make distcheck" would fail with this:
6921           Only in /c/cu/tests/torture/coreutils/test/\
6922             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6923           make[2]: *** [my-distcheck] Error 1
6924
6925         float, math: add omitted file
6926         * lib/itold.c: Add file, required for yesterday's float change.
6927
6928 2011-10-01  Bruno Haible  <bruno@clisp.org>
6929
6930         isinf: Fix for OpenBSD/x86.
6931         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6932         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6933         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6934
6935 2011-10-01  Bruno Haible  <bruno@clisp.org>
6936
6937         isfinite: Fix syntax error in configure test.
6938         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6939
6940         isfinite: Fix typo.
6941         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6942         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6943
6944 2011-10-01  Bruno Haible  <bruno@clisp.org>
6945
6946         nonblocking tests: Fix test failure on Linux/IA-64.
6947         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6948         Set to 270000.
6949
6950 2011-10-01  Bruno Haible  <bruno@clisp.org>
6951
6952         mkfifoat tests: Fix a test failure on mingw.
6953         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6954         with error ENOSYS.
6955
6956 2011-09-30  Bruno Haible  <bruno@clisp.org>
6957
6958         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6959         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6960         'long double'. Set REPLACE_ITOLD.
6961         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6962         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6963         * lib/itold.c: New file.
6964         * modules/float (Files): Add lib/itold.c.
6965         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6966         (Makefile.am): Substitute REPLACE_ITOLD.
6967         * modules/math (Depends-on): Add float.
6968         (Makefile.am): Substitute REPLACE_ITOLD.
6969         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6970         * doc/posix-headers/math.texi: Likewise.
6971         * doc/posix-functions/logl.texi: Likewise.
6972
6973 2011-09-30  Bruno Haible  <bruno@clisp.org>
6974
6975         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6976         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6977         Set to 140000.
6978
6979 2011-09-30  Bruno Haible  <bruno@clisp.org>
6980
6981         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6982         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6983         invocation, say "right after AC_PROG_CC_STDC", not "right after
6984         AC_PROG_CC".
6985         Reported by Gary V. Vaughan <gary@gnu.org>.
6986
6987 2011-09-30  Bruno Haible  <bruno@clisp.org>
6988
6989         Centralize C99 requirement.
6990         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6991         * modules/stdarg (configure.ac-early): Invoke it instead of
6992         AC_PROG_CC_STDC.
6993         Reported by Gary V. Vaughan and Paul Eggert.
6994
6995 2011-09-29  Bruno Haible  <bruno@clisp.org>
6996
6997         float: Fix LDBL_MAX value on Linux/PowerPC.
6998         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6999         on Linux/PowerPC.
7000         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
7001         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
7002         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
7003         platform.
7004         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
7005
7006 2011-09-29  Bruno Haible  <bruno@clisp.org>
7007
7008         doc: Improve doc about gl_EARLY.
7009         * doc/gnulib-tool.texi (Initial import): Mention where to place an
7010         AC_PROG_CC_STDC invocation.
7011         Reported by Gary V. Vaughan <gary@gnu.org>.
7012
7013 2011-09-28  Bruno Haible  <bruno@clisp.org>
7014
7015         fgetc, fputc, fread, fwrite tests: Fix link error.
7016         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
7017         on non-MSVC platforms.
7018         * tests/test-fputc.c (main): Likewise.
7019         * tests/test-fread.c (main): Likewise.
7020         * tests/test-fwrite.c (main): Likewise.
7021         Reported by Jim Meyering.
7022
7023 2011-09-27  Bruno Haible  <bruno@clisp.org>
7024
7025         fputc, fwrite tests: Avoid test failure on MSVC.
7026         * tests/test-fgetc.c: Include msvc-inval.h.
7027         (main): Invoke gl_msvc_inval_ensure_handler.
7028         * tests/test-fputc.c: Include msvc-inval.h.
7029         (main): Invoke gl_msvc_inval_ensure_handler.
7030         * tests/test-fread.c: Include msvc-inval.h.
7031         (main): Invoke gl_msvc_inval_ensure_handler.
7032         * tests/test-fwrite.c: Include msvc-inval.h.
7033         (main): Invoke gl_msvc_inval_ensure_handler.
7034         * modules/fgetc-tests (Depends-on): Add msvc-inval.
7035         * modules/fputc-tests (Depends-on): Likewise.
7036         * modules/fread-tests (Depends-on): Likewise.
7037         * modules/fwrite-tests (Depends-on): Likewise.
7038
7039 2011-09-27  Bruno Haible  <bruno@clisp.org>
7040
7041         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
7042         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
7043         (raise): Remove older, duplicated declaration.
7044         (_gl_raise_SIGPIPE): New declaration.
7045         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
7046         (rpl_raise): Remove function.
7047         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
7048         a gnulib-defined SIGPIPE here.
7049         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
7050         'sigprocmask' has detected missing signal-blocking and the module
7051         'sigpipe' is enabled.
7052         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
7053
7054 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
7055
7056         base64-tests: avoid memory leak
7057         * tests/test-base64.c (main): Plug memory leak.
7058
7059         base32: new module
7060         * modules/base32: New module.
7061         * lib/base32.c: New file.
7062         * lib/base32.h: Likewise.
7063         * m4/base32.m4: Likewise.
7064         * modules/base32-tests: New test.
7065         * tests/test-base32.c: Likewise.
7066         * MODULES.html.sh (Misc): Mention it.
7067
7068 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7069
7070         gnulib: use more-standard license notice wording
7071         * gnulib-tool (func_emit_copyright_notice): When emitting a
7072         license notice into a file, use the standard wording as suggested
7073         by the current information for GNU maintainers, except say "file"
7074         rather than "program".  The new wording gives a license version
7075         number, which addresses an issue raised by Glenn Morris in
7076         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
7077         * m4/onceonly.m4: Use that same wording here, too.
7078
7079         dup2: minor simplification
7080         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
7081         as lib/dup2.c no longer uses 'inline'.
7082
7083 2011-09-25  Bruno Haible  <bruno@clisp.org>
7084
7085         strings: Fix compilation error on MSVC.
7086         * lib/strings.in.h: Include <stddef.h> for size_t.
7087
7088 2011-09-25  Bruno Haible  <bruno@clisp.org>
7089
7090         fflush et al.: Document limitation on MSVC.
7091         * doc/posix-functions/fflush.texi: Document possible crash in handling
7092         mode other than DEFAULT_HANDLING.
7093         * doc/posix-functions/fgetc.texi: Likewise.
7094         * doc/posix-functions/fputc.texi: Likewise.
7095         * doc/posix-functions/fread.texi: Likewise.
7096         * doc/posix-functions/fwrite.texi: Likewise.
7097
7098 2011-09-25  Bruno Haible  <bruno@clisp.org>
7099
7100         msvc-inval: Allow three invalid parameter handling modes.
7101         * lib/msvc-inval.h: Don't include <stdlib.h> here.
7102         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
7103         macros.
7104         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
7105         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
7106         SANE_LIBRARY_HANDLING as a no-op.
7107         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
7108         <stdlib.h>.
7109         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
7110
7111 2011-09-25  Bruno Haible  <bruno@clisp.org>
7112
7113         msvc-inval: Make handler multithread-safe.
7114         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
7115         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
7116         declarations.
7117         (gl_msvc_inval_current): New declaration.
7118         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7119         Operate on the structure returned by gl_msvc_inval_current().
7120         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
7121         Remove varaiables.
7122         (tls_index, tls_initialized): New variables.
7123         (not_per_thread): New variable.
7124         (gl_msvc_inval_current): New function.
7125         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
7126         returned by gl_msvc_inval_current().
7127
7128 2011-09-25  Bruno Haible  <bruno@clisp.org>
7129
7130         msvc-inval: Install handler globally.
7131         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
7132         !_MSC_VER.
7133         (gl_msvc_invalid_parameter_handler): Remove declaration.
7134         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
7135         declarations.
7136         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
7137         Install the handler globally, don't uninstall it.
7138         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
7139         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
7140         currently valid, call RaiseException instead.
7141         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
7142         for !_MSC_VER.
7143
7144 2011-09-25  Bruno Haible  <bruno@clisp.org>
7145
7146         strerror_r-posix: Fix for MSVC 9.
7147         * lib/strerror_r.c (local_snprintf): New function.
7148         (snprintf): Define to local_snprintf, not to _snprintf.
7149
7150 2011-09-25  Bruno Haible  <bruno@clisp.org>
7151
7152         ftruncate: Support for MSVC 9.
7153         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
7154         (chsize_nothrow): New function.
7155         (chsize): Redefine as a macro.
7156         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
7157         * modules/ftruncate (Depends-on): Add msvc-inval.
7158
7159 2011-09-25  Bruno Haible  <bruno@clisp.org>
7160
7161         New module 'fstat'.
7162         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
7163         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
7164         * lib/fchdir.c (rpl_fstat): Remove function.
7165         * m4/fstat.m4: New file.
7166         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
7167         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
7168         declared.
7169         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
7170         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
7171         * modules/fstat: New file.
7172         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
7173         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
7174         is set.
7175         * doc/posix-functions/fstat.texi: Mention the new module and the
7176         problem on MSVC.
7177         * NEWS: Mention the change.
7178         * modules/acl (Depends-on): Add fstat.
7179         * modules/chdir-safer (Depends-on): Likewise.
7180         * modules/chown (Depends-on): Likewise.
7181         * modules/copy-file (Depends-on): Likewise.
7182         * modules/fchdir (Depends-on): Likewise.
7183         * modules/fdopendir (Depends-on): Likewise.
7184         * modules/fopen (Depends-on): Likewise.
7185         * modules/fts (Depends-on): Likewise.
7186         * modules/getcwd (Depends-on): Likewise.
7187         * modules/isapipe (Depends-on): Likewise.
7188         * modules/linkat (Depends-on): Likewise.
7189         * modules/lseek (Depends-on): Likewise.
7190         * modules/mkdir-p (Depends-on): Likewise.
7191         * modules/open (Depends-on): Likewise.
7192         * modules/openat (Depends-on): Likewise.
7193         * modules/read-file (Depends-on): Likewise.
7194         * modules/renameat (Depends-on): Likewise.
7195         * modules/utimens (Depends-on): Likewise.
7196
7197 2011-09-25  Bruno Haible  <bruno@clisp.org>
7198
7199         linkat: Fix compilation on MSVC 9.
7200         * lib/linkat.c: Don't include <stdint.h>.
7201
7202 2011-09-25  Bruno Haible  <bruno@clisp.org>
7203
7204         fclose: Support for MSVC 9.
7205         * lib/fclose.c: Include msvc-inval.h.
7206         (fclose_nothrow): New function.
7207         (rpl_fclose): Use it.
7208         * modules/fclose (Depends-on): Add msvc-inval.
7209         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
7210
7211 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
7212
7213         dup2: minor simplifications
7214         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
7215         that it's a performance win.
7216         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
7217         ! defined __CYGWIN__)" to "ifdef F_GETFL".
7218
7219 2011-09-24  Jim Meyering  <meyering@redhat.com>
7220
7221         test-futimens: avoid a warning from gcc -Wshadow
7222         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
7223         to avoid a shadowing warning.
7224
7225 2011-09-24  Bruno Haible  <bruno@clisp.org>
7226
7227         fdopen: Support for MSVC 9.
7228         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
7229         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
7230         * lib/fdopen.c: Include msvc-inval.h.
7231         (fdopen_nothrow): New function.
7232         (rpl_fdopen): Use it.
7233         * modules/fdopen (Depends-on): Add msvc-inval.
7234         * modules/fclose-tests (Depends-on): Add fdopen.
7235         * modules/fflush-tests (Depends-on): Likewise.
7236         * modules/fgetc-tests (Depends-on): Likewise.
7237         * modules/fputc-tests (Depends-on): Likewise.
7238         * modules/fread-tests (Depends-on): Likewise.
7239         * modules/freopen-tests (Depends-on): Likewise.
7240         * modules/fseeko-tests (Depends-on): Likewise.
7241         * modules/ftello-tests (Depends-on): Likewise.
7242         * modules/fwrite-tests  (Depends-on): Likewise.
7243         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
7244
7245 2011-09-24  Bruno Haible  <bruno@clisp.org>
7246
7247         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
7248         * modules/fgetc-tests (Depends-on): Add unistd.
7249         * modules/fputc-tests (Depends-on): Likewise.
7250         * modules/fread-tests (Depends-on): Likewise.
7251         * modules/fwrite-tests (Depends-on): Likewise.
7252
7253 2011-09-24  Bruno Haible  <bruno@clisp.org>
7254
7255         dup: Simplify autoconf test.
7256         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
7257         on gl_MSVC_INVAL's result.
7258
7259 2011-09-24  Bruno Haible  <bruno@clisp.org>
7260
7261         Tests for function fwrite().
7262         * modules/fwrite-tests: New file.
7263         * tests/test-fwrite.c: New file.
7264         * modules/stdio-tests (Depends-on): Add fwrite-tests.
7265
7266         Tests for function fread().
7267         * modules/fread-tests: New file.
7268         * tests/test-fread.c: New file.
7269         * modules/stdio-tests (Depends-on): Add fread-tests.
7270
7271         Activate fputc tests.
7272         * modules/stdio-tests (Depends-on): Add fputc-tests.
7273
7274         Enhance fgetc, fputc tests.
7275         * tests/test-fgetc.c (main): Also test the stream's error indicator.
7276         * tests/test-fputc.c (main): Likewise.
7277
7278 2011-09-24  Bruno Haible  <bruno@clisp.org>
7279
7280         write: Support for MSVC 9.
7281         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7282         is not 1.
7283         * lib/write.c (write_nothrow): New function.
7284         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
7285         not 1. Use write_nothrow.
7286         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
7287         invalid parameter handler.
7288         (gl_PREREQ_WRITE): New macro.
7289         * modules/write (Depends-on): Add msvc-inval.
7290         (configure.ac): Invoke gl_PREREQ_WRITE.
7291         * doc/posix-functions/write.texi: Mention the problem on MSVC.
7292
7293 2011-09-24  Bruno Haible  <bruno@clisp.org>
7294
7295         read: Fix last commit.
7296         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
7297
7298 2011-09-24  Bruno Haible  <bruno@clisp.org>
7299
7300         dup2: Fix last commit.
7301         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
7302         (rpl_dup2): Disable fcntl workaround on native Windows.
7303
7304         sigprocmask: Make code safer.
7305         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
7306         section that changes macro definitions for this compilation unit.
7307
7308 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
7309
7310         dup2: clarify by coalescing Windows-specific material
7311         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
7312         "msvc-nothrow.h"' to the Windows-specific section, so that the
7313         Emacs source need not contain these include files.
7314         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
7315         Windows-specific fixes into this function rather than just the
7316         nothrow fix, as this shortens and clarifies the code.  Always
7317         define as a function, as that's a bit cleaner than having it be
7318         sometimes a function and sometimes a macro.
7319         (rpl_dup2): Move the Windows-specific stuff out of here and into
7320         ms_windows_dup2.  Don't protect the Haiku-related fix with
7321         "#if !defined __linux__", as the same code also works around
7322         a Linux kernel bug, and it doesn't add any system calls on any
7323         platform.  Add comment about FreeBSD 6.1.
7324
7325         sigprocmask: move #include directive
7326         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
7327         Windows-specific section, so that the Emacs source need not
7328         contain msvc-inval.h.
7329
7330 2011-09-23  Bruno Haible  <bruno@clisp.org>
7331
7332         read: Support for MSVC 9.
7333         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
7334         is not 1.
7335         * lib/read.c (read_nothrow): New function.
7336         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
7337         read_nothrow.
7338         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
7339         invalid parameter handler.
7340         (gl_PREREQ_READ): New macro.
7341         * modules/read (Depends-on): Add msvc-inval.
7342         (configure.ac): Invoke gl_PREREQ_READ.
7343         * doc/posix-functions/read.texi: Mention the problem on MSVC.
7344
7345 2011-09-23  Bruno Haible  <bruno@clisp.org>
7346
7347         close: Support for MSVC 9.
7348         * lib/close.c: Include <errno.h>, msvc-inval.h.
7349         (close_nothrow): New function.
7350         (rpl_close): Use it.
7351         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
7352         invalid parameter handler.
7353         * modules/close (Depends-on): Add msvc-inval.
7354         * modules/dup2-tests (Depends-on): Add close.
7355         * modules/dup3-tests (Depends-on): Likewise.
7356         * modules/fcntl-tests (Depends-on): Likewise.
7357         * modules/spawn-pipe-tests (Depends-on): Likewise.
7358         * modules/unistd-safer-tests (Depends-on): Likewise.
7359         * doc/posix-functions/close.texi: Mention the problem on MSVC.
7360
7361 2011-09-23  Bruno Haible  <bruno@clisp.org>
7362
7363         New module 'dup'.
7364         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
7365         Allow replacement.
7366         * lib/dup.c: New file.
7367         * lib/fchdir.c (rpl_dup): Remove function.
7368         * m4/dup.m4: New file.
7369         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
7370         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
7371         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
7372         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
7373         * modules/dup: New file.
7374         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
7375         'dup' module is in use.
7376         * modules/fdopendir (Depends-on): Add dup.
7377         * modules/fdutimensat-tests (Depends-on): Likewise.
7378         * modules/fts (Depends-on): Likewise.
7379         * modules/futimens-tests (Depends-on): Likewise.
7380         * modules/posix_spawnp-tests (Depends-on): Likewise.
7381         * modules/unistd-safer-tests (Depends-on): Likewise.
7382         * modules/utimens-tests (Depends-on): Likewise.
7383         * doc/posix-functions/dup.texi: Mention the new module and the problem
7384         on MSVC.
7385
7386 2011-09-23  Bruno Haible  <bruno@clisp.org>
7387
7388         getdtablesize: Support for MSVC 9.
7389         * lib/getdtablesize.c: Include msvc-inval.h.
7390         (_setmaxstdio_nothrow): New function.
7391         (_setmaxstdio): Redefine it.
7392         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
7393         * modules/getdtablesize (Depends-on): Add msvc-inval.
7394         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
7395
7396 2011-09-23  Bruno Haible  <bruno@clisp.org>
7397
7398         signal-h: Rename from signal.
7399         * modules/signal-h: Renamed from modules/signal.
7400         * modules/pthread_sigmask (Depends-on): Update.
7401         * modules/raise (Depends-on): Likewise.
7402         * modules/sigaction (Depends-on): Likewise.
7403         * modules/sigpipe (Depends-on): Likewise.
7404         * modules/sigprocmask (Depends-on): Likewise.
7405         * modules/sys_select (Depends-on): Likewise.
7406         * modules/signal-h-tests: Renamed from modules/signal-tests.
7407         (Files, Depends-on, Makefile.am): Update.
7408         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
7409         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
7410         (Files, Makefile.am): Update.
7411         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
7412         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
7413         * modules/signal: New placeholder file.
7414         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
7415         * doc/posix-headers/signal.texi: Update.
7416         * NEWS: Mention the change.
7417
7418 2011-09-23  Bruno Haible  <bruno@clisp.org>
7419
7420         sigprocmask: Avoid crashes through signal() on MSVC 9.
7421         * lib/sigprocmask.c: Include msvc-inval.h.
7422         (signal_nothrow): New function.
7423         (signal): Redefine it.
7424         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
7425         * modules/sigprocmask (Depends-on): Add msvc-inval.
7426         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
7427
7428 2011-09-23  Bruno Haible  <bruno@clisp.org>
7429
7430         Tests for module 'raise'.
7431         * modules/raise-tests: New file.
7432         * tests/test-raise.c: New file.
7433
7434         raise: Support for MSVC.
7435         * lib/signal.in.h (raise): New declaration.
7436         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
7437         for native Windows platforms.
7438         * m4/raise.m4: New file.
7439         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
7440         HAVE_RAISE, REPLACE_RAISE.
7441         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7442         REPLACE_RAISE.
7443         * modules/raise (Status, Notice): Remove fields.
7444         (Files): Add m4/raise.m4.
7445         (Depends-on): Add signal, msvc-inval.
7446         (configure.ac): Use the common idioms.
7447         (Maintainer): Add me.
7448         * tests/test-signal-c++.cc: Check the signature of raise.
7449         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7450
7451 2011-09-23  Bruno Haible  <bruno@clisp.org>
7452
7453         pipe2: Fix compilation on pre-C99 compilers.
7454         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7455
7456 2011-09-23  Bruno Haible  <bruno@clisp.org>
7457
7458         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7459         * lib/msvc-nothrow.h: New file.
7460         * lib/msvc-nothrow.c: New file.
7461         * m4/msvc-nothrow.m4: New file.
7462         * modules/msvc-nothrow: New file.
7463         * lib/dup2.c: Include msvc-nothrow.h.
7464         (rpl_dup2): No need to protect _get_osfhandle call here.
7465         * lib/accept4.c: Include msvc-nothrow.h.
7466         * lib/error.c: Likewise.
7467         * lib/fcntl.c: Likewise.
7468         * lib/lseek.c: Likewise.
7469         * lib/nonblocking.c: Likewise.
7470         * lib/poll.c: Likewise.
7471         * lib/read.c: Likewise.
7472         * lib/select.c: Likewise.
7473         * lib/sockets.h: Likewise.
7474         * lib/sockets.c: Likewise.
7475         * lib/stdio-read.c: Likewise.
7476         * lib/stdio-write.c: Likewise.
7477         * lib/write.c: Likewise.
7478         * lib/w32sock.h: Likewise.
7479         * lib/w32spawn.h: Likewise.
7480         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7481         * lib/fsync.c: Likewise.
7482         * lib/isapipe.c: Likewise.
7483         * modules/dup2 (Depends-on): Add msvc-nothrow.
7484         * modules/accept4 (Depends-on): Likewise.
7485         * modules/error (Depends-on): Likewise.
7486         * modules/fcntl (Depends-on): Likewise.
7487         * modules/lseek (Depends-on): Likewise.
7488         * modules/nonblocking (Depends-on): Likewise.
7489         * modules/poll (Depends-on): Likewise.
7490         * modules/read (Depends-on): Likewise.
7491         * modules/select (Depends-on): Likewise.
7492         * modules/sockets (Depends-on): Likewise.
7493         * modules/sigpipe (Depends-on): Likewise.
7494         * modules/write (Depends-on): Likewise.
7495         * modules/accept (Depends-on): Likewise.
7496         * modules/bind (Depends-on): Likewise.
7497         * modules/connect (Depends-on): Likewise.
7498         * modules/gethostname (Depends-on): Likewise.
7499         * modules/getpeername (Depends-on): Likewise.
7500         * modules/getsockname (Depends-on): Likewise.
7501         * modules/getsockopt (Depends-on): Likewise.
7502         * modules/ioctl (Depends-on): Likewise.
7503         * modules/listen (Depends-on): Likewise.
7504         * modules/recv (Depends-on): Likewise.
7505         * modules/recvfrom (Depends-on): Likewise.
7506         * modules/send (Depends-on): Likewise.
7507         * modules/sendto (Depends-on): Likewise.
7508         * modules/setsockopt (Depends-on): Likewise.
7509         * modules/shutdown (Depends-on): Likewise.
7510         * modules/socket (Depends-on): Likewise.
7511         * modules/execute (Depends-on): Likewise.
7512         * modules/spawn-pipe (Depends-on): Likewise.
7513         * modules/flock (Depends-on): Likewise.
7514         * modules/fsync (Depends-on): Likewise.
7515         * modules/isapipe (Depends-on): Likewise.
7516         * tests/test-cloexec.c: Include msvc-nothrow.h.
7517         * tests/test-dup-safer.c: Likewise.
7518         * tests/test-dup2.c: Likewise.
7519         * tests/test-dup3.c: Likewise.
7520         * tests/test-fcntl.c: Likewise.
7521         * tests/test-pipe.c: Likewise.
7522         * tests/test-pipe2.c: Likewise.
7523         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7524         * modules/unistd-safer-tests (Depends-on): Likewise.
7525         * modules/dup2-tests (Depends-on): Likewise.
7526         * modules/dup3-tests (Depends-on): Likewise.
7527         * modules/fcntl-tests (Depends-on): Likewise.
7528         * modules/pipe-posix-tests (Depends-on): Likewise.
7529         * modules/pipe2-tests (Depends-on): Likewise.
7530
7531 2011-09-23  Bruno Haible  <bruno@clisp.org>
7532
7533         dup2: Make code more maintainable.
7534         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7535         (rpl_dup2): Use it.
7536         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7537         * modules/dup2 (configure.ac): Invoke it.
7538         Reported by Paul Eggert.
7539
7540 2011-09-23  Bruno Haible  <bruno@clisp.org>
7541
7542         msvc-inval: Fix compilation error.
7543         * lib/msvc-inval.h: Include <excpt.h>.
7544
7545 2011-09-23  Bruno Haible  <bruno@clisp.org>
7546
7547         mkdir: Tweak for MSVC 9.
7548         * lib/sys_stat.in.h: Update comments.
7549         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7550
7551         Tests for module 'chdir'.
7552         * modules/chdir-tests: New file.
7553         * tests/test-chdir.c: New file.
7554
7555         New module 'chdir'.
7556         * modules/chdir: New file.
7557         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7558         (chdir): New declaration.
7559         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7560         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7561         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7562         * tests/test-unistd-c++.cc: Check signature of chdir.
7563         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7564         * modules/chdir-long (Depends-on): Add chdir.
7565         * modules/fchdir (Depends-on): Likewise.
7566         * modules/rename (Depends-on): Likewise.
7567         * modules/savewd (Depends-on): Likewise.
7568
7569         rmdir: Support for mingw, MSVC 9.
7570         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7571         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7572
7573         getcwd: Tweak for MSVC 9.
7574         * lib/unistd.in.h: Update comments.
7575         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7576
7577 2011-09-22  Bruno Haible  <bruno@clisp.org>
7578
7579         strerror_r-posix: Avoid a link error on MSVC.
7580         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7581         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7582
7583 2011-09-22  Bruno Haible  <bruno@clisp.org>
7584
7585         select: Avoid link errors on MSVC.
7586         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7587         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7588         * modules/pselect (Link): Likewise.
7589         * NEWS: Mention the change.
7590         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7591         test-select-stdin against $(LIB_SELECT).
7592         * modules/pselect-tests (Makefile.am): Link test-pselect against
7593         $(LIB_SELECT).
7594
7595 2011-09-22  Bruno Haible  <bruno@clisp.org>
7596
7597         select: Avoid compilation error on MSVC.
7598         * lib/select.c: Don't include <stdbool.h>.
7599
7600 2011-09-21  Bruno Haible  <bruno@clisp.org>
7601
7602         Consolidate all uses of PATH_MAX in *.m4 files.
7603         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7604         macros.
7605         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7606         and gl_PATHMAX_SNIPPET.
7607         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7608         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7609         * modules/chdir-long (Files): Add m4/pathmax.m4.
7610         * modules/getcwd (Files): Likewise.
7611
7612 2011-09-21  Bruno Haible  <bruno@clisp.org>
7613
7614         ftruncate: Un-deprecate, concentrate on Win32 support.
7615         * modules/ftruncate (Status, Notice): Remove sections.
7616         (Depends-on): Add largefile.
7617         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7618         non-mingw platforms.
7619         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7620         include <io.h>.
7621         * modules/perror-tests (Depends-on): Add ftruncate.
7622         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7623         'ftruncate' module.
7624
7625 2011-09-21  Bruno Haible  <bruno@clisp.org>
7626
7627         Add dependencies to new dirent related modules.
7628         * modules/opendir (Depends-on): Add closedir.
7629         * modules/getcwd (Depends-on): Add opendir, closedir.
7630         * modules/dirent-safer-tests (Depends-on): Likewise.
7631         * modules/fdopendir-tests (Depends-on): Likewise.
7632         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7633         * modules/renameat-tests (Depends-on): Likewise.
7634
7635 2011-09-21  Bruno Haible  <bruno@clisp.org>
7636
7637         opendir: Avoid compilation error on mingw.
7638         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7639         * modules/opendir (Depends-on): Add unistd.
7640
7641 2011-09-21  Bruno Haible  <bruno@clisp.org>
7642
7643         ftruncate tests: Avoid a test failure on mingw.
7644         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7645
7646 2011-09-21  Bruno Haible  <bruno@clisp.org>
7647
7648         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7649         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7650         native Windows.
7651
7652 2011-09-21  Bruno Haible  <bruno@clisp.org>
7653
7654         New module 'fdopen'.
7655         * lib/stdio.in.h (fdopen): New declaration.
7656         * lib/fdopen.c: New file.
7657         * m4/fdopen.m4: New file.
7658         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7659         REPLACE_FDOPEN.
7660         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7661         REPLACE_FDOPEN.
7662         * modules/fdopen: New file.
7663         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7664         * tests/test-stdio-c++.cc: Check signature of fdopen.
7665         * doc/posix-functions/fdopen.texi: Mention the new module.
7666
7667 2011-09-21  Bruno Haible  <bruno@clisp.org>
7668
7669         unlockpt tests: Avoid test failure on NetBSD 5.1.
7670         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7671         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7672
7673 2011-09-21  Bruno Haible  <bruno@clisp.org>
7674
7675         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7676         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7677         * tests/test-getlogin_r.c (main): Likewise.
7678
7679 2011-09-20  Bruno Haible  <bruno@clisp.org>
7680
7681         time tests: Don't require pid_t.
7682         * doc/posix-headers/time.texi: Revert last change.
7683         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7684         * tests/test-time.c: Comment out the check for pid_t.
7685
7686 2011-09-20  Bruno Haible  <bruno@clisp.org>
7687
7688         fsync tests: Avoid a test failure on mingw.
7689         * tests/test-fsync.c (main): Allow a failure with EIO.
7690
7691 2011-09-20  Bruno Haible  <bruno@clisp.org>
7692
7693         euidaccess: Update comments.
7694         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7695
7696 2011-09-20  Bruno Haible  <bruno@clisp.org>
7697
7698         Ensure EBADF returns for socket functions on mingw.
7699         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7700         descriptor is invalid.
7701         * lib/bind.c (rpl_bind): Likewise.
7702         * lib/connect.c (rpl_connect): Likewise.
7703         * lib/getpeername.c (rpl_getpeername): Likewise.
7704         * lib/getsockname.c (rpl_getsockname): Likewise.
7705         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7706         * lib/listen.c (rpl_listen): Likewise.
7707         * lib/recv.c (rpl_recv): Likewise.
7708         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7709         * lib/send.c (rpl_send): Likewise.
7710         * lib/sendto.c (rpl_sendto): Likewise.
7711         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7712         * lib/shutdown.c (rpl_shutdown): Likewise.
7713
7714 2011-09-20  Bruno Haible  <bruno@clisp.org>
7715
7716         select tests: EBADF tests.
7717         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7718         test_bad_fd): New functions.
7719         (test_function): Invoke also test_bad_fd.
7720
7721 2011-09-20  Bruno Haible  <bruno@clisp.org>
7722
7723         Tests for module 'posix_spawn_file_actions_addopen.
7724         * modules/posix_spawn_file_actions_addopen-tests: New file.
7725         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7726
7727         Tests for module 'posix_spawn_file_actions_adddup2'.
7728         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7729         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7730
7731         Tests for module 'posix_spawn_file_actions_addclose'.
7732         * modules/posix_spawn_file_actions_addclose-tests: New file.
7733         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7734
7735 2011-09-20  Bruno Haible  <bruno@clisp.org>
7736
7737         Tests for module 'unlockpt'.
7738         * modules/unlockpt-tests: New file.
7739         * tests/test-unlockpt.c: New file.
7740         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7741
7742         Tests for module 'grantpt'.
7743         * modules/grantpt-tests: New file.
7744         * tests/test-grantpt.c: New file.
7745         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7746
7747 2011-09-20  Bruno Haible  <bruno@clisp.org>
7748
7749         freopen tests: EBADF tests.
7750         * tests/test-freopen.c: Include errno.h, unistd.h.
7751         (main): Add tests for EBADF, commented out for the moment.
7752
7753         fclose tests: EBADF tests.
7754         * tests/test-fclose.c (main): Add tests for EBADF.
7755
7756         fflush tests: EBADF tests.
7757         * tests/test-fflush.c: Include errno.h, macros.h.
7758         (main): Add tests for EBADF.
7759
7760         ftello tests: EBADF tests.
7761         * tests/test-ftello4.sh: New file.
7762         * tests/test-ftello4.c: New file.
7763         * modules/ftello-tests (Files): Add them.
7764         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7765
7766         fseeko tests: EBADF tests.
7767         * tests/test-fseeko4.sh: New file.
7768         * tests/test-fseeko4.c: New file.
7769         * modules/fseeko-tests (Files): Add them.
7770         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7771
7772         Tests for function fputc().
7773         * modules/fputc-tests: New file.
7774         * tests/test-fputc.c: New file.
7775         * modules/stdio-tests (Depends-on): Add fputc-tests.
7776
7777         Tests for function fgetc().
7778         * modules/fgetc-tests: New file.
7779         * tests/test-fgetc.c: New file.
7780         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7781
7782         Tests for function fdopen().
7783         * modules/fdopen-tests: New file.
7784         * tests/test-fdopen.c: New file.
7785         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7786
7787         Tests for module 'vdprintf'.
7788         * modules/vdprintf-tests: New file.
7789         * tests/test-vdprintf.c: New file.
7790
7791         Tests for module 'dprintf'.
7792         * modules/dprintf-tests: New file.
7793         * tests/test-dprintf.c: New file.
7794
7795 2011-09-20  Bruno Haible  <bruno@clisp.org>
7796
7797         Tests for module 'ioctl'.
7798         * modules/ioctl-tests: New file.
7799         * tests/test-ioctl.c: New file.
7800
7801 2011-09-20  Bruno Haible  <bruno@clisp.org>
7802
7803         fcntl tests: EBADF tests.
7804         * tests/test-fcntl.c (main): Add more tests for EBADF.
7805
7806 2011-09-20  Bruno Haible  <bruno@clisp.org>
7807
7808         utimensat tests: EBADF tests.
7809         * tests/test-utimensat.c (main): Add tests for EBADF.
7810
7811         renameat tests: EBADF tests.
7812         * tests/test-renameat.c (main): Add tests for EBADF.
7813
7814         mkfifoat tests: EBADF tests.
7815         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7816
7817         readlinkat tests: EBADF tests.
7818         * tests/test-readlinkat.c (main): Add tests for EBADF.
7819
7820         symlinkat tests: EBADF tests.
7821         * tests/test-symlinkat.c (main): Add tests for EBADF.
7822
7823         linkat tests: EBADF tests.
7824         * tests/test-linkat.c (main): Add tests for EBADF.
7825
7826         Tests for module 'faccessat'.
7827         * modules/faccessat-tests: New file.
7828         * tests/test-faccessat.c: New file.
7829
7830         fdopendir tests: EBADF tests.
7831         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7832
7833         openat tests: EBADF tests.
7834         * tests/test-fchownat.c (main): Add tests for EBADF.
7835         * tests/test-fstatat.c (main): Likewise.
7836         * tests/test-mkdirat.c (main): Likewise.
7837         * tests/test-openat.c (main): Likewise.
7838         * tests/test-unlinkat.c (main): Likewise.
7839         * tests/test-fchmodat.c: New file.
7840         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7841         (Makefile.am): Also run 'test-fchmodat'.
7842
7843 2011-09-20  Bruno Haible  <bruno@clisp.org>
7844
7845         utimens, futimens, fdutimensat tests: EBADF tests.
7846         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7847
7848         Tests for function fstat().
7849         * modules/fstat-tests: New file.
7850         * tests/test-fstat.c: New file.
7851         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7852
7853 2011-09-20  Bruno Haible  <bruno@clisp.org>
7854
7855         test-ttyname_r tests: EBADF tests.
7856         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7857
7858         Tests for module 'isatty'.
7859         * modules/isatty-tests: New file.
7860         * tests/test-isatty.c: New file.
7861
7862         Tests for module 'write'.
7863         * modules/write-tests: New file.
7864         * tests/test-write.c: New file.
7865
7866         Tests for module 'read'.
7867         * modules/read-tests: New file.
7868         * tests/test-read.c: New file.
7869
7870         pwrite tests: EBADF tests.
7871         * tests/test-pwrite.c (main): Add tests for EBADF.
7872
7873         pread tests: EBADF tests.
7874         * tests/test-pread.c (main): Add tests for EBADF.
7875
7876         lseek tests: EBADF tests.
7877         * tests/test-lseek.c (main): Add more tests for EBADF.
7878
7879         Tests for module 'ftruncate'.
7880         * modules/ftruncate-tests: New file.
7881         * tests/test-ftruncate.sh: New file.
7882         * tests/test-ftruncate.c: New file.
7883
7884         fsync tests: EBADF tests.
7885         * tests/test-fsync.c (main): Add more tests for EBADF.
7886
7887         fdatasync tests: EBADF tests.
7888         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7889
7890         Tests for module 'fchown'.
7891         * modules/fchown-tests: New file.
7892         * tests/test-fchown.c: New file.
7893
7894         Tests for module 'fchmod'.
7895         * modules/fchmod-tests: New file.
7896         * tests/test-fchmod.c: New file.
7897
7898         fchdir tests: EBADF tests.
7899         * tests/test-fchdir.c (main): Add more tests for EBADF.
7900
7901         dup2 tests: EBADF tests.
7902         * tests/test-dup2.c (main): Add more tests for EBADF.
7903
7904         Tests for module 'dup'.
7905         * modules/dup-tests: New file.
7906         * tests/test-dup.c: New file.
7907
7908         Tests for module 'close'.
7909         * modules/close-tests: New file.
7910         * tests/test-close.c: New file.
7911
7912 2011-09-20  Bruno Haible  <bruno@clisp.org>
7913
7914         Tests for module 'shutdown'.
7915         * modules/shutdown-tests: New file.
7916         * tests/test-shutdown.c: New file.
7917
7918         Tests for module 'setsockopt'.
7919         * modules/setsockopt-tests: New file.
7920         * tests/test-setsockopt.c: New file.
7921
7922         Tests for module 'sendto'.
7923         * modules/sendto-tests: New file.
7924         * tests/test-sendto.c: New file.
7925
7926         Tests for module 'send'.
7927         * modules/send-tests: New file.
7928         * tests/test-send.c: New file.
7929
7930         Tests for module 'recvfrom'.
7931         * modules/recvfrom-tests: New file.
7932         * tests/test-recvfrom.c: New file.
7933
7934         Tests for module 'recv'.
7935         * modules/recv-tests: New file.
7936         * tests/test-recv.c: New file.
7937
7938         Tests for module 'listen'.
7939         * modules/listen-tests: New file.
7940         * tests/test-listen.c: New file.
7941
7942         Tests for module 'getsockopt'.
7943         * modules/getsockopt-tests: New file.
7944         * tests/test-getsockopt.c: New file.
7945
7946         Tests for module 'getsockname'.
7947         * modules/getsockname-tests: New file.
7948         * tests/test-getsockname.c: New file.
7949
7950         Tests for module 'getpeername'.
7951         * modules/getpeername-tests: New file.
7952         * tests/test-getpeername.c: New file.
7953
7954         Tests for module 'connect'.
7955         * modules/connect-tests: New file.
7956         * tests/test-connect.c: New file.
7957
7958         Tests for module 'bind'.
7959         * modules/bind-tests: New file.
7960         * tests/test-bind.c: New file.
7961
7962         accept4 tests: Fix for native Windows.
7963         * tests/test-accept4.c: Include sockets.h.
7964         (main): Invoke gl_sockets_startup.
7965         * modules/accept4-tests (Depends-on): Add sockets.
7966
7967         accept tests: Fix for native Windows.
7968         * tests/test-accept.c: Include sockets.h.
7969         (main): Invoke gl_sockets_startup.
7970         * modules/accept-tests (Depends-on): Add sockets.
7971
7972 2011-09-19  Bruno Haible  <bruno@clisp.org>
7973
7974         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7975         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7976         do...while(0).
7977         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7978         Suggested by Paul Eggert.
7979
7980 2011-09-19  Bruno Haible  <bruno@clisp.org>
7981
7982         sched: Ensure pid_t is defined.
7983         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7984         not define pid_t.
7985         * lib/sched.in.h: Include <sys/types.h>.
7986         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7987         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7988
7989 2011-09-19  Bruno Haible  <bruno@clisp.org>
7990
7991         msvc-inval: Ensure the entire expansion is a single statement.
7992         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7993         of braces.
7994
7995 2011-09-19  Jim Meyering  <meyering@redhat.com>
7996
7997         tests: use printf, not echo in init.sh's warn_ function
7998         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7999         misbehave when given strings containing a backslash or starting
8000         with e.g., -n.  James Youngman suggested setting IFS.
8001
8002 2011-09-19  Eric Blake  <eblake@redhat.com>
8003
8004         futimens: enhance test
8005         * tests/test-futimens.h (test_futimens): Also check for EBADF on
8006         closed non-negative fd.
8007
8008         date: accept 'hence' as opposite of 'ago'
8009         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
8010         * tests/test-parse-datetime.c (main): Enhance test.
8011         Suggested by Jesse Wilson.
8012
8013 2011-09-19  Jim Meyering  <meyering@redhat.com>
8014
8015         getcwd: don't fail in a deep directory on a system without openat
8016         Before this change, getcwd would fail when called from a directory
8017         of depth PATH_MAX / 3 or greater.  That was due to the fact that
8018         the non-openat implementation used "..", "../..", "../../..", etc.
8019         to access ancestor directories.  With too many, that string would
8020         be longer than PATH_MAX.
8021         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
8022         using gnulib's openat replacement.
8023         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
8024         we're using the replacement function.
8025
8026 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
8027
8028         maint.mk: avoid warnings from perl about missing files
8029         * top/maint.mk (def_sym_regex): Ignore files listed in
8030         $(gl_other_headers_) that do not exist, say because a project
8031         does not use a corresponding module.
8032
8033 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
8034
8035         stat: use pathmax.h only if needed
8036         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
8037         This is better for Emacs, which does not have a mingw port and
8038         therefore can avoid the pathmax module.
8039
8040         utimens: remove dependency on dup2
8041         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
8042         to work around the Linux kernel bug.
8043         * modules/utimens (Depends-on): Remove dup2.
8044
8045 2011-09-18  Bruno Haible  <bruno@clisp.org>
8046
8047         inet_ntop, inet_pton: Look for it also in libresolv.
8048         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
8049         libnsl, search for it in libresolv.
8050         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8051         Needed on Solaris 7.
8052
8053 2011-09-18  Bruno Haible  <bruno@clisp.org>
8054
8055         accept, accept4 tests: Avoid link error on Solaris.
8056         * modules/accept-tests (Makefile.am): Link test-accept against
8057         $(LIBSOCKET).
8058         * modules/accept4-tests (Makefile.am): Link test-accept4 against
8059         $(LIBSOCKET).
8060
8061         accept4: Avoid link error on Solaris.
8062         * modules/accept4 (Link): New section.
8063
8064         socket functions: Avoid link errors on Solaris.
8065         * modules/accept (Depends-on): Add socketlib.
8066         (Link): New section.
8067         * modules/bind (Depends-on): Add socketlib.
8068         (Link): New section.
8069         * modules/connect (Depends-on): Add socketlib.
8070         (Link): New section.
8071         * modules/getpeername (Depends-on): Add socketlib.
8072         (Link): New section.
8073         * modules/getsockname (Depends-on): Add socketlib.
8074         (Link): New section.
8075         * modules/getsockopt (Depends-on): Add socketlib.
8076         (Link): New section.
8077         * modules/listen (Depends-on): Add socketlib.
8078         (Link): New section.
8079         * modules/recv (Depends-on): Add socketlib.
8080         (Link): New section.
8081         * modules/recvfrom (Depends-on): Add socketlib.
8082         (Link): New section.
8083         * modules/send (Depends-on): Add socketlib.
8084         (Link): New section.
8085         * modules/sendto (Depends-on): Add socketlib.
8086         (Link): New section.
8087         * modules/setsockopt (Depends-on): Add socketlib.
8088         (Link): New section.
8089         * modules/shutdown (Depends-on): Add socketlib.
8090         (Link): New section.
8091         * modules/socket (Depends-on): Add socketlib.
8092         (Link): New section.
8093
8094 2011-09-18  Bruno Haible  <bruno@clisp.org>
8095
8096         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
8097         * tests/test-ptsname.c (main): Terminate the test if it takes longer
8098         than 5 seconds.
8099         * modules/ptsname-tests (configure.ac): Test for alarm.
8100
8101 2011-09-18  Bruno Haible  <bruno@clisp.org>
8102
8103         posix_spawn_file_actions_add*: Fix module dependencies.
8104         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
8105         posix_spawn_file_actions_init.
8106         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
8107         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
8108
8109 2011-09-18  Bruno Haible  <bruno@clisp.org>
8110
8111         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
8112         * tests/test-rename.h (test_rename): Allow error code EEXIST.
8113         * tests/test-renameat.c (main): Likewise.
8114
8115 2011-09-18  Bruno Haible  <bruno@clisp.org>
8116
8117         Tests for module 'accept4'.
8118         * modules/accept4-tests: New file.
8119         * tests/test-accept4.c: New file.
8120
8121 2011-09-18  Bruno Haible  <bruno@clisp.org>
8122
8123         Tests for module 'accept'.
8124         * modules/accept-tests: New file.
8125         * tests/test-accept.c: New file.
8126
8127 2011-09-18  Bruno Haible  <bruno@clisp.org>
8128
8129         dup2: Support for MSVC.
8130         * lib/dup2.c: Include msvc-inval.h.
8131         (rpl_dup2): Handle invalid parameter notifications during dup2 and
8132         _get_osfhandle calls.
8133         * modules/dup2 (Depends-on): Add msvc-inval.
8134         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
8135
8136         New module 'msvc-inval'.
8137         * lib/msvc-inval.h: New file.
8138         * lib/msvc-inval.c: New file.
8139         * m4/msvc-inval.m4: New file.
8140         * modules/msvc-inval: New file.
8141
8142 2011-09-17  Bruno Haible  <bruno@clisp.org>
8143
8144         Tests for module 'pclose'.
8145         * modules/pclose-tests: New file.
8146
8147         New module 'pclose'.
8148         * lib/stdio.in.h (pclose): New declaration.
8149         * lib/pclose.c: New file.
8150         * m4/pclose.m4: New file.
8151         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
8152         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
8153         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
8154         * modules/pclose: New file.
8155         * modules/popen-tests (Depends-on): Add pclose.
8156         * modules/popen-safer-tests (Depends-on): Likewise.
8157         * doc/posix-functions/pclose.texi: Mention the new module.
8158
8159 2011-09-17  Bruno Haible  <bruno@clisp.org>
8160
8161         popen: Support for MSVC.
8162         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
8163         * lib/popen.c (popen): Provide alternate definition for native Windows.
8164         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
8165         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
8166         * modules/popen (Depends-on, configure.ac): Update condition.
8167         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
8168         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
8169         fixed.
8170
8171 2011-09-17  Bruno Haible  <bruno@clisp.org>
8172
8173         isnanl, isnand, isnanf: Work around MSVC bug.
8174         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
8175
8176 2011-09-17  Bruno Haible  <bruno@clisp.org>
8177
8178         sys_socket tests: Fix recent mistake.
8179         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
8180
8181 2011-09-17  Bruno Haible  <bruno@clisp.org>
8182
8183         putenv: Support for MSVC.
8184         * modules/putenv (Depends-on): Add environ.
8185         * lib/putenv.c (environ): Disable declaration.
8186         * lib/unistd.in.h: Update comment.
8187
8188 2011-09-17  Bruno Haible  <bruno@clisp.org>
8189
8190         math: Avoid macro redefinition warnings on MSVC.
8191         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
8192         Undefine before redefining.
8193
8194 2011-09-17  Bruno Haible  <bruno@clisp.org>
8195
8196         doc: Mention functions which are declared as macros.
8197         * doc/posix-functions/*[fl].texi: Mention that some functions are
8198         defined as macros with arguments only.
8199
8200 2011-09-17  Bruno Haible  <bruno@clisp.org>
8201
8202         Add dependencies to new dirent related modules.
8203         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
8204         * modules/fts (Depends-on): Likewise.
8205         * modules/glob (Depends-on): Likewise.
8206         * modules/savedir (Depends-on): Likewise.
8207         * modules/scandir (Depends-on): Likewise.
8208         * modules/dirent-safer (Depends-on): Add opendir, closedir.
8209         * modules/fdopendir (Depends-on): Add opendir.
8210
8211 2011-09-17  Bruno Haible  <bruno@clisp.org>
8212
8213         inet_pton: Support for MSVC on Windows Vista or newer.
8214         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
8215         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
8216         HAVE_DECL_INET_PTON is defined.
8217         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8218         On platforms with <winsock2.h>, test whether inet_pton is declared in
8219         <ws2tcpip.h>. If so, arrange to replace it.
8220         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8221         REPLACE_INET_PTON.
8222         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
8223         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
8224         (Depends-on, configure.ac): Update condition.
8225         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
8226
8227 2011-09-17  Bruno Haible  <bruno@clisp.org>
8228
8229         inet_ntop: Support for MSVC on Windows Vista or newer.
8230         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
8231         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
8232         HAVE_DECL_INET_NTOP is defined.
8233         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
8234         On platforms with <winsock2.h>, test whether inet_ntop is declared in
8235         <ws2tcpip.h>. If so, arrange to replace it.
8236         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
8237         REPLACE_INET_NTOP.
8238         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
8239         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
8240         (Depends-on, configure.ac): Update condition.
8241         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
8242
8243 2011-09-16  Eric Blake  <eblake@redhat.com>
8244
8245         test-fsync: yet another enhancement
8246         * tests/test-fsync.c (main): Also test behavior on read-only text
8247         file.
8248
8249 2011-09-16  Bruno Haible  <bruno@clisp.org>
8250
8251         Enhance fsync, fdatasync tests.
8252         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
8253         * tests/test-fdatasync.c (main): Likewise.
8254
8255 2011-09-16  Bruno Haible  <bruno@clisp.org>
8256
8257         Support for MSVC compiler: Ensure mode_t gets defined.
8258         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
8259         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8260         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8261         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
8262         * tests/test-fcntl-h.c: Check that mode_t is defined.
8263         * tests/test-sys_stat.c: Likewise.
8264         * tests/test-sys_types.c: Likewise.
8265         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
8266         * doc/posix-headers/sys_stat.texi: Likewise.
8267         * doc/posix-headers/sys_types.texi: Likewise.
8268
8269 2011-09-16  Bruno Haible  <bruno@clisp.org>
8270
8271         sys_stat: Support for MSVC.
8272         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
8273         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
8274         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
8275         MSVC.
8276
8277 2011-09-16  Bruno Haible  <bruno@clisp.org>
8278
8279         Support for MSVC compiler: Ensure off_t gets defined.
8280         * lib/unistd.in.h: Include <sys/types.h>.
8281         * tests/test-fcntl-h.c: Check that off_t is defined.
8282         * tests/test-sys_stat.c: Likewise.
8283         * tests/test-sys_types.c: Likewise.
8284
8285 2011-09-16  Eric Blake  <eblake@redhat.com>
8286
8287         fdatasync: port to Solaris
8288         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
8289         * modules/fdatasync (Link): Document it.
8290         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
8291
8292         fdatasync: port to MacOS X 10.7
8293         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
8294         declared.
8295         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
8296         * modules/unistd (Makefile.am): Substitute it.
8297         * lib/unistd.in.h (fdatasync): Declare on MacOS.
8298         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
8299
8300         fdatasync: minor improvements
8301         * modules/fdatasync (Depends-on): Add condition for fsync.
8302         * lib/fdatasync.c (fdatasync): Add comment.
8303         * tests/test-unistd-c++.cc: Test fdatasync.
8304
8305         unistd: update refs to newer POSIX
8306         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
8307         Suggested by Bruno Haible.
8308
8309         fdatasync: new module
8310         * modules/fsync (Description): Document difference to fdatasync.
8311         * modules/fdatasync: New module.
8312         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
8313         * lib/fdatasync.c (fdatasync): Likewise.
8314         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
8315         defaults.
8316         * modules/unistd (Makefile.am): Set witnesses.
8317         * lib/unistd.in.h (fdatasync): Declare.
8318         * MODULES.html.sh: Document it.
8319         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
8320         * modules/fdatasync-tests: New test.
8321         * tests/test-fdatasync.c: Likewise.
8322
8323 2011-09-16  Eric Blake  <eblake@redhat.com>
8324
8325         test-fsync: enhance tests
8326         * modules/fsync-tests (Depends-on): Add errno, for mingw.
8327         * tests/test-fsync.c (main): Enhance test.
8328
8329 2011-09-15  Bruno Haible  <bruno@clisp.org>
8330
8331         Support for MSVC compiler: Ensure ssize_t gets defined.
8332         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
8333         * doc/posix-headers/stdio.texi: Likewise.
8334         * modules/stdio (Depends-on): Add ssize_t.
8335         * modules/sys_socket (Depends-on): Likewise.
8336         * modules/sys_types (Depends-on): Likewise.
8337         * modules/sys_uio (Depends-on): Likewise.
8338         * modules/unistd (Depends-on): Likewise.
8339         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
8340         * tests/test-sys_types.c: Check that ssize_t is defined.
8341
8342 2011-09-14  Bruno Haible  <bruno@clisp.org>
8343
8344         Avoid using #, the m4 comment starter character, near brackets.
8345         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
8346         delimiter character in sed expressions.
8347         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8348         Suggested by Eric Blake.
8349
8350         Properly quote AC_CHECK_DECLS' 4th argument.
8351         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
8352         argument.
8353         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
8354         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8355         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8356         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8357         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8358         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
8359         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
8360         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
8361         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
8362         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8363         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
8364         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8365         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8366         * m4/isinf.m4 (gl_ISINF): Likewise.
8367         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
8368         * m4/readutmp.m4 (gl_READUTMP): Likewise.
8369         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8370         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
8371         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
8372         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
8373         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
8374         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8375         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
8376         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
8377         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8378         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8379         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
8380         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
8381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8382         Reported by Eric Blake.
8383
8384         Properly quote AC_CHECK_DECL's 4th argument.
8385         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
8386         argument.
8387         * m4/argp.m4 (gl_ARGP): Likewise.
8388         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
8389         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8390         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
8391         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
8392         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
8393         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
8394         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
8395         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
8396         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
8397         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
8398         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
8399         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
8400         Reported by Eric Blake.
8401
8402 2011-09-14  Eric Blake  <eblake@redhat.com>
8403
8404         opendir: avoid compile warning
8405         * lib/opendir.c (includes): Always include errno.h.
8406         Reported by Tatsuro MATSUOKA.
8407
8408 2011-09-14  Jim Meyering  <meyering@redhat.com>
8409
8410         maint.mk: sc_tight_scope: propagate failure from sub-make
8411         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
8412         Reported by Martin von Gagern.
8413
8414 2011-09-13  Bruno Haible  <bruno@clisp.org>
8415
8416         tempname: Support for MSVC.
8417         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
8418         MSVC.
8419         * modules/tempname (Depends-on): Add fcntl-h.
8420
8421 2011-09-13  Bruno Haible  <bruno@clisp.org>
8422
8423         sys_time: Support for MSVC.
8424         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
8425         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
8426         include <winsock2.h>.
8427         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
8428         function declarations that collide with POSIX.
8429         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
8430         (Makefile.am): Substitute HAVE_WINSOCK2_H.
8431
8432 2011-09-13  Bruno Haible  <bruno@clisp.org>
8433
8434         stat: Support for MSVC.
8435         * lib/stat.c: Include pathmax.h.
8436         * modules/stat (Depends-on): Add pathmax.
8437
8438         pathmax: Support for native Windows.
8439         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
8440
8441 2011-09-12  Bruno Haible  <bruno@clisp.org>
8442
8443         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8444         * lib/dirent.in.h (struct dirent): New type.
8445         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8446         DT_WHT): New macros.
8447         (DIR): New type.
8448         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8449         (readdir, rewinddir): New declarations.
8450         * lib/dirent-private.h: New file.
8451         * lib/opendir.c: New file.
8452         * lib/readdir.c: New file.
8453         * lib/rewinddir.c: New file.
8454         * lib/closedir.c: New file.
8455         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8456         * m4/opendir.m4: New file.
8457         * m4/readdir.m4: New file.
8458         * m4/rewinddir.m4: New file.
8459         * m4/closedir.m4: New file.
8460         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8461         REPLACE_CLOSEDIR here.
8462         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8463         readdir, rewinddir are declared.
8464         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8465         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8466         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8467         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8468         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8469         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8470         * modules/opendir: New file.
8471         * modules/readdir: New file.
8472         * modules/rewinddir: New file.
8473         * modules/closedir: New file.
8474         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8475         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8476         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8477         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8478         * NEWS: Mention the 'fchdir' change.
8479
8480 2011-09-11  Bruno Haible  <bruno@clisp.org>
8481
8482         asm-underscore.m4: Support for MSVC.
8483         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8484         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8485
8486 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8487
8488         Doc about crypt functions.
8489         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8490         needing for _GNU_SOURCE to get crypt.
8491         * doc/posix-functions/encrypt.texi: Likewise.
8492         * doc/posix-functions/setkey.texi: Likewise.
8493
8494 2011-09-11  Bruno Haible  <bruno@clisp.org>
8495
8496         doc: Update regarding MSVC 9.
8497         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8498         tested".
8499         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8500         * doc/posix-headers/*.texi: Likewise.
8501         * doc/pastposix-functions/*.texi: Likewise.
8502         * doc/glibc-functions/*.texi: Likewise.
8503         * doc/glibc-headers/*.texi: Likewise.
8504
8505 2011-09-11  Bruno Haible  <bruno@clisp.org>
8506
8507         unistd et al.: Don't assume <unistd.h> exists.
8508         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8509         does not exist.
8510         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8511         exist. But include <stdlib.h>.
8512         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8513         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8514         symlink() does not exist.
8515         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8516         include <io.h> instead.
8517         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8518         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8519         include <direct.h> instead.
8520         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8521         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8522         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8523         <io.h> instead.
8524         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8525         correctly if the system does not have hard links.
8526         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8527         <direct.h> instead.
8528         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8529         it when looking for function declarations.
8530         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8531         <direct.h> and <io.h> instead.
8532         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8533
8534 2011-09-11  Bruno Haible  <bruno@clisp.org>
8535
8536         strcase: Support for MSVC.
8537         * modules/strcase (Status, Notice): Remove obsoletion mark.
8538         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8539         * doc/posix-functions/strncasecmp.texi: Likewise.
8540
8541         strings: Don't assume <strings.h> exists.
8542         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8543         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8544         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8545         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8546
8547 2011-09-11  Bruno Haible  <bruno@clisp.org>
8548
8549         dirent: Don't assume <dirent.h> exists.
8550         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8551         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8552         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8553         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8554
8555 2011-09-11  Bruno Haible  <bruno@clisp.org>
8556
8557         Fix wint_t on MSVC.
8558         * lib/wchar.in.h (wint_t): On MSVC, override it.
8559         * lib/wctype.in.h (wint_t): Likewise.
8560         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8561         MSVC.
8562         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8563         * doc/posix-headers/wctype.texi: Likewise.
8564
8565 2011-09-11  Bruno Haible  <bruno@clisp.org>
8566
8567         sys_types: Fix typo.
8568         * lib/sys_types.in.h: Fix typo in comment.
8569         Reported by Paul Eggert.
8570
8571         Support for MSVC compiler: Ensure size_t gets defined.
8572         * modules/strings (Depends-on): Add 'sys_types'.
8573         * modules/sys_uio (Depends-on): Likewise.
8574         * lib/sys_uio.in.h: Update comment.
8575
8576         C++ tests for module 'sys_types'.
8577         * modules/sys_types-c++-tests: New file.
8578         * tests/test-sys_types-c++.cc: New file.
8579
8580         Tests for module 'sys_types'.
8581         * modules/sys_types-tests: New file.
8582         * tests/test-sys_types.c: New file.
8583
8584         New module 'sys_types'.
8585         * lib/sys_types.in.h: New file.
8586         * m4/sys_types_h.m4: New file.
8587         * modules/sys_types: New file.
8588         * doc/posix-headers/sys_types.texi: Mention the new module and the
8589         size_t problem on MSVC 9.
8590
8591 2011-09-11  Bruno Haible  <bruno@clisp.org>
8592
8593         Support for MSVC compiler: Avoid division by a literal 0.
8594         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8595         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8596         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8597         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8598         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8599         * tests/infinity.h: New file.
8600         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8601         on MSVC.
8602         * tests/test-ceilf1.c: Include infinity.h.
8603         (main): Use Infinityf.
8604         * tests/test-ceil1.c: Include infinity.h.
8605         (main): Use Infinityd.
8606         * tests/test-ceill.c: Include infinity.h.
8607         (main): Use Infinityl.
8608         * tests/test-dprintf-posix.c: Include infinity.h.
8609         (test_function): Use Infinityd.
8610         * tests/test-floorf1.c: Include infinity.h.
8611         (main): Use Infinityf.
8612         * tests/test-floor1.c: Include infinity.h.
8613         (main): Use Infinityd.
8614         * tests/test-floorl.c: Include infinity.h.
8615         (main): Use Infinityl.
8616         * tests/test-fprintf-posix.c: Include infinity.h.
8617         (test_function): Use Infinityd.
8618         * tests/test-frexp.c: Include infinity.h.
8619         (main): Use Infinityd.
8620         * tests/test-frexpl.c: Include infinity.h.
8621         (main): Use Infinityl.
8622         * tests/test-isfinite.c: Include infinity.h.
8623         (test_isfinitef): Use Infinityf.
8624         (test_isfinited): Use Infinityd.
8625         (test_isfinitel): Use Infinityl.
8626         * tests/test-isinf.c: Include infinity.h.
8627         (test_isinff): Use Infinityf.
8628         (test_isinfd): Use Infinityd.
8629         (test_isinfl): Use Infinityl.
8630         * tests/test-isnan.c: Include infinity.h.
8631         (test_float): Use Infinityf.
8632         (test_double): Use Infinityd.
8633         (test_long_double): Use Infinityl.
8634         * tests/test-isnanf.h: Include infinity.h.
8635         (main): Use Infinityf.
8636         * tests/test-isnand.h: Include infinity.h.
8637         (main): Use Infinityd.
8638         * tests/test-isnanl.h: Include infinity.h.
8639         (main): Use Infinityl.
8640         * tests/test-ldexpl.c: Include infinity.h.
8641         (main): Use Infinityl.
8642         * tests/test-printf-posix.h: Include infinity.h.
8643         (test_function): Use Infinityd.
8644         * tests/test-roundf1.c: Include infinity.h.
8645         (main): Use Infinityf.
8646         * tests/test-round1.c: Include infinity.h.
8647         (main): Use Infinityd.
8648         * tests/test-roundl.c: Include infinity.h.
8649         (main): Use Infinityl.
8650         * tests/test-signbit.c: Include infinity.h.
8651         (test_signbitf): Use Infinityf.
8652         (test_signbitd): Use Infinityd.
8653         (test_signbitl): Use Infinityl.
8654         * tests/test-snprintf-posix.h: Include infinity.h.
8655         (test_function): Use Infinityd, Infinityl.
8656         * tests/test-sprintf-posix.h: Include infinity.h.
8657         (test_function): Use Infinityd, Infinityl.
8658         * tests/test-truncf1.c: Include infinity.h.
8659         (main): Use Infinityf.
8660         * tests/test-trunc1.c: Include infinity.h.
8661         (main): Use Infinityd.
8662         * tests/test-truncl.c: Include infinity.h.
8663         (main): Use Infinityl.
8664         * tests/test-vasnprintf-posix.c: Include infinity.h.
8665         (test_function): Use Infinityd, Infinityl.
8666         * tests/test-vasprintf-posix.c: Include infinity.h.
8667         (test_function): Use Infinityd, Infinityl.
8668         * modules/ceilf-tests (Files): Add tests/infinity.h.
8669         * modules/ceil-tests (Files): Likewise.
8670         * modules/ceill-tests (Files): Likewise.
8671         * modules/dprintf-posix-tests (Files): Likewise.
8672         * modules/floorf-tests (Files): Likewise.
8673         * modules/floor-tests (Files): Likewise.
8674         * modules/floorl-tests (Files): Likewise.
8675         * modules/fprintf-posix-tests (Files): Likewise.
8676         * modules/frexp-tests (Files): Likewise.
8677         * modules/frexp-nolibm-tests (Files): Likewise.
8678         * modules/frexpl-tests (Files): Likewise.
8679         * modules/frexpl-nolibm-tests (Files): Likewise.
8680         * modules/isfinite-tests (Files): Likewise.
8681         * modules/isinf-tests (Files): Likewise.
8682         * modules/isnan-tests (Files): Likewise.
8683         * modules/isnanf-tests (Files): Likewise.
8684         * modules/isnanf-nolibm-tests (Files): Likewise.
8685         * modules/isnand-tests (Files): Likewise.
8686         * modules/isnand-nolibm-tests (Files): Likewise.
8687         * modules/isnanl-tests (Files): Likewise.
8688         * modules/isnanl-nolibm-tests (Files): Likewise.
8689         * modules/ldexpl-tests (Files): Likewise.
8690         * modules/printf-posix-tests (Files): Likewise.
8691         * modules/roundf-tests (Files): Likewise.
8692         * modules/round-tests (Files): Likewise.
8693         * modules/roundl-tests (Files): Likewise.
8694         * modules/signbit-tests (Files): Likewise.
8695         * modules/snprintf-posix-tests (Files): Likewise.
8696         * modules/sprintf-posix-tests (Files): Likewise.
8697         * modules/truncf-tests (Files): Likewise.
8698         * modules/trunc-tests (Files): Likewise.
8699         * modules/truncl-tests (Files): Likewise.
8700         * modules/vasnprintf-posix-tests (Files): Likewise.
8701         * modules/vasprintf-posix-tests (Files): Likewise.
8702         * modules/vdprintf-posix-tests (Files): Likewise.
8703         * modules/vfprintf-posix-tests (Files): Likewise.
8704         * modules/vprintf-posix-tests (Files): Likewise.
8705         * modules/vsnprintf-posix-tests (Files): Likewise.
8706         * modules/vsprintf-posix-tests (Files): Likewise.
8707         * modules/xprintf-posix-tests (Files): Likewise.
8708
8709 2011-09-11  Bruno Haible  <bruno@clisp.org>
8710
8711         Ensure pid_t gets defined.
8712         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8713         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8714         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8715         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8716         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8717         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8718         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8719         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8720         * tests/test-fcntl-h.c: Check that pid_t is defined.
8721         * tests/test-sched.c: Likewise.
8722         * tests/test-termios.c: Likewise.
8723         * tests/test-time.c: Likewise.
8724         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8725         * doc/posix-headers/signal.texi: Likewise.
8726         * doc/posix-headers/sys_types.texi: Likewise.
8727         * doc/posix-headers/time.texi: Likewise.
8728
8729 2011-09-11  Bruno Haible  <bruno@clisp.org>
8730
8731         acl: Fix compilation on Solaris 10 (older version).
8732         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8733         of ACE_EVERYONE.
8734         * lib/set-mode-acl.c (qset_acl): Likewise.
8735         Reported by Christian Jullien <eligis@orange.fr>.
8736
8737 2011-09-10  Bruno Haible  <bruno@clisp.org>
8738
8739         iconv, unsetenv: Add support for MSVC compiler.
8740         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8741         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8742
8743 2011-09-10  Bruno Haible  <bruno@clisp.org>
8744
8745         *printf: Add support for MSVC compiler.
8746         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8747         handles the exception caused by the %n directive. When cross-compiling,
8748         guess no on native Windows.
8749         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8750         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8751         emulate it through vsnprintf.
8752         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8753         * doc/posix-functions/dprintf.texi: Update documentation regarding
8754         MSVC 9.
8755         * doc/posix-functions/fprintf.texi: Likewise.
8756         * doc/posix-functions/printf.texi: Likewise.
8757         * doc/posix-functions/snprintf.texi: Likewise.
8758         * doc/posix-functions/sprintf.texi: Likewise.
8759         * doc/posix-functions/swprintf.texi: Likewise.
8760         * doc/posix-functions/vdprintf.texi: Likewise.
8761         * doc/posix-functions/vfprintf.texi: Likewise.
8762         * doc/posix-functions/vprintf.texi: Likewise.
8763         * doc/posix-functions/vsnprintf.texi: Likewise.
8764         * doc/posix-functions/vsprintf.texi: Likewise.
8765         * doc/glibc-functions/asprintf.texi: Likewise.
8766         * doc/glibc-functions/obstack_printf.texi: Likewise.
8767         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8768         * doc/glibc-functions/vasprintf.texi: Likewise.
8769
8770 2011-09-10  Bruno Haible  <bruno@clisp.org>
8771
8772         nocrash: Add support for native Windows.
8773         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8774
8775 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8776             Bruno Haible  <bruno@clisp.org>
8777
8778         absolute-header, include-next: Add support for MSVC compiler.
8779         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8780         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8781         directory separator in #line directives.
8782         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8783         recognize also backslash as directory separator in #line directives.
8784
8785 2011-09-08  Jim Meyering  <meyering@redhat.com>
8786
8787         maint.mk: mark the post-release commit log with "maint: " prefix
8788         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8789         one-line commit-log summary.
8790
8791 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8792             Bruno Haible  <bruno@clisp.org>
8793
8794         Doc about crypt functions.
8795         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8796         systems.
8797         * doc/posix-functions/encrypt.texi: Likewise.
8798         * doc/posix-functions/setkey.texi: Likewise.
8799
8800 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8801
8802         * lib/gc.h: Fix copyright header.
8803
8804 2011-09-07  Bruno Haible  <bruno@clisp.org>
8805
8806         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8807         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8808         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8809
8810 2011-09-07  Bruno Haible  <bruno@clisp.org>
8811
8812         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8813         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8814         * lib/freopen.c: Likewise.
8815         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8816         * lib/lstat.c: Likewise.
8817         * lib/stat.c: Likewise.
8818         * lib/open.c: Use different syntax for include of <fcntl.h>.
8819         * lib/openat.c: Include fcntl.h again, explicitly.
8820
8821 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8822
8823         parse-datetime: document the newly accepted format
8824         * doc/parse-datetime.texi (Combined date and time of day items):
8825         New section.
8826
8827 2011-09-06  Bruno Haible  <bruno@clisp.org>
8828
8829         acl: Fix a test failure on newer Solaris 10 with ZFS.
8830         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8831         ENOSYS as no ACL.
8832         Reported by Jim Meyering.
8833
8834 2011-09-06  Bruno Haible  <bruno@clisp.org>
8835
8836         acl: Update for AIX >= 5.3 with NFS.
8837         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8838         ENOSYS as no ACL.
8839
8840         acl: Fix a test failure on AIX >= 5.3 with NFS.
8841         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8842         as no ACL.
8843
8844 2011-09-06  Bruno Haible  <bruno@clisp.org>
8845
8846         acl: Fix a test failure on IRIX 6.5 with NFS.
8847         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8848         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8849         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8850         * lib/copy-acl.c (qcopy_acl): Likewise.
8851
8852 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8853
8854         openat: port to AIX 7.1 with large files
8855         AIX 7.1 does a "#define openat open64at" if large files are in use,
8856         so we can't simply #undef openat.  Use the orig_openat trick (similar
8857         to orig_open in lib/open.c) to work around the problem.  Problem
8858         reported by Kevin Brott for GNU tar, in the thread containing
8859         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8860         * lib/openat.c (__need_system_fcntl_h): Define first.
8861         Include <fcntl.h> and <sys/types.h> before undefining.
8862         (orig_openat) [HAVE_OPENAT]: New inline function.
8863         (openat) [HAVE_OPENAT]: Do not undef.
8864         (rpl_openat): Use orig_openat, not openat.
8865
8866 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8867             Bruno Haible  <bruno@clisp.org>
8868
8869         acl: Avoid errors on NonStop Kernel.
8870         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8871         ENOTSUP errors.
8872
8873 2011-09-05  Bruno Haible  <bruno@clisp.org>
8874
8875         acl: Clean up Solaris code.
8876         * lib/acl-internal.h: Remove no-op #if.
8877         * lib/file-has-acl.c: Likewise.
8878         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8879         * lib/copy-acl.c (qcopy_acl): Likewise.
8880
8881 2011-09-05  Bruno Haible  <bruno@clisp.org>
8882
8883         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8884         binaries built on the original Solaris 10.
8885         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8886         trivial.
8887
8888 2011-09-05  Bruno Haible  <bruno@clisp.org>
8889
8890         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8891         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8892         10.
8893         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8894         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8895         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8896         instead of acl_get, facl_get, acl_set, facl_set.
8897
8898 2011-09-05  Bruno Haible  <bruno@clisp.org>
8899
8900         copy-file: Try unit tests on more file systems.
8901         * tests/test-copy-file-1.sh: New file.
8902         * tests/test-copy-file-2.sh: New file.
8903         * modules/copy-file-tests (Files): Add them.
8904         (Makefile.am): Add them to TESTS.
8905
8906         acl: Try unit tests on more file systems.
8907         * tests/test-file-has-acl-1.sh: New file.
8908         * tests/test-file-has-acl-2.sh: New file.
8909         * tests/test-set-mode-acl-1.sh: New file.
8910         * tests/test-set-mode-acl-2.sh: New file.
8911         * tests/test-copy-acl-1.sh: New file.
8912         * tests/test-copy-acl-2.sh: New file.
8913         * modules/acl-tests (Files): Add them.
8914         (Makefile.am): Add them to TESTS.
8915
8916 2011-09-04  Bruno Haible  <bruno@clisp.org>
8917
8918         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8919         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8920         10.
8921         (OLD_ALLOW, OLD_DENY): New macros.
8922         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8923         ACE_ACCESS_ALLOWED_ACE_TYPE.
8924         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8925         ACE_ACCESS_DENIED_ACE_TYPE.
8926         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8927         (NEW_ACE_EXECUTE): Fix value.
8928         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8929         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8930         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8931         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8932         NEW_ACE_SYNCHRONIZE): New macros.
8933         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8934         instead of acl_fromtext, acl_set, facl_set.
8935         Fixes a coreutils/tests/cp/perm failure.
8936
8937 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8938
8939         openat: test for fstatat (..., 0) bug
8940         Further testing with tar suggests that fstatat (..., 0)
8941         does not work in general, on AIX 7.1; see
8942         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8943         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8944         replacement fstatat (which is what older AIX releases were using
8945         anyway).
8946         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8947         use is now changed to orig_fstatat.  This was probably the right
8948         thing to do anyway.
8949         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8950         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8951         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8952         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8953         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8954         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8955         if the bug is found.
8956
8957         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8958         This tests for another fstatat bug on AIX 7.1:
8959         fstatat (AT_FDCWD, ..., 0) does not work.  See
8960         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8961         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8962         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8963         (rpl_fstatat): Adjust so that it works around either (or both)
8964         bugs if present.
8965         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8966
8967 2011-09-03  Karl Berry  <karl@gnu.org>
8968
8969         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8970         in index entries.
8971
8972 2011-09-02  Bruno Haible  <bruno@clisp.org>
8973
8974         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8975         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8976         values of AR, ARFLAGS, RANLIB.
8977         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8978
8979 2011-09-02  Bruno Haible  <bruno@clisp.org>
8980
8981         Find 'ar' program that fits with --host argument.
8982         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8983
8984 2011-09-02  Bruno Haible  <bruno@clisp.org>
8985
8986         tests: init.sh: Support any non-GNU diff.
8987         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8988         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8989         Solaris 8.
8990
8991 2011-09-02  Bruno Haible  <bruno@clisp.org>
8992
8993         tests: init.sh: work also with any non-GNU diff that supports -u
8994         * tests/init.sh: Relax check for diff -u support.
8995         Rather than checking for GNU diff via --version, simply check
8996         for support for -u itself.  Useful at least on OpenBSD 4.9,
8997         AIX 7.1, IRIX 6.5, and Solaris 10.
8998
8999 2011-09-01  Bruno Haible  <bruno@clisp.org>
9000
9001         strtoimax, strtoumax: Document problem on HP-UX 11.
9002         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
9003         * doc/posix-functions/strtoumax.texi: Likewise.
9004
9005 2011-09-01  Bruno Haible  <bruno@clisp.org>
9006
9007         strtoumax: Avoid link error on OSF/1 with DTK cc.
9008         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
9009         defined as a function.
9010         * modules/strtoumax (Depends-on, configure.ac): Test only whether
9011         strtoumax is defined, not whether it is declared.
9012
9013 2011-09-01  Bruno Haible  <bruno@clisp.org>
9014
9015         strtoimax: Avoid link error on OSF/1 with DTK cc.
9016         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
9017         defined as a function.
9018         * modules/strtoimax (Depends-on, configure.ac): Test only whether
9019         strtoimax is defined, not whether it is declared.
9020
9021 2011-09-01  Bruno Haible  <bruno@clisp.org>
9022
9023         imaxdiv: Avoid link error on OSF/1 with DTK cc.
9024         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
9025         as a function.
9026         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
9027         whether it is declared.
9028
9029 2011-09-01  Bruno Haible  <bruno@clisp.org>
9030
9031         imaxabs: Avoid link error on OSF/1 with DTK cc.
9032         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
9033         as a function.
9034         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
9035         whether it is declared.
9036
9037 2011-09-01  Bruno Haible  <bruno@clisp.org>
9038
9039         Tests for module 'strtoumax'.
9040         * modules/strtoumax-tests: New file.
9041         * tests/test-strtoumax.c: New file.
9042
9043         Tests for module 'strtoimax'.
9044         * modules/strtoimax-tests: New file.
9045         * tests/test-strtoimax.c: New file.
9046
9047         Tests for module 'imaxdiv'.
9048         * modules/imaxdiv-tests: New file.
9049         * tests/test-imaxdiv.c: New file.
9050
9051         Tests for module 'imaxabs'.
9052         * modules/imaxabs-tests: New file.
9053         * tests/test-imaxabs.c: New file.
9054
9055 2011-09-01  Bruno Haible  <bruno@clisp.org>
9056
9057         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
9058         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
9059         pthread_create.
9060
9061 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9062
9063         openat: work around AIX 7.1 fstatat issue
9064         This should fix the problem that was not properly fixed
9065         in the previous change, dated 2011-08-30.
9066         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
9067         __need_system_stat_h defined.
9068         (orig_fstatat) [HAVE_FSTATAT]: New function.
9069         (rpl_fstatat): Go back to the old way of doing things,
9070         except call orig_fstatat instead of fstatat.
9071         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
9072         Remove unnecessary check whether fstatat fills in st_size etc.
9073
9074 2011-09-01  Bruno Haible  <bruno@clisp.org>
9075
9076         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
9077         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
9078         just include the system's header.
9079
9080 2011-08-31  Jim Meyering  <meyering@redhat.com>
9081
9082         tests: avoid spurious assertion failure in test-float.c on ppc64
9083         * tests/test-float.c (test_long_double): Comment out an assertion,
9084         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
9085         with gcc-4.4.4.
9086
9087         maint: indent with spaces, not TABs
9088         I need to get in the habit of running gnulib's "make check".
9089         Both of these would have been caught.
9090         * m4/largefile.m4: Indent with spaces, not TABs.
9091         * lib/parse-datetime.y (iso_8601_time): Likewise.
9092         Spotted by Pádraig Brady.
9093
9094         test-parse-datetime.c: accommodate a relatively strict gcc warning
9095         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
9096         to avoid a warning from gcc's -Werror=missing-declarations.
9097         Insert a few spaces-before-funcall-parenthesis.
9098
9099 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
9100
9101         parse-datetime: accept ISO 8601 date and time rep with "T" separator
9102         The parser now accepts ISO 8601 date-time strings with "T" as the
9103         separator.  It has long parsed dates like "2004-02-29 16:21:42"
9104         with a space between the date and time strings.  Now it also parses
9105         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
9106         variants like "2004-02-29T16:21:42.333-07:00"
9107         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
9108         of day representation using the 'T' separator character.
9109         * doc/parse-datetime.texi (General date syntax): replace use of
9110         deprecated --iso-8601 option with --rfc-3339 in example of date
9111         command output formats that can be parsed.
9112         * tests/test-parse-datetime.c (tm_diff): New function, taken from
9113         lib/parse-datetime.y.
9114         (gmt_offset): New function.
9115         (main): Add additional test cases to validate ISO8601 extended
9116         date and time of day parsing.
9117
9118 2011-08-31  Bruno Haible  <bruno@clisp.org>
9119
9120         freopen: Documentation.
9121         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
9122         name.
9123         Reported by Claudio Bley <claudio.bley@gmail.com>.
9124
9125 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
9126
9127         freopen: Don't crash if the filename argument is NULL.
9128         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
9129         NULL.
9130
9131 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9132
9133         openat: work around AIX 7.1 fstatat bug
9134         Problem reported by Kevin Brott for GNU tar, in the thread containing
9135         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
9136         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
9137         FSTATAT_ST_SIZE_ETC_BROKEN.
9138         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
9139         rpl_fstatat.
9140         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
9141         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
9142         AC_CHECK_FUNCS_ONCE for fstatat.
9143         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
9144         fchmodat, mkdirat, openat and unlinkat.
9145
9146 2011-08-30  Bruno Haible  <bruno@clisp.org>
9147
9148         Avoid endless recursions if config.h includes some header files.
9149         * lib/fopen.c (__need_FILE): Define already before including config.h.
9150         * lib/freopen.c (__need_FILE): Likewise.
9151         * lib/open.c (__need_system_fcntl_h): Likewise.
9152         * lib/stat.c (__need_system_sys_stat_h): Likewise.
9153         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
9154         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9155
9156 2011-08-25  Karl Berry  <karl@gnu.org>
9157
9158         * config/srclist.txt (ylwrap): new try.
9159         * build-aux/ylwrap: new file.
9160
9161 2011-08-23  Bruno Haible  <bruno@clisp.org>
9162
9163         tmpdir: Use a good default directory on native Windows.
9164         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
9165         (P_tmpdir): Default to _P_tmpdir on native Windows.
9166         (path_search): On native Windows, try the value returned by GetTempPath
9167         before trying P_tmpdir.
9168         * modules/tmpdir (Depends-on): Add pathmax.
9169         Suggested by John Darrington <john@darrington.wattle.id.au>.
9170
9171 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
9172
9173         doc: fix typo in README-release
9174         * top/README-release: Capitalize first word of a sentence.
9175
9176 2011-08-19  Jim Meyering  <meyering@redhat.com>
9177
9178         fts: do not exhaust memory when processing million-entry directories
9179         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
9180         directory would require about 256*N bytes of memory.  Thus, it was
9181         easy to construct a directory too large to be processed by any of
9182         those tools.  With this change, fts' maximum memory utilization is
9183         now limited to around 30MB.
9184         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
9185         (fts_read): When we've processed the final entry (i.e., when
9186         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
9187         using the parent entry to read any remaining entries.  Dispatch
9188         depending on what fts_build returns:
9189         - NULL+stop, aka failure: stop
9190         - NULL otherwise: move up in the dir hierarchy
9191         - non-NULL: handle this new entry
9192         (fts_build): Declare and use new local, continue_readdir.
9193         Prepare to be called from fts_read, when the entries
9194         from a partially-read directory have just been exhausted.
9195         In that case, we'll skip the opendir and instead use the parent's
9196         fts_dirp and derive dir_fd from that.
9197         Finally, in the readdir loop, if we read max_entries entries,
9198         exit the loop ensuring *not* to call closedir.  This is required
9199         so that fts_dirp can be reused on a subsequent call.
9200         Prompted by Ben England's report of memory exhaustion in find
9201         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
9202
9203         maint: fts: move decl of `dp' down into while loop; split a long line
9204         * lib/fts.c (fts_build): No semantic change.
9205
9206         fts: add/use new struct member, fts_dirp
9207         We are about to use this to manage any directory with
9208         too many entries to read all of them into memory at once.
9209         To do that, we'll need to save the DIR* pointer in each
9210         affected FTSENT struct.
9211         * lib/fts_.h: Include <dirent.h>.
9212         (struct FTSENT) [fts_dirp]: New member.
9213         * lib/fts.c (closedir_and_clear): Define.
9214         Use it in place of closedir so that we are sure to
9215         clear the new fts_dirp member when done with it.
9216         (fts_alloc): Initialize the new member.
9217         (fts_lfree): Free, if needed.
9218
9219         maint: fts: give __opendir2 a new parameter and rename
9220         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
9221         than surreptitiously using sole caller's "dir_fd".
9222         (fts_opendir): Rename from __opendir2.
9223
9224         maint: fts.c: remove __opendir2's now-unused parameter, oflag
9225         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
9226
9227         maint: fts.c: correct off-by-one indentation
9228         * lib/fts.c (fts_build): Correct indentation, change style
9229         of a couple of block comments, and bracing style.
9230
9231         maint: fts.c: move __opendir2 #define "up" out of function body
9232         * lib/fts.c (__opendir2): Move "up".  No semantic change.
9233
9234         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
9235         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
9236         out for a long time and besides was useful only on BSD systems.
9237
9238 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
9239
9240         regex: port to Stratus OpenVOS
9241         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
9242         define to empty, rather than attempting nonportable optimizations.
9243         Problem reported by Paul Green in:
9244         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
9245         and fix suggested by Eric Blake in:
9246         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
9247
9248 2011-08-17  Eric Blake  <eblake@redhat.com>
9249
9250         getcwd: fix test failures on mingw
9251         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
9252         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
9253         test if long directory cannot be created, and allow mingw errno.
9254
9255         getcwd-lgpl: fix m4 to match relaxed test for BSD
9256         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
9257         (gl_FUNC_GETCWD_SIGNATURE): New macro.
9258         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
9259         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
9260         signature problem.
9261
9262         getcwd: fix compilation on mingw64
9263         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
9264         getcwd.
9265         Reported by Marc-André Lureau.
9266
9267         pipe2: silence compiler warning
9268         * lib/pipe2.c (pipe2): Hide label if it is not used.
9269
9270 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
9271
9272         relocatable-prog: fix link error
9273         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
9274         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
9275         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
9276         into modules/relocatable-lib without noticing that
9277         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
9278         also needs to build relocatable.c.
9279
9280 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
9281
9282         getaddrinfo: fix sh typo in gai_strerrorA decl checking
9283         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
9284         shell code: it contained a 'break' that was not in a loop.
9285         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
9286         via a shell-language loop; this may have been true in old Autoconf
9287         versions, but it's not true in Autoconf 2.68.  I found this bug
9288         when testing coreutils git on Solaris 8, whose shell complains
9289         about the syntax error.
9290
9291 2011-08-12  Simon Josefsson  <simon@josefsson.org>
9292
9293         * lib/base64.c: Fix comment to reference RFC 4648.
9294         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
9295         <gvtulder@gmail.com>.
9296
9297 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
9298
9299         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
9300
9301         po/Makefile.in.in: fix make -q problem
9302         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
9303         rule, since there's no file named 'check-macro-version' and its
9304         use as a file breaks make -q.
9305         (all): Don't depend on check-macro-version.
9306         (CHECK_MACRO_VERSION): New macro.
9307         (stamp-po): Use it.
9308
9309         configmake: fix make -q problem
9310         * modules/configmake (configmake.h): Update configmake.h's time stamp
9311         even if the file does not change.  Otherwise, 'make -q' fails.
9312         Problem reported by Simon Josefsson in
9313         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
9314
9315 2011-08-11  Jim Meyering  <meyering@redhat.com>
9316
9317         git-version-gen: correct the advice in a comment
9318         * build-aux/git-version-gen: Correct comment.
9319         Don't recommend to list .tarball-version in .gitignore.
9320
9321 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
9322
9323         base64: fix off-by-one buffer size bug
9324         Problem and (trivial) fix reported by Gijs van Tulder in
9325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
9326         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
9327         * tests/test-base64.c (main): Catch the bug.
9328
9329 2011-08-10  Eric Blake  <eblake@redhat.com>
9330
9331         closein: correct comments
9332         * lib/closein.c (close_stdin): Improve comments.
9333
9334 2011-08-09  Bruno Haible  <bruno@clisp.org>
9335
9336         More tests for 'fseeko'.
9337         * tests/test-fseeko3.c: New file, from Eric Blake.
9338         * tests/test-fseeko3.sh: New file.
9339         * modules/fseeko-tests (Files): Add them.
9340         (TESTS): Add test-fseeko3.sh.
9341         (check_PROGRAMS): Add test-fseeko3.
9342
9343 2011-08-09  Eric Blake  <eblake@redhat.com>
9344
9345         fseeko: remove unneeded hack
9346         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
9347
9348         fseeko: fix bug on glibc
9349         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
9350         Reported by John W. Eaton.
9351
9352 2011-08-08  Bruno Haible  <bruno@clisp.org>
9353
9354         unictype/base: Fix interoperability with preinstalled libunistring.
9355         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
9356         Reported by Simon Josefsson.
9357
9358 2011-08-08  Bruno Haible  <bruno@clisp.org>
9359
9360         iswblank: Detect declaration correctly.
9361         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
9362         AC_CHECK_DECLS invocation.
9363
9364 2011-08-08  Bruno Haible  <bruno@clisp.org>
9365
9366         tcgetsid: Detect declaration correctly.
9367         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
9368         AC_CHECK_DECLS invocation.
9369         Reported by Simon Josefsson.
9370
9371 2011-08-08  Eric Blake  <eblake@redhat.com>
9372
9373         largefile: fix typo that regressed large file support
9374         * modules/largefile (configure.ac-early): Fix section name.
9375
9376 2011-08-06  Karl Berry  <karl@gnu.org>
9377
9378         * MODULES.html.sh (func_all_files): _Noreturn is no longer
9379         a separate module.
9380
9381 2011-08-05  Simon Josefsson  <simon@josefsson.org>
9382
9383         openat: Fix warnings and commens when building unlinkat.c on Hurd.
9384         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
9385         get prototype for free.
9386
9387 2011-08-04  Bruno Haible  <bruno@clisp.org>
9388
9389         Tests for module 'pathmax'.
9390         * modules/pathmax-tests: New file.
9391         * tests/test-pathmax.c: New file.
9392
9393         canonicalize-lgpl: Support larger filenames on the Hurd.
9394         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
9395         Reported by Paul Eggert.
9396
9397         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
9398         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
9399         * lib/chdir-long.h: Include pathmax.h.
9400         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
9401         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
9402         (PATH_MAX): Remove code that is done by pathmax.h.
9403         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
9404         * lib/tmpfile.c: Add a comment.
9405         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
9406         * modules/chdir-long (Depends-on): Add pathmax.
9407         * modules/getcwd (Depends-on): Add pathmax.
9408         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
9409         is not defined.
9410         * doc/posix-headers/limits.texi: Mention the pathmax module.
9411         * NEWS: Mention the change.
9412
9413 2011-08-02  Bruno Haible  <bruno@clisp.org>
9414
9415         pthread_sigmask: Actually use results of gl_THREADLIB.
9416         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
9417         gl_THREADLIB, not gl_[]THREADLIB.
9418         Reported by Eric Blake.
9419
9420 2011-08-02  Jim Meyering  <meyering@redhat.com>
9421
9422         maint.mk: relax the default _gl_TS_function_match regexp
9423         * top/maint.mk (_gl_TS_function_match): Don't require at least one
9424         space between function name and "(" in an "extern" declaration.
9425         That would fail to match a decl with no space there: extern void foo();
9426
9427 2011-07-31  Iain Nicol  <iain@thenicols.net>
9428
9429         git-version-gen: document that EXTRA_DIST must include .version
9430         * build-aux/git-version-gen: In the how-to-use comment, document
9431         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
9432         will fail when run from an unpacked distribution tarball.
9433
9434 2011-08-01  Bruno Haible  <bruno@clisp.org>
9435
9436         wctype-h: Fix last change.
9437         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
9438         REPLACE_TOWLOWER to 0.
9439         Reported by Sam Steingold <sds@gnu.org>.
9440
9441 2011-07-31  Bruno Haible  <bruno@clisp.org>
9442
9443         frexpl: Update autoconf test.
9444         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9445         according to changes of 2011-06-20.
9446
9447 2011-07-31  Bruno Haible  <bruno@clisp.org>
9448
9449         sys_utsname: Add support for Minix.
9450         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9451         <sys/utsname.h>.
9452         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9453         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9454
9455 2011-07-31  Bruno Haible  <bruno@clisp.org>
9456
9457         strings: Add support for Minix.
9458         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9459         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9460         * doc/posix-headers/strings.texi: Document the Minix problem.
9461
9462 2011-07-31  Bruno Haible  <bruno@clisp.org>
9463
9464         wctype-h: Add support for Minix.
9465         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9466         REPLACE_TOWLOWER.
9467         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9468         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9469         REPLACE_ISWCNTRL.
9470
9471 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9472
9473         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9474         This is a performance improvement for 64-bit hosts: it causes the
9475         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9476
9477 2011-07-31  Bruno Haible  <bruno@clisp.org>
9478
9479         stdioext: Add support for Minix.
9480         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9481         * lib/fpurge.c (fpurge): Likewise.
9482         * lib/freadahead.c (freadahead): Likewise.
9483         * lib/freadable.c (freadable): Likewise.
9484         * lib/freading.c (freading): Likewise.
9485         * lib/freadptr.c (freadptr): Likewise.
9486         * lib/freadseek.c (freadptrinc): Likewise.
9487         * lib/fseeko.c (rpl_fseeko): Likewise.
9488         * lib/fseterr.c (fseterr): Likewise.
9489         * lib/fwritable.c (fwritable): Likewise.
9490         * lib/fwriting.c (fwriting): Likewise.
9491         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9492         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9493
9494 2011-07-31  Bruno Haible  <bruno@clisp.org>
9495
9496         errno: Port to Minix.
9497         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9498         ECONNABORTED are defined.
9499         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9500         GNULIB_defined_ECONNABORTED): New macros.
9501         * lib/strerror-override.h (strerror_override): Test also
9502         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9503         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9504         ECONNABORTED.
9505         * doc/posix-headers/errno.texi: Mention the Minix problem.
9506
9507 2011-07-31  Bruno Haible  <bruno@clisp.org>
9508
9509         Work around declaration collisions on Minix.
9510         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9511         defined, set REPLACE_MBSINIT.
9512         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9513         defined, set REPLACE_MBRTOWC.
9514         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9515         set REPLACE_MBRLEN.
9516         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9517         defined, set REPLACE_MBSRTOWCS.
9518         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9519         defined, set REPLACE_WCRTOMB.
9520         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9521         defined, set REPLACE_WCSRTOMBS.
9522
9523 2011-07-31  Bruno Haible  <bruno@clisp.org>
9524
9525         Add support for Minix with ACK compiler.
9526         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9527         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9528         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9529
9530 2011-07-31  Bruno Haible  <bruno@clisp.org>
9531
9532         Documentation about Minix.
9533         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9534         * doc/glibc-headers/*.texi: Likewise.
9535         * doc/posix-functions/*.texi: Likewise.
9536         * doc/glibc-functions/*.texi: Likewise.
9537
9538 2011-07-31  Bruno Haible  <bruno@clisp.org>
9539
9540         snippet/warn-on-use: Fix indentation.
9541         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9542
9543 2011-07-25  Jim Meyering  <meyering@redhat.com>
9544
9545         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9546         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9547         commands.
9548
9549 2011-07-27  Jim Meyering  <meyering@redhat.com>
9550
9551         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9552         * top/maint.mk (gl_extract_significant_defines_): Now that
9553         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9554         gnulib/lib/signal.in.h, and now that we recommend to
9555         define-if-undefined those two symbols in application code,
9556         we must filter them out of the "significant" list.
9557         This avoids a "make syntax-check" failure in coreutils.
9558
9559 2011-07-26  Eric Blake  <eblake@redhat.com>
9560
9561         warnings: add comments about previous patch
9562         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9563         * m4/include_next.m4: Likewise.
9564         * m4/warn-on-use.m4: Likewise.
9565         * m4/warnings.m4: Likewise, and simplify use.
9566         Suggested by Stefano Lattarini.
9567
9568         include-next, warnings: support older autoconf
9569         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9570         AS_VAR_PUSHDEF in a way that works with older autoconf.
9571         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9572         Reported by Daniel P. Berrange.
9573
9574 2011-07-25  Bruno Haible  <bruno@clisp.org>
9575
9576         fseek, ftell: Fix doc.
9577         * doc/posix-functions/fseek.texi: Reword statement about
9578         AC_SYS_LARGEFILE.
9579         * doc/posix-functions/ftell.texi: Likewise.
9580
9581 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9582             Bruno Haible  <bruno@clisp.org>
9583
9584         Add dependencies to the 'largefile' module.
9585         * modules/fopen (Depends-on): Add 'largefile'.
9586         * modules/freopen (Depends-on): Likewise.
9587         * modules/fseeko (Depends-on): Likewise.
9588         * modules/ftello (Depends-on): Likewise.
9589         * modules/glob (Depends-on): Likewise.
9590         * modules/lseek (Depends-on): Likewise.
9591         * modules/lstat (Depends-on): Likewise.
9592         * modules/mkostemp (Depends-on): Likewise.
9593         * modules/mkostemps (Depends-on): Likewise.
9594         * modules/mkstemp (Depends-on): Likewise.
9595         * modules/mkstemps (Depends-on): Likewise.
9596         * modules/open (Depends-on): Likewise.
9597         * modules/openat (Depends-on): Likewise.
9598         * modules/pread (Depends-on): Likewise.
9599         * modules/pwrite (Depends-on): Likewise.
9600         * modules/scandir (Depends-on): Likewise.
9601         * modules/stat (Depends-on): Likewise.
9602         * modules/tmpfile (Depends-on): Likewise.
9603         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9604         since the containing module now depends on the largefile module.
9605         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9606         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9607         off_t is fixed by gnulib.
9608         * doc/posix-functions/freopen.texi: Likewise.
9609         * doc/posix-functions/fseeko.texi: Likewise.
9610         * doc/posix-functions/fstatat.texi: Likewise.
9611         * doc/posix-functions/ftello.texi: Likewise.
9612         * doc/posix-functions/glob.texi: Likewise.
9613         * doc/posix-functions/lseek.texi: Likewise.
9614         * doc/posix-functions/lstat.texi: Likewise.
9615         * doc/posix-functions/mkstemp.texi: Likewise.
9616         * doc/posix-functions/open.texi: Likewise.
9617         * doc/posix-functions/openat.texi: Likewise.
9618         * doc/posix-functions/pread.texi: Likewise.
9619         * doc/posix-functions/pwrite.texi: Likewise.
9620         * doc/posix-functions/scandir.texi: Likewise.
9621         * doc/posix-functions/stat.texi: Likewise.
9622         * doc/posix-functions/tmpfile.texi: Likewise.
9623         * doc/glibc-functions/mkostemp.texi: Likewise.
9624         * doc/glibc-functions/mkostemps.texi: Likewise.
9625         * doc/glibc-functions/mkstemps.texi: Likewise.
9626
9627 2011-07-25  Bruno Haible  <bruno@clisp.org>
9628
9629         fcntl: Move AC_LIBOBJ invocation to module description.
9630         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9631         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9632
9633         fcntl: Remove call-in from fchdir.m4.
9634         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9635         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9636
9637         dup3: Remove potential call-in from fchdir.m4.
9638         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9639         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9640
9641         dup2: Move AC_LIBOBJ invocation to module description.
9642         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9643         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9644         Don't invoke AC_LIBOBJ.
9645         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9646
9647         dup2: Remove call-in from fchdir.m4.
9648         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9649         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9650
9651         fclose: Move AC_LIBOBJ invocation to module description.
9652         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9653         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9654         to 1.
9655         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9656
9657         fclose: Remove call-in from close.m4.
9658         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9659         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9660
9661         close: Move AC_LIBOBJ invocation to module description.
9662         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9663         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9664         1.
9665         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9666
9667         close: Remove call-in from fchdir.m4.
9668         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9669         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9670
9671         open: Move AC_LIBOBJ invocation to module description.
9672         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9673         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9674         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9675
9676         open: Remove call-in from fchdir.m4.
9677         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9678         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9679
9680         fchdir: Start to remove gl_REPLACE_* idiom.
9681         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9682         (gl_FUNC_FCHDIR): Invoke it.
9683
9684 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9685
9686         * lib/ftell.c (ftell): Comment out cast.
9687
9688         close: use gl_REPLACE_FCLOSE only if defined
9689         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9690         is defined.  The close module doesn't depend on the fclose module
9691         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9692         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9693         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9694
9695 2011-07-24  Jim Meyering  <meyering@redhat.com>
9696
9697         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9698         * tests/test-select.h (test_function): Declare as "static".
9699
9700 2011-07-24  Bruno Haible  <bruno@clisp.org>
9701
9702         doc: Mention the effects of AC_SYS_LARGEFILE.
9703         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9704         on this function.
9705         * doc/posix-functions/aio_error.texi: Likewise.
9706         * doc/posix-functions/aio_fsync.texi: Likewise.
9707         * doc/posix-functions/aio_read.texi: Likewise.
9708         * doc/posix-functions/aio_return.texi: Likewise.
9709         * doc/posix-functions/aio_suspend.texi: Likewise.
9710         * doc/posix-functions/aio_write.texi: Likewise.
9711         * doc/posix-functions/fgetpos.texi: Likewise.
9712         * doc/posix-functions/fopen.texi: Likewise.
9713         * doc/posix-functions/freopen.texi: Likewise.
9714         * doc/posix-functions/fsetpos.texi: Likewise.
9715         * doc/posix-functions/fstatvfs.texi: Likewise.
9716         * doc/posix-functions/ftruncate.texi: Likewise.
9717         * doc/posix-functions/ftw.texi: Likewise.
9718         * doc/posix-functions/getrlimit.texi: Likewise.
9719         * doc/posix-functions/glob.texi: Likewise.
9720         * doc/posix-functions/lio_listio.texi: Likewise.
9721         * doc/posix-functions/lockf.texi: Likewise.
9722         * doc/posix-functions/mkstemp.texi: Likewise.
9723         * doc/posix-functions/mmap.texi: Likewise.
9724         * doc/posix-functions/nftw.texi: Likewise.
9725         * doc/posix-functions/openat.texi: Likewise.
9726         * doc/posix-functions/opendir.texi: Likewise.
9727         * doc/posix-functions/posix_fadvise.texi: Likewise.
9728         * doc/posix-functions/posix_fallocate.texi: Likewise.
9729         * doc/posix-functions/pread.texi: Likewise.
9730         * doc/posix-functions/pwrite.texi: Likewise.
9731         * doc/posix-functions/readdir.texi: Likewise.
9732         * doc/posix-functions/readdir_r.texi: Likewise.
9733         * doc/posix-functions/rewinddir.texi: Likewise.
9734         * doc/posix-functions/scandir.texi: Likewise.
9735         * doc/posix-functions/seekdir.texi: Likewise.
9736         * doc/posix-functions/setrlimit.texi: Likewise.
9737         * doc/posix-functions/statvfs.texi: Likewise.
9738         * doc/posix-functions/telldir.texi: Likewise.
9739         * doc/posix-functions/tmpfile.texi: Likewise.
9740         * doc/posix-functions/truncate.texi: Likewise.
9741         * doc/glibc-functions/fallocate.texi: Likewise.
9742         * doc/glibc-functions/fstatfs.texi: Likewise.
9743         * doc/glibc-functions/fts_children.texi: Likewise.
9744         * doc/glibc-functions/fts_read.texi: Likewise.
9745         * doc/glibc-functions/getdirentries.texi: Likewise.
9746         * doc/glibc-functions/mkostemp.texi: Likewise.
9747         * doc/glibc-functions/mkostemps.texi: Likewise.
9748         * doc/glibc-functions/mkstemps.texi: Likewise.
9749         * doc/glibc-functions/preadv.texi: Likewise.
9750         * doc/glibc-functions/pwritev.texi: Likewise.
9751         * doc/glibc-functions/sendfile.texi: Likewise.
9752         * doc/glibc-functions/statfs.texi: Likewise.
9753
9754 2011-07-24  Bruno Haible  <bruno@clisp.org>
9755
9756         doc: Fix typo.
9757         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9758
9759 2011-07-24  Bruno Haible  <bruno@clisp.org>
9760
9761         doc: Mention fsusage.
9762         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9763
9764 2011-07-24  Bruno Haible  <bruno@clisp.org>
9765
9766         doc: Mention new glibc headers and functions.
9767         * doc/glibc-headers/gshadow.texi: New file.
9768         * doc/glibc-functions/endsgent.texi: New file.
9769         * doc/glibc-functions/fgetsgent.texi: New file.
9770         * doc/glibc-functions/fgetsgent_r.texi: New file.
9771         * doc/glibc-functions/getsgent.texi: New file.
9772         * doc/glibc-functions/getsgent_r.texi: New file.
9773         * doc/glibc-functions/getsgnam.texi: New file.
9774         * doc/glibc-functions/getsgnam_r.texi: New file.
9775         * doc/glibc-functions/putsgent.texi: New file.
9776         * doc/glibc-functions/setsgent.texi: New file.
9777         * doc/glibc-functions/sgetsgent.texi: New file.
9778         * doc/glibc-functions/sgetsgent_r.texi: New file.
9779         * doc/glibc-functions/malloc_info.texi: New file.
9780         * doc/glibc-functions/preadv.texi: New file.
9781         * doc/glibc-functions/pwritev.texi: New file.
9782         * doc/glibc-functions/register_printf_modifier.texi: New file.
9783         * doc/glibc-functions/register_printf_specifier.texi: New file.
9784         * doc/glibc-functions/register_printf_type.texi: New file.
9785         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9786         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9787         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9788         * doc/glibc-functions/pthread_getname_np.texi: New file.
9789         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9790         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9791         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9792         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9793         * doc/glibc-functions/pthread_setname_np.texi: New file.
9794         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9795         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9796         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9797         * doc/glibc-functions/qsort_r.texi: New file.
9798         * doc/glibc-functions/quick_exit.texi: New file.
9799         * doc/glibc-functions/syncfs.texi: New file.
9800         * doc/gnulib.texi: Include them.
9801         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9802         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9803         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9804         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9805         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9806         * doc/glibc-functions/execvpe.texi: Likewise.
9807
9808 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9809
9810         ftell: don't include <unistd.h>
9811         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9812         guaranteed to define off_t, and the ftell module depends on the
9813         stdio module.
9814
9815         ftell: do not assume wraparound signed arithmetic
9816         * lib/ftell.c: Include <limits.h>.
9817         (ftell): Don't assume wraparound signed arithmetic.
9818
9819 2011-07-24  Bruno Haible  <bruno@clisp.org>
9820
9821         close: No longer depend on module 'fclose'.
9822         * modules/close (Depends-on): Remove fclose.
9823         * NEWS: Mention the change.
9824         Suggested by Sam Steingold <sds@gnu.org>.
9825
9826 2011-07-24  Bruno Haible  <bruno@clisp.org>
9827
9828         fsusage: Enable large volume support on AIX >= 5.2.
9829         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9830         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9831         instead of STAT_STATVFS.
9832         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9833
9834         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9835         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9836         f_blocks field only on MacOS X.
9837
9838         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9839         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9840         * modules/fsusage (Depends-on): Add largefile.
9841
9842 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9843
9844         * README: Modernize discussion of signed integers.
9845         Assuming overflow wraparound is no longer safe.
9846         Mention ones' complement and signed magnitude.
9847
9848 2011-07-22  Bruno Haible  <bruno@clisp.org>
9849
9850         select tests, pselect tests: Refactor.
9851         * tests/test-select.h: New file, extracted from tests/test-select.c.
9852         (select_fn): New type.
9853         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9854         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9855         test_pipe): Add my_select argument.
9856         (test_function): Renamed from main. Add my_select argument.
9857         * tests/test-select.c: Move most code to tests/test-select.h. Include
9858         test-select.h.
9859         * modules/select-tests (Files): Add tests/test-select.h.
9860         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9861         (my_select, main): New functions.
9862         * modules/pselect-tests (Files): Add tests/test-select.h,
9863         tests/macros.h, tests/signature.h.
9864         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9865         (configure.ac): Check for <sys/wait.h>.
9866
9867 2011-07-22  Bruno Haible  <bruno@clisp.org>
9868
9869         sys_select tests: Check the signature of FD_*.
9870         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9871         signature tests from here...
9872         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9873         here.
9874         * modules/sys_select-tests (Files): Add tests/signature.h.
9875
9876 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9877
9878         largefile: new module, replacing large-inode
9879         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9880         * MODULES.html.sh: Add largefile, remove large-inode.
9881         * modules/largefile, m4/largefile.m4: New files.
9882         * modules/large-inode, m4/large-inode.m4: Remove.
9883
9884         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9885         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9886         implementations that use only 32 bits to count blocks.
9887         On typical hosts with 1024-byte blocks, this fails with file
9888         systems as small as 4 TiB.  Problem reported by Herb Wartens
9889         <http://debbugs.gnu.org/9140> and this should also fix a similar
9890         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9891
9892         large-inode: New module
9893         * MODULES.html.sh: Add it.
9894         * modules/large-inode, m4/large-inode.m4: New files.
9895
9896         extensions: Enable extensions on MacOS X 10.5 and later.
9897         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9898
9899 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9900
9901         file-has-acl: use acl_extended_file_nofollow if available
9902         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9903         (acl_extended_file): New macro.
9904         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9905         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9906
9907 2011-07-21  Bruno Haible  <bruno@clisp.org>
9908
9909         Declare system functions in a way that works with C++.
9910         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9911         declare fdopendir as extern "C".
9912         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9913         declare frexpl as extern "C".
9914         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9915         declare gai_strerror as extern "C".
9916         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9917         programs, declare gai_strerror as extern "C".
9918         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9919         declare getlogin_r as extern "C".
9920         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9921         as extern "C".
9922         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9923         declare ldexpl as extern "C".
9924         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9925         as extern "C".
9926         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9927         program, declare getmntinfo as extern "C".
9928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9929         stpncpy as extern "C".
9930         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9931         program, declare __xpg_strerror_r as extern "C".
9932         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9933         strndup as extern "C".
9934         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9935         declare memset and bzero as extern "C".
9936         Reported by Sam Steingold <sds@gnu.org>.
9937
9938 2011-07-12  Jim Meyering  <meyering@redhat.com>
9939
9940         maint.mk: prohibit inclusion of "verify.h" without use
9941         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9942
9943 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9944
9945         timer-time: A new module to check for timer_settime()
9946         * m4/timer_time.m4: Check for the posix function.
9947         * modules/timer-time: Add the new module.
9948         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9949         Mention it.
9950
9951 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9952             Bruno Haible  <bruno@clisp.org>
9953
9954         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9955         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9956         not defined, assume POSIX threads and look for pthread_sigmask in
9957         $LIBS, without changing $CPPFLAGS.
9958
9959 2011-07-19  Bruno Haible  <bruno@clisp.org>
9960
9961         strstr: Update cross-compilation guess.
9962         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9963         CPUs, guess no, in view of glibc
9964         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9965         Suggested by Eric Blake. Reported by Reuben Thomas.
9966
9967 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9968
9969         getopt-gnu: suppress core dumps from detection code
9970         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9971         to suppress core dumps that may well occur on glibc systems.
9972         * modules/getopt-gnu: Depend on nocrash.
9973
9974 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9975
9976         pthread_sigmask: ensure usleep is declared
9977         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9978         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9979
9980 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9981
9982         doc: Document NonStop portability issues.
9983         * doc/posix-functions/sigaction.texi (sigaction):
9984         * doc/posix-headers/signal.texi (signal.h):
9985         Document NonStop.  See Joachim Schmitz in
9986         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9987
9988 2011-07-15  Bruno Haible  <bruno@clisp.org>
9989
9990         ffsl, ffsll: Avoid unportable behaviour.
9991         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9992
9993 2011-07-15  Bruno Haible  <bruno@clisp.org>
9994
9995         ffs: More tests.
9996         * tests/test-ffs.c (NBITS): New macro.
9997         (main): Add more tests.
9998         * tests/test-ffsl.c (NBITS): New macro.
9999         (main): Add more tests.
10000         * tests/test-ffsll.c (NBITS): New macro.
10001         (main): Add more tests.
10002
10003 2011-07-15  Eric Blake  <eblake@redhat.com>
10004
10005         ffsl, ffsll: new modules
10006         * modules/ffsl: New file.
10007         * modules/ffsll: Likewise.
10008         * m4/ffsl.m4: Likewise.
10009         * m4/ffsll.m4: Likewise.
10010         * lib/ffsl.c: Likewise.
10011         * lib/ffsl.h: Likewise.
10012         * lib/ffsll.c: Likewise.
10013         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
10014         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
10015         * modules/string (Makefile.am): Substitute witnesses.
10016         * lib/strings.in.h (ffsl, ffsll): Declare.
10017         * modules/ffsl-tests: New test file.
10018         * modules/ffsll-tests: Likewise.
10019         * tests/test-ffsl.c: Likewise.
10020         * tests/test-ffsll.c: Likewise.
10021         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10022         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
10023         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
10024
10025         ffs: fix m4 prerequisite
10026         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
10027
10028         ffs: avoid undefined behavior
10029         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
10030         * tests/test-ffs.c (naive, main): Avoid signed shifts.
10031         Reported by Bruno Haible.
10032
10033 2011-07-12  Bruno Haible  <bruno@clisp.org>
10034
10035         pthread_sigmask: Rely on module 'threadlib'.
10036         * modules/pthread_sigmask (Depends-on): Add threadlib.
10037         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
10038         is defined.
10039
10040 2011-07-12  Bruno Haible  <bruno@clisp.org>
10041
10042         regex: Depend on module 'strcase'.
10043         * modules/regex (Depends-on): Add strcase, for strcasecmp().
10044
10045 2011-07-12  Jim Meyering  <meyering@redhat.com>
10046
10047         warn-on-use: fix typo in file name
10048         * modules/snippet/warn-on-use (Files): Correct file name:
10049         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
10050
10051 2011-07-12  Bruno Haible  <bruno@clisp.org>
10052
10053         strings: Document module.
10054         * doc/posix-headers/strings.texi: Mention module 'strings'.
10055
10056 2011-07-12  Bruno Haible  <bruno@clisp.org>
10057
10058         Rename module '_Noreturn' to 'snippet/_Noreturn'.
10059         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
10060         (Files, Makefile.am): Update.
10061         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
10062         * modules/stdlib (Depends-on): Update.
10063
10064 2011-07-12  Bruno Haible  <bruno@clisp.org>
10065
10066         * NEWS: Mention the changes.
10067
10068         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
10069         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
10070         (Files, Makefile.am): Update.
10071         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
10072         * modules/arpa_inet (Depends-on): Update.
10073         * modules/ctype (Depends-on): Update.
10074         * modules/dirent (Depends-on): Update.
10075         * modules/fcntl-h (Depends-on): Update.
10076         * modules/glob (Depends-on): Update.
10077         * modules/iconv-h (Depends-on): Update.
10078         * modules/inttypes-incomplete (Depends-on): Update.
10079         * modules/langinfo (Depends-on): Update.
10080         * modules/locale (Depends-on): Update.
10081         * modules/math (Depends-on): Update.
10082         * modules/netdb (Depends-on): Update.
10083         * modules/poll-h (Depends-on): Update.
10084         * modules/pty (Depends-on): Update.
10085         * modules/search (Depends-on): Update.
10086         * modules/signal (Depends-on): Update.
10087         * modules/spawn (Depends-on): Update.
10088         * modules/stdio (Depends-on): Update.
10089         * modules/stdlib (Depends-on): Update.
10090         * modules/string (Depends-on): Update.
10091         * modules/strings (Depends-on): Update.
10092         * modules/sys_file (Depends-on): Update.
10093         * modules/sys_ioctl (Depends-on): Update.
10094         * modules/sys_select (Depends-on): Update.
10095         * modules/sys_socket (Depends-on): Update.
10096         * modules/sys_stat (Depends-on): Update.
10097         * modules/sys_time (Depends-on): Update.
10098         * modules/sys_times (Depends-on): Update.
10099         * modules/sys_utsname (Depends-on): Update.
10100         * modules/sys_wait (Depends-on): Update.
10101         * modules/termios (Depends-on): Update.
10102         * modules/time (Depends-on): Update.
10103         * modules/unistd (Depends-on): Update.
10104         * modules/wchar (Depends-on): Update.
10105         * modules/wctype-h (Depends-on): Update.
10106         * MODULES.html.sh (Support for building libraries and executables):
10107         Update.
10108
10109         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
10110         * modules/snippet/unused-parameter: Renamed from
10111         modules/unused-parameter.
10112         (Files, Makefile.am): Update.
10113         * build-aux/snippet/unused-parameter.h: Renamed from
10114         build-aux/unused-parameter.h.
10115         * modules/selinux-h (Depends-on): Update.
10116         * modules/unistr/base (Depends-on): Update.
10117         * MODULES.html.sh (Core language properties): Update.
10118
10119         Rename module 'link-warning' to 'snippet/link-warning'.
10120         * modules/snippet/link-warning: Renamed from modules/link-warning.
10121         (Files, Makefile.am): Update.
10122         * build-aux/snippet/link-warning.h: Renamed from
10123         build-aux/link-warning.h.
10124         * MODULES.html.sh (Support for building libraries and executables):
10125         Update.
10126
10127         Rename module 'c++defs' to 'snippet/c++defs'.
10128         * modules/snippet/c++defs: Renamed from modules/c++defs.
10129         (Files, Makefile.am): Update.
10130         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
10131         * modules/arpa_inet (Depends-on): Update.
10132         * modules/ctype (Depends-on): Update.
10133         * modules/dirent (Depends-on): Update.
10134         * modules/fcntl-h (Depends-on): Update.
10135         * modules/glob (Depends-on): Update.
10136         * modules/iconv-h (Depends-on): Update.
10137         * modules/langinfo (Depends-on): Update.
10138         * modules/locale (Depends-on): Update.
10139         * modules/math (Depends-on): Update.
10140         * modules/netdb (Depends-on): Update.
10141         * modules/poll-h (Depends-on): Update.
10142         * modules/pty (Depends-on): Update.
10143         * modules/search (Depends-on): Update.
10144         * modules/signal (Depends-on): Update.
10145         * modules/spawn (Depends-on): Update.
10146         * modules/stdio (Depends-on): Update.
10147         * modules/stdlib (Depends-on): Update.
10148         * modules/string (Depends-on): Update.
10149         * modules/strings (Depends-on): Update.
10150         * modules/sys_ioctl (Depends-on): Update.
10151         * modules/sys_select (Depends-on): Update.
10152         * modules/sys_socket (Depends-on): Update.
10153         * modules/sys_stat (Depends-on): Update.
10154         * modules/sys_time (Depends-on): Update.
10155         * modules/sys_wait (Depends-on): Update.
10156         * modules/termios (Depends-on): Update.
10157         * modules/time (Depends-on): Update.
10158         * modules/unistd (Depends-on): Update.
10159         * modules/wchar (Depends-on): Update.
10160         * modules/wctype-h (Depends-on): Update.
10161
10162         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
10163         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
10164         (Files, Makefile.am): Update.
10165         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
10166         * modules/argv-iter (Depends-on): Update.
10167         * modules/arpa_inet (Depends-on): Update.
10168         * modules/dirent (Depends-on): Update.
10169         * modules/fcntl-h (Depends-on): Update.
10170         * modules/fnmatch (Depends-on): Update.
10171         * modules/getopt-posix (Depends-on): Update.
10172         * modules/glob (Depends-on): Update.
10173         * modules/iconv-h (Depends-on): Update.
10174         * modules/inttypes-incomplete (Depends-on): Update.
10175         * modules/locale (Depends-on): Update.
10176         * modules/math (Depends-on): Update.
10177         * modules/netdb (Depends-on): Update.
10178         * modules/search (Depends-on): Update.
10179         * modules/signal (Depends-on): Update.
10180         * modules/spawn (Depends-on): Update.
10181         * modules/stdio (Depends-on): Update.
10182         * modules/stdlib (Depends-on): Update.
10183         * modules/string (Depends-on): Update.
10184         * modules/strings (Depends-on): Update.
10185         * modules/sys_socket (Depends-on): Update.
10186         * modules/sys_stat (Depends-on): Update.
10187         * modules/sys_time (Depends-on): Update.
10188         * modules/sys_times (Depends-on): Update.
10189         * modules/sys_utsname (Depends-on): Update.
10190         * modules/time (Depends-on): Update.
10191         * modules/unistd (Depends-on): Update.
10192         * modules/wchar (Depends-on): Update.
10193         * MODULES.html.sh (Support for building libraries and executables):
10194         Update.
10195
10196 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10197
10198         Improvements on _Noreturn and related modules.
10199
10200         modules/_Exit-tests: test _Noreturn too
10201         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
10202         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
10203         (main): Use them.
10204
10205         stdnoreturn, stdnoreturn-tests: remove modules
10206         They're not needed here and a bit premature for use elsewhere.  See
10207         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
10208         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
10209         * tests/test-stdnoreturn.c: Remove files.
10210         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
10211         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
10212         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
10213         and using noreturn.
10214         * modules/openat, modules/sigpipe-die, modules/xalloc:
10215         * modules/xmemdup0, modules/xstrtol:
10216         Remove dependency on stdnoreturn.
10217
10218         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
10219         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
10220         Reparenthesize to avoid GCC warning.
10221         Support Microsoft's syntax.
10222         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
10223
10224         _Noreturn-tests: remove module
10225         * modules/_Noreturn-tests: Remove.
10226         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
10227         * tests/test-_Noreturn.c: Remove.
10228         * tests/test-stdnoreturn.c: Merge from the old
10229         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
10230
10231 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
10232
10233         _Noreturn, stdnoreturn, and related modules.
10234
10235         * top/maint.mk: Adjust to new noreturn support.
10236         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
10237         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
10238
10239         xalloc: use stdnoreturn.h
10240         * lib/xalloc.h: Include <stdnoreturn.h>.
10241         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10242         * modules/xalloc (Depends-on): Add stdnoreturn.
10243
10244         xstrtol: use stdnoreturn.h
10245         * lib/xstrtol.h: Include <stdnoreturn.h>.
10246         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10247         * modules/xstrtol (Depends-on): Add stdnoreturn.
10248
10249         xmemdup0: use stdnoreturn.h
10250         * lib/xmemdup0.h: Include <stdnoreturn.h>.
10251         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10252         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
10253
10254         sigpipe-die: use stdnoreturn.h
10255         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
10256         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10257         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
10258
10259         openat: use stdnoreturn.h
10260         * lib/openat.h: Include <stdnoreturn.h>.
10261         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
10262         * modules/openat (Depends-on): Add stdnoreturn.
10263
10264         * lib/openat-die.c (openat_save_fail): Modernize comment.
10265
10266         * lib/xalloc-die.c (xalloc_die): Modernize comment.
10267
10268         * lib/glthread/thread.h: Modernize comment.
10269
10270         obstack: use _Noreturn
10271         * lib/obstack.c (__attribute__): Remove macro.
10272         (print_and_abort): Use _Noreturn.
10273
10274         c-stack: use _Noreturn
10275         * lib/c-stack.c (die, overflow_handler, segv_handler):
10276         Use _Noreturn rather than __attribute__((noreturn)).
10277
10278         argmatch-tests, exclude_tests: use _Noreturn
10279         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
10280         Remove.
10281         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
10282
10283         stdlib: use _Noreturn
10284         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
10285         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
10286         * modules/stdlib (Depends-on): Add _Noreturn.
10287         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
10288
10289         stdnoreturn-tests: new module
10290         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
10291
10292         stdnoreturn: new module
10293         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
10294         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
10295
10296         _Noreturn-tests: new module
10297         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
10298
10299         _Noreturn: new module
10300         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
10301         New section, mentioning it.
10302         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
10303
10304         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
10305
10306 2011-07-11  Eric Blake  <eblake@redhat.com>
10307
10308         ffs: new module
10309         * modules/ffs: New file.
10310         * m4/ffs.m4: Likewise.
10311         * lib/ffs.c: Likewise.
10312         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
10313         * modules/strings (Makefile.am): Substitute witness.
10314         (Depends-on): Add c++defs.
10315         * lib/strings.in.h (ffs): Declare.
10316         * modules/ffs-tests: New test file.
10317         * tests/test-ffs.c: Test new module.
10318         * MODULES.html.sh (Integer arithmetic functions): Mention it.
10319         * doc/posix-functions/ffs.texi (ffs): Likewise.
10320
10321         regex: avoid compiler warning
10322         * lib/regex.c (includes): Include <strings.h>, for use of
10323         strcasecmp in regcomp.c.
10324         Reported by Joachim Schmitz.
10325
10326 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
10327
10328         stdint: respect system's intmax_t if INTMAX_MAX
10329         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
10330         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
10331         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
10332         long but int64_t is long long, and where we will clash with the
10333         system intmax_t if we override it.  See
10334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
10335         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
10336         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
10337         similarly for UINTMAX_C.
10338
10339 2011-07-08  Bruno Haible  <bruno@clisp.org>
10340
10341         pthread_sigmask tests: Avoid a compiler warning.
10342         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
10343         non-zero.
10344
10345         sigprocmask tests: A better way to avoid a compiler warning.
10346         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
10347         (main): Complain if system() returns non-zero.
10348         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
10349
10350 2011-07-08  Bruno Haible  <bruno@clisp.org>
10351
10352         pthread_sigmask: Work around IRIX bug.
10353         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
10354         bug.
10355         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
10356         there may be unblocked pending signals.
10357         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
10358
10359 2011-07-08  Bruno Haible  <bruno@clisp.org>
10360
10361         pthread_sigmask: Work around Cygwin bug.
10362         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
10363         bug.
10364         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
10365         the system's pthread_sigmask function.
10366         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
10367
10368 2011-07-08  Bruno Haible  <bruno@clisp.org>
10369
10370         pthread_sigmask: Work around bug in single-threaded implementation.
10371         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
10372         FreeBSD, HP-UX, Solaris bug.
10373         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
10374         * lib/pthread_sigmask.c: Include <stddef.h>.
10375         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
10376         the system's pthread_sigmask function.
10377         * modules/pthread_sigmask (configure.ac): Invoke
10378         gl_PREREQ_PTHREAD_SIGMASK.
10379         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
10380         HP-UX, Solaris.
10381
10382 2011-07-08  Eric Blake  <eblake@redhat.com>
10383
10384         test-sigprocmask: avoid compiler warning
10385         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
10386         * tests/test-sigprocmask.c (main): Use it to silence warning.
10387         Reported by Jim Meyering.
10388
10389         test-snprintf: avoid compiler warning
10390         * tests/test-snprintf.c (main): Avoid shadowed declaration.
10391         * tests/test-vsnprintf.c (main): Likewise.
10392         Reported by Jim Meyering.
10393
10394 2011-07-08  Bruno Haible  <bruno@clisp.org>
10395
10396         Tests for module 'pthread_sigmask'.
10397         * modules/pthread_sigmask-tests: New file.
10398         * tests/test-pthread_sigmask1.c: New file, based on
10399         tests/test-sigprocmask.c.
10400         * tests/test-pthread_sigmask2.c: New file.
10401
10402 2011-07-08  Jim Meyering  <meyering@redhat.com>
10403
10404         test-getopt.h: avoid warning about an unused variable
10405         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
10406
10407 2011-07-07  Jim Meyering  <meyering@redhat.com>
10408
10409         maint: reduce list of files exempt from sc_prohibit_leading_TABs
10410         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
10411         now that it no longer contains leading TABs.
10412         Remove unused "url=FIXME" statement.
10413
10414 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10415
10416         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
10417         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10418         When gl_THREADLIB is not in use, assume that the POSIX sematics
10419         are desired.  This is better for Emacs, which uses POSIX semantics
10420         on GNUish and/or POSIXish platforms, and does not use threads at
10421         all otherwise.
10422
10423         pthread_sigmask: fix typo when testing for libraries
10424         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10425         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
10426
10427 2011-07-08  Eric Blake  <eblake@redhat.com>
10428
10429         fts: introduce FTS_NOATIME
10430         * lib/fts_.h (FTS_NOATIME): New bit flag.
10431         (FTS_OPTIONMASK): Adjust.
10432         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
10433         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
10434
10435 2011-07-08  Bruno Haible  <bruno@clisp.org>
10436
10437         Tests for module 'thread'.
10438         * modules/thread-tests: New file.
10439         * tests/test-thread_self.c: New file.
10440         * tests/test-thread_create.cc: New file.
10441
10442 2011-07-08  Bruno Haible  <bruno@clisp.org>
10443
10444         thread: Avoid gcc warnings when using gl_thread_self().
10445         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10446         'void *'.
10447         (gl_thread_self_pointer): Update.
10448
10449 2011-07-07  Bruno Haible  <bruno@clisp.org>
10450
10451         signal-c++-tests: Check declaration of pthread_sigmask.
10452         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10453         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10454         $(LIB_PTHREAD_SIGMASK).
10455
10456 2011-07-07  Bruno Haible  <bruno@clisp.org>
10457
10458         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10459         * lib/signal.in.h (pthread_sigmask): Override if
10460         REPLACE_PTHREAD_SIGMASK is 1.
10461         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10462         REPLACE_PTHREAD_SIGMASK.
10463         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10464         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10465         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10466         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10467         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10468
10469 2011-07-07  Bruno Haible  <bruno@clisp.org>
10470
10471         pthread_sigmask: Ensure declaration in <signal.h>.
10472         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10473         include <pthread.h>.
10474         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10475         problem.
10476
10477 2011-07-07  Bruno Haible  <bruno@clisp.org>
10478
10479         pthread_sigmask: Document the module.
10480         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10481
10482 2011-07-07  Bruno Haible  <bruno@clisp.org>
10483
10484         pthread_sigmask: Follow gnulib conventions.
10485         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10486         gl_PTHREAD_SIGMASK.
10487         * modules/pthread_sigmask (configure.ac): Update.
10488
10489 2011-07-07  Bruno Haible  <bruno@clisp.org>
10490
10491         pthread_sigmask: Make declaration C++ safe.
10492         * lib/signal.in.h: In two special conditions, just do an #include_next.
10493         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10494         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10495         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10496         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10497         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10498         not REPLACE_PTHREAD_MASK.
10499         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10500         not REPLACE_PTHREAD_MASK.
10501         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10502
10503 2011-07-07  Bruno Haible  <bruno@clisp.org>
10504
10505         pthread_sigmask: Fix return value.
10506         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10507         * lib/pthread_sigmask.c: New file.
10508         * modules/pthread_sigmask (Files): Add it.
10509         (configure.ac): Invoke AC_LIBOBJ.
10510
10511 2011-07-07  Eric Blake  <eblake@redhat.com>
10512
10513         getopt: more portable argv creation
10514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10515         const, use char arrays rather than strings.
10516         Suggested by Paul Eggert.
10517
10518 2011-07-07  Bruno Haible  <bruno@clisp.org>
10519
10520         Tests for module 'sigprocmask'.
10521         * modules/sigprocmask-tests: New file.
10522         * tests/test-sigprocmask.c: New file.
10523
10524 2011-07-07  Bruno Haible  <bruno@clisp.org>
10525
10526         float tests: Tweak.
10527         * tests/test-float.c (main): Tweak skip message.
10528
10529 2011-07-07  Eric Blake  <eblake@redhat.com>
10530
10531         getopt: avoid compiler warning during configure
10532         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10533         assigning string literals to non-const pointer.
10534
10535         getopt-gnu: avoid crash in glibc getopt
10536         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10537         * tests/test-getopt.h (test_getopt): Enhance test.
10538         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10539         * doc/posix-functions/getopt.texi (getopt): Document it.
10540         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10541         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10542         Likewise.
10543
10544 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10545
10546         getopt: handle W; without long options in getopt [BZ #12922]
10547         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10548         but no long options are defined, just return 'W'.
10549
10550 2011-07-07  Bruno Haible  <bruno@clisp.org>
10551
10552         Avoid literal tabs.
10553         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10554         variable containing a tab instead of a literal tab.
10555         Reported by Jim Meyering.
10556
10557 2011-07-07  Bruno Haible  <bruno@clisp.org>
10558
10559         Comments.
10560         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10561
10562 2011-07-06  Bruno Haible  <bruno@clisp.org>
10563
10564         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10565         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10566         <winsock2.h>.
10567         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10568         lib/sys_socket.in.h.
10569         (close, gethostname): Hide declarations from <winsock2.h>.
10570         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10571         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10572         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10573         (select): Don't override if gnulib's <sys/select.h> was already
10574         included.
10575         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10576         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10577         setsockopt, shutdown, select): Tweak indentation.
10578
10579 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10580
10581         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10582         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10583         in an application that does not use the sys_select module.
10584
10585 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10586
10587         poll: do not return 0 on timeout=-1
10588         * lib/poll.c: Loop with yield if no events occured
10589
10590 2011-07-06  Eric Blake  <eblake@redhat.com>
10591
10592         pthread_sigmask: always replace when not using pthread
10593         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10594         replacement when using some threading other than pthread.  Fix
10595         logic bug.
10596
10597 2011-07-06  Bruno Haible  <bruno@clisp.org>
10598
10599         Comments.
10600         * m4/printf.m4: Update comments about mingw.
10601
10602 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10603
10604         sys_select: define sigset_t more portably
10605         * lib/sys_select.in.h: Always include <sys/types.h>, since
10606         we now need sigset_t and mingw defines it there.
10607         Include <signal.h> before split inclusion guard, to avoid
10608         mishaps on Solaris, whose <signal.h> eventually includes us.
10609         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10610         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10611         which come from ...
10612         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10613         gl_CHECK_TYPE_SIGSET_T.
10614         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10615         does the real work.
10616         * modules/sys_select (Depends-on): Add 'signal'.
10617
10618         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10619         Suggested by Bruno Haible.
10620
10621         pselect: Use pthread_sigmask, not sigprocmask.
10622         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10623         multithreaded apps better than sigprocmask does.
10624         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10625         sigprocmask directly.
10626
10627 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10628
10629         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10630         Don't #undef,  since we don't need any underlying pselect.
10631         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10632         (Depends-on): Add select.
10633         (Link): Add $(LIBSOCKET).
10634         These changes suggested by Bruno Haible.
10635
10636         pselect: document better
10637         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10638         * doc/posix-functions/pselect.texi (pselect): Document new module.
10639
10640         pthread_sigmask: new module
10641         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10642         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10643         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10644         This is done only as a macro; I don't know how well that'll
10645         work for C++.  Move <sys/types.h> include before the include_next,
10646         to avoid mishap on Solaris.
10647         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10648         * modules/signal (Makefile.am): Substitute the check's results.
10649         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10650
10651         test-pselect: new module
10652         * modules/pselect-tests, tests/test-pselect.c: New files.
10653         * tests/test-select.c, tests/test-sys_select-c++.cc:
10654         If TEST_PSELECT is defined, test pselect instead of testing select.
10655
10656         * tests/test-sys_select.c (sigset_t): Test for it, too.
10657         Suggested by Bruno Haible.
10658
10659 2011-07-05  Eric Blake  <eblake@redhat.com>
10660
10661         snprintf: guarantee %1$d, for libintl
10662         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10663         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10664         * doc/posix-functions/snprintf.texi (snprintf): Update.
10665         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10666         * tests/test-snprintf.c (main): Enhance test.
10667         * tests/test-vsnprintf.c (main): Likewise.
10668
10669 2011-07-05  Jim Meyering  <meyering@redhat.com>
10670
10671         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10672         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10673         per Bruno's request, to accommodate this idiom (no space after "#")
10674         even when the function is inside an #if block:
10675         char *
10676         gets (char *s)
10677         #undef gets
10678         {
10679           ...
10680         }
10681
10682 2011-07-04  Jim Meyering  <meyering@redhat.com>
10683
10684         maint: indent with spaces, not TABs, and add a rule to check this
10685         * tests/test-userspec.c: Indent with spaces, not TABs.
10686         * tests/test-argp.c: Likewise.
10687         * tests/test-c-stack2.sh: Likewise.
10688         * tests/test-parse-duration.sh: Likewise
10689         * m4/strtod.m4: Likewise.
10690         * m4/alloca.m4: Likewise.
10691         * m4/pselect.m4: Likewise.
10692         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10693
10694 2011-07-03  Jim Meyering  <meyering@redhat.com>
10695
10696         maint.mk: correct omissions in prohibit_argmatch_without_use check
10697         This rule would mistakenly report that argmatch.h is included without
10698         use even when both the argmatch and invalid_arg macro were used.
10699         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10700         of argmatch and invalid_arg.
10701
10702 2011-07-03  Bruno Haible  <bruno@clisp.org>
10703
10704         Comments about EINTR.
10705         * lib/safe-read.h: Explain the purpose of this module.
10706         * lib/safe-write.h: Likewise.
10707         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10708         module.
10709         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10710         module.
10711         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10712
10713 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10714
10715         xnanosleep: Rewrite to use new dtotimespec module.
10716         It has the conversion code that used to be in xnanosleep.
10717         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10718         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10719         (TIME_T_MAX): Remove.
10720         (xnanosleep): Rewrite in terms of dtotimespec.
10721         * modules/xnanosleep (Depends-on): Add dtotimespec.
10722         Remove intprops, stdbool.
10723
10724         timespec-add, timespec-sub: new modules
10725         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10726         * lib/timespec-add.c, lib/timespec-sub.c:
10727         * modules/timespec-add, modules/timespec-sub: New files.
10728
10729         dtotimespec: new module
10730         * lib/timespec.h (dtotimespec): New decl.
10731         * lib/dtotimespec.c, modules/dtotimespec: New files.
10732
10733         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10734
10735         pselect: new module
10736         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10737         (pselect): New decls.
10738         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10739         since the standard pselect decl uses 'restrict'.
10740         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10741         HAVE_PSELECT, REPLACE_PSELECT.
10742         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10743         HAVE_PSELECT, REPLACE_PSELECT.
10744         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10745
10746         sys_select: don't depend on sys_socket
10747         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10748         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10749         This fix works on GNU and GNU-like platforms, but has not been tested
10750         on native Windows.
10751         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10752         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10753         gl_HEADER_SYS_SOCKET.
10754         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10755         gl_PREREQ_SYS_H_WINSOCK2.
10756
10757 2011-06-29  Eric Blake  <eblake@redhat.com>
10758
10759         pipe2: fix C89 compile problem
10760         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10761         Reported by Bruno Haible.
10762
10763         pipe, pipe2: don't corrupt fd on error
10764         * lib/pipe.c (pipe): Leave fd unchanged on error.
10765         * lib/pipe2.c (pipe2): Likewise.
10766         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10767         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10768
10769 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10770
10771         mmap-anon: do not use regular expressions inadvertently
10772         * m4/mmap-anon.m4: Remove trailing period from strings sought
10773         in the output.
10774
10775 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10776
10777         nanosleep: fix integer overflow problem
10778         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10779         arithmetic wraps around on overflow.
10780
10781         nanosleep: simplify carrying
10782         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10783         first call to the underyling nanosleep, not for the last one.
10784         This doesn't fix any bugs, but it simplifies the computation of
10785         the remaining delay.  Found while auditing integer overflow issues.
10786
10787         dup2: remove test for existence of fcntl
10788         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10789         "#if HAVE_FCNTL", in the configure-time test program.
10790         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10791         and therefore speeds up "configure" a bit.  Found while
10792         adding the dup2 module to Emacs.
10793
10794 2011-06-24  Eric Blake  <eblake@redhat.com>
10795
10796         maint.mk: enhance useless header checks
10797         * top/maint.mk (_sc_header_without_use): Check both include
10798         styles.
10799         (sc_prohibit_assert_without_use)
10800         (sc_prohibit_close_stream_without_use)
10801         (sc_prohibit_getopt_without_use)
10802         (sc_prohibit_quotearg_without_use)
10803         (sc_prohibit_quote_without_use)
10804         (sc_prohibit_long_options_without_use)
10805         (sc_prohibit_inttostr_without_use)
10806         (sc_prohibit_ignore_value_without_use)
10807         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10808         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10809         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10810         (sc_prohibit_hash_pjw_without_use)
10811         (sc_prohibit_safe_read_without_use)
10812         (sc_prohibit_argmatch_without_use)
10813         (sc_prohibit_canonicalize_without_use)
10814         (sc_prohibit_root_dev_ino_without_use)
10815         (sc_prohibit_openat_without_use)
10816         (sc_prohibit_c_ctype_without_use)
10817         (sc_prohibit_signal_without_use)
10818         (sc_prohibit_stdio--_without_use)
10819         (sc_prohibit_stdio-safer_without_use)
10820         (sc_prohibit_strings_without_use)
10821         (sc_prohibit_intprops_without_use)
10822         (sc_prohibit_stddef_without_use)
10823         (sc_prohibit_xfreopen_without_use): Update clients.
10824
10825 2011-06-24  Jim Meyering  <meyering@redhat.com>
10826
10827         syntax-check: keep one maint.mk rule in sync with its header
10828         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10829         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10830         I prefer to avoid temporary files here, so use <(...), but that
10831         is not supported by /bin/sh, so...
10832         (SHELL): Define to /bin/bash.
10833
10834 2011-06-24  Eric Blake  <eblake@redhat.com>
10835
10836         maint.mk: update sc_prohibit_intprops_without_use
10837         * top/maint.mk (_intprops_names): Match recent changes.
10838
10839 2011-06-24  Bruno Haible  <bruno@clisp.org>
10840
10841         strerror-override: No-op tweak.
10842         * lib/strerror-override.h (strerror_override): Reorder conditions,
10843         for consistency with lib/strerror-override.c.
10844
10845 2011-06-23  Eric Blake  <eblake@redhat.com>
10846
10847         maint.mk: test further PATH_MAX issues
10848         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10849         (sc_prohibit_path_max_allocation): ...and also test alloca.
10850         Suggested by Jim Meyering.
10851
10852 2011-06-22  Eric Blake  <eblake@redhat.com>
10853
10854         maint.mk: add syntax-check to avoid char[PATH_MAX]
10855         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10856
10857         stat: be robust to PATH_MAX definition
10858         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10859         * modules/stat (Depends-on): Add verify.
10860
10861         link: work around IRIX bug
10862         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10863         * lib/link.c (rpl_link): Work around it.
10864         * tests/test-link.h (test_link): Enhance test.
10865         * doc/posix-functions/link.texi (link): Document the bug.
10866
10867         getopt: silence clang warning
10868         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10869         dereference.
10870         Reported by Gustavo Martin Domato.
10871
10872 2011-06-22  Jim Meyering  <meyering@redhat.com>
10873
10874         bootstrap: do not insert a blank line into each .gitignore file
10875         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10876
10877 2011-06-21  Eric Blake  <eblake@redhat.com>
10878
10879         perror: test for output mismatch
10880         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10881         perror on IRIX.
10882
10883         strerror_r: fix OpenBSD behavior on out-of-range
10884         * lib/strerror_r.c (strerror_r): Always use maximal string.
10885         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10886
10887         strerror_r: fix OpenBSD behavior on 0
10888         * lib/strerror-override.c (strerror_override): Also override 0
10889         when needed.
10890         * lib/strerror-override.h (strerror_override): Likewise.
10891         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10892         earlier.
10893         * lib/strerror_r.c (strerror_r): Likewise.
10894         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10895         behavior...
10896         (gl_FUNC_STRERROR_0): ...into new macro.
10897         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10898         is overridden.
10899         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10900         * modules/strerror-override (Files): Add strerror.m4.
10901         (configure.ac): Also provide override for 0 when needed.
10902         * doc/posix-functions/strerror.texi (strerror): Document this.
10903         * doc/posix-functions/perror.texi (perror): Likewise.
10904
10905         perror: adjust array size
10906         * modules/perror (Depends-on): Add strerror-override.
10907         * lib/perror.c (perror): Use it to avoid magic number.
10908
10909         strerror-override: reduce size
10910         * lib/strerror-override.c (strerror_override): Use fewer lines.
10911
10912 2011-06-20  Bruno Haible  <bruno@clisp.org>
10913
10914         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10915         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10916
10917 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10918
10919         alloca: port to compilers that can optimize like GCC 4.6.0
10920         * lib/alloca.c (find_stack_direction): New signature, taken from
10921         Autoconf git.  This works with GCC 4.6.0.  This code should never
10922         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10923         be used with other compilers that optimize as well as GCC 4.6.0 does.
10924         (alloca): Adjust to new signature.
10925         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10926         New macro, which patches Autoconf in a similar way.
10927
10928         c-stack: stop worrying about stack direction
10929         * lib/c-stack.c (find_stack_direction): Remove.
10930         (segv_handler): Don't worry about stack direction growth, as it's
10931         too much of a pain to configure this correctly, given how compilers
10932         are optimizing-away our stack-growth detection code.  Instead, assume
10933         that any access to just before or just after the stack is OK.
10934         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10935         Don't require AC_FUNC_ALLOCA; no longer needed.
10936
10937 2011-06-20  Eric Blake  <eblake@redhat.com>
10938
10939         test-stat: don't allocate PATH_MAX bytes
10940         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10941         PATH_MAX-sized buffer.
10942         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10943         * modules/stat-tests (Depends-on): Likewise.
10944         * tests/test-fstatat.c (includes): Drop pathmax.h.
10945         * tests/test-stat.c (includes): Likewise.
10946         Reported by Bruno Haible.
10947
10948 2011-06-20  Bruno Haible  <bruno@clisp.org>
10949
10950         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10951         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10952         * lib/float.c: New file.
10953         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10954         REPLACE_FLOAT_LDBL.
10955         * modules/float (Files): Add lib/float.c.
10956         (configure.ac): Invoke AC_LIBOBJ.
10957         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10958
10959 2011-06-20  Bruno Haible  <bruno@clisp.org>
10960
10961         Tests for module 'float'.
10962         * modules/float-tests: New file.
10963         * tests/test-float.c: New file.
10964
10965 2011-06-19  Bruno Haible  <bruno@clisp.org>
10966
10967         isinf: Coding style.
10968         * lib/isinf.c: Use GNU coding style.
10969
10970 2011-06-19  Bruno Haible  <bruno@clisp.org>
10971
10972         linkat test: Avoid test failure on AIX 7.1.
10973         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10974         * tests/test-link.h (test_link): Likewise.
10975
10976 2011-06-19  Bruno Haible  <bruno@clisp.org>
10977
10978         pread test: Avoid test failure on OpenBSD 4.9.
10979         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10980
10981 2011-06-19  Bruno Haible  <bruno@clisp.org>
10982
10983         sprintf-posix: Fix test failure on AIX 7.1.
10984         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10985         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10986         on AIX.
10987         * doc/posix-functions/fprintf.texi: Likewise.
10988         * doc/posix-functions/printf.texi: Likewise.
10989         * doc/posix-functions/snprintf.texi: Likewise.
10990         * doc/posix-functions/sprintf.texi: Likewise.
10991         * doc/posix-functions/vdprintf.texi: Likewise.
10992         * doc/posix-functions/vfprintf.texi: Likewise.
10993         * doc/posix-functions/vprintf.texi: Likewise.
10994         * doc/posix-functions/vsnprintf.texi: Likewise.
10995         * doc/posix-functions/vsprintf.texi: Likewise.
10996
10997 2011-06-19  Bruno Haible  <bruno@clisp.org>
10998
10999         roundl-ieee: Fix test failure on AIX 7.1.
11000         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
11001         * doc/posix-functions/roundl.texi: Mention problem with negative
11002         arguments.
11003
11004 2011-06-19  Bruno Haible  <bruno@clisp.org>
11005
11006         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11007         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
11008         * doc/posix-functions/round.texi: Mention problem with negative
11009         arguments.
11010         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
11011
11012 2011-06-19  Bruno Haible  <bruno@clisp.org>
11013
11014         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
11015         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
11016         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
11017         * doc/posix-functions/roundf.texi: Mention problem with negative
11018         arguments.
11019         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
11020
11021 2011-06-19  Bruno Haible  <bruno@clisp.org>
11022
11023         ceilf-ieee: Work around bug on MacOS X 10.5.
11024         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
11025
11026         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
11027         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
11028         IEEE compliant, avoid compiler optimizations.
11029         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
11030         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11031         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
11032         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11033         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11034         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11035         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11036         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11037         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11038         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11039
11040 2011-06-19  Bruno Haible  <bruno@clisp.org>
11041
11042         ceilf-ieee: Work around bug on AIX 7.1.
11043         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
11044         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
11045
11046 2011-06-19  Bruno Haible  <bruno@clisp.org>
11047
11048         ceil-ieee: Work around bug on AIX 7.1.
11049         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
11050         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
11051
11052 2011-06-18  Bruno Haible  <bruno@clisp.org>
11053
11054         fsync test: Avoid test failure on MacOS X and AIX.
11055         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
11056         EINVAL.
11057
11058 2011-06-18  Bruno Haible  <bruno@clisp.org>
11059
11060         openat, fdopendir tests: Fix link errors.
11061         * modules/openat-tests (Depends-on): Add progname.
11062         * modules/fdopendir-tests (Depends-on): Likewise.
11063         * tests/test-fchownat.c: Include progname.h.
11064         (main): Call set_program_name.
11065         * tests/test-fstatat.c: Include progname.h.
11066         (main): Call set_program_name.
11067         * tests/test-mkdirat.c: Include progname.h.
11068         (main): Call set_program_name.
11069         * tests/test-openat.c: Include progname.h.
11070         (main): Call set_program_name.
11071         * tests/test-unlinkat.c: Include progname.h.
11072         (main): Call set_program_name.
11073         * tests/test-fdopendir.c: Include progname.h.
11074         (main): Call set_program_name.
11075
11076 2011-06-18  Bruno Haible  <bruno@clisp.org>
11077
11078         Doc update.
11079         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
11080         HP-UX.
11081         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
11082
11083 2011-06-18  Bruno Haible  <bruno@clisp.org>
11084
11085         getcwd tests: Avoid compilation error on HP-UX 11.31.
11086         * modules/getcwd-tests (Depends-on): Add pathmax.
11087         * tests/test-getcwd.c: Include pathmax.h.
11088
11089 2011-06-18  Bruno Haible  <bruno@clisp.org>
11090
11091         isfinite, isinf: Fix link error on AIX 6 and 7.
11092         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
11093         needed, also test the macro with a 'float' argument.
11094         * m4/isinf.m4 (gl_ISINF): Likewise.
11095
11096 2011-06-18  Bruno Haible  <bruno@clisp.org>
11097
11098         getloadavg: Don't clobber LIBS. Regression from previous commit.
11099         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
11100         AC_CHECK_LIB from here...
11101         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
11102         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
11103         gl_func_getloadavg_done.
11104         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11105
11106 2011-06-18  Bruno Haible  <bruno@clisp.org>
11107
11108         clean-temp: Improve documentation.
11109         * lib/clean-temp.h: Explain better how to use this module.
11110         Reported by John Darrington <john@darrington.wattle.id.au>.
11111
11112 2011-06-17  Bruno Haible  <bruno@clisp.org>
11113
11114         pread, pwrite: Avoid cc warning on AIX.
11115         * lib/unistd.in.h (pread): Undefine before defining as a macro.
11116         (pwrite): Likewise.
11117
11118 2011-06-17  Bruno Haible  <bruno@clisp.org>
11119
11120         spawn-pipe tests: Fix link error.
11121         * tests/test-spawn-pipe-child.c: Undefine fprintf.
11122         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11123
11124 2011-06-17  Bruno Haible  <bruno@clisp.org>
11125
11126         Tests: Remove unnecessary dependency.
11127         * modules/canonicalize-tests (Depends-on): Remove progname.
11128         * modules/chown-tests (Depends-on): Likewise.
11129         * modules/dirname-tests (Depends-on): Likewise.
11130         * modules/fdopendir-tests (Depends-on): Likewise.
11131         * modules/fdutimensat-tests (Depends-on): Likewise.
11132         * modules/hash-tests (Depends-on): Likewise.
11133         * modules/lchown-tests (Depends-on): Likewise.
11134         * modules/linkat-tests (Depends-on): Likewise.
11135         * modules/renameat-tests (Depends-on): Likewise.
11136         * modules/spawn-pipe-tests (Depends-on): Likewise.
11137         * modules/utimensat-tests (Depends-on): Likewise.
11138
11139 2011-06-17  Bruno Haible  <bruno@clisp.org>
11140
11141         spawn-pipe tests: Fix link error.
11142         * tests/test-spawn-pipe-child.c: Undefine fflush.
11143
11144 2011-06-17  Bruno Haible  <bruno@clisp.org>
11145
11146         Fix tests link errors.
11147         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
11148         * modules/chown-tests (Makefile.am): Don't link test-chown with
11149         LIBINTL.
11150         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
11151         LIBINTL.
11152         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
11153         LIBINTL.
11154         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
11155         LIBINTL.
11156
11157 2011-06-16  Bruno Haible  <bruno@clisp.org>
11158
11159         crypto/gc-sha1: Fix recent regression.
11160         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
11161         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
11162
11163         crypto/gc-md5: Fix recent regression.
11164         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
11165
11166         crypto/gc-md4: Fix recent regression.
11167         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
11168         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
11169
11170         crypto/gc-arctwo: Fix recent regression.
11171         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
11172         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
11173
11174         crypto/gc-rijndael: Fix recent regression.
11175         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
11176         (configure.ac): Invoke AC_LIBOBJ here.
11177         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
11178         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11179
11180         crypto/gc-hmac-sha1: Fix recent regression.
11181         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
11182         (configure.ac): Invoke AC_LIBOBJ here.
11183         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
11184         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11185
11186         crypto/gc-hmac-md5: Fix recent regression.
11187         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
11188         (configure.ac): Invoke AC_LIBOBJ here.
11189         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
11190         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11191
11192         crypto/gc-des: Fix recent regression.
11193         * modules/crypto/gc-des (Files): Remove m4/des.m4.
11194         (configure.ac): Invoke AC_LIBOBJ here.
11195         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
11196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11197
11198         crypto/gc-arcfour: Fix recent regression.
11199         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
11200         (configure.ac): Invoke AC_LIBOBJ here.
11201         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
11202         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11203
11204 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
11205
11206         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
11207         After the 2011-05-21 change, this macro requires
11208         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
11209         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
11210
11211 2011-06-16  Bruno Haible  <bruno@clisp.org>
11212
11213         fprintftime: Move AC_LIBOBJ invocations to module description.
11214         * m4/fprintftime.m4: Remove file.
11215         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
11216         (configure.ac): Remove gl_FPRINTFTIME call.
11217         (Makefile.am): Augment lib_SOURCES.
11218         Reported by Jim Meyering.
11219
11220 2011-06-16  Bruno Haible  <bruno@clisp.org>
11221
11222         tmpfile-safer: Finish 2011-05-23 commit.
11223         * m4/stdio-safer.m4: Really remove file.
11224         Reported by Jim Meyering.
11225
11226 2011-06-16  Bruno Haible  <bruno@clisp.org>
11227
11228         syntax-check: Fix typo.
11229         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
11230         printf-posix.m4.
11231         Reported by Jim Meyering.
11232
11233 2011-06-13  Jim Meyering  <meyering@redhat.com>
11234
11235         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
11236         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
11237
11238 2011-05-23  Bruno Haible  <bruno@clisp.org>
11239
11240         yesno: Move AC_LIBOBJ invocations to module description.
11241         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
11242         * modules/yesno (Makefile.am): Augment lib_SOURCES.
11243
11244 2011-05-23  Bruno Haible  <bruno@clisp.org>
11245
11246         xstrtol: Move AC_LIBOBJ invocations to module description.
11247         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
11248         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
11249
11250 2011-05-23  Bruno Haible  <bruno@clisp.org>
11251
11252         xstrtold: Move AC_LIBOBJ invocations to module description.
11253         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
11254         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
11255
11256 2011-05-23  Bruno Haible  <bruno@clisp.org>
11257
11258         xstrtod: Move AC_LIBOBJ invocations to module description.
11259         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
11260         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
11261
11262 2011-05-23  Bruno Haible  <bruno@clisp.org>
11263
11264         xnanosleep: Move AC_LIBOBJ invocations to module description.
11265         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
11266         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
11267
11268 2011-05-23  Bruno Haible  <bruno@clisp.org>
11269
11270         xgetcwd: Move AC_LIBOBJ invocations to module description.
11271         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
11272         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
11273
11274 2011-05-23  Bruno Haible  <bruno@clisp.org>
11275
11276         xalloc: Move AC_LIBOBJ invocations to module description.
11277         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
11278         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
11279
11280 2011-05-23  Bruno Haible  <bruno@clisp.org>
11281
11282         write-any-file: Move AC_LIBOBJ invocations to module description.
11283         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
11284         invocation.
11285         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
11286
11287 2011-05-23  Bruno Haible  <bruno@clisp.org>
11288
11289         utimens: Move AC_LIBOBJ invocations to module description.
11290         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
11291         * modules/utimens (Makefile.am): Augment lib_SOURCES.
11292
11293 2011-05-23  Bruno Haible  <bruno@clisp.org>
11294
11295         utimecmp: Move AC_LIBOBJ invocations to module description.
11296         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
11297         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
11298
11299 2011-05-23  Bruno Haible  <bruno@clisp.org>
11300
11301         userspec: Move AC_LIBOBJ invocations to module description.
11302         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
11303         * modules/userspec (Makefile.am): Augment lib_SOURCES.
11304
11305 2011-05-23  Bruno Haible  <bruno@clisp.org>
11306
11307         unlinkdir: Move AC_LIBOBJ invocations to module description.
11308         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
11309         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
11310
11311 2011-05-23  Bruno Haible  <bruno@clisp.org>
11312
11313         unistd-safer: Move AC_LIBOBJ invocations to module description.
11314         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
11315         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
11316
11317 2011-05-23  Bruno Haible  <bruno@clisp.org>
11318
11319         tempname: Move AC_LIBOBJ invocations to module description.
11320         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
11321         * modules/tempname (Makefile.am): Augment lib_SOURCES.
11322
11323 2011-05-23  Bruno Haible  <bruno@clisp.org>
11324
11325         strftime: Move AC_LIBOBJ invocations to module description.
11326         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
11327         * modules/strftime (Makefile.am): Augment lib_SOURCES.
11328
11329 2011-05-23  Bruno Haible  <bruno@clisp.org>
11330
11331         stdlib-safer: Move AC_LIBOBJ invocations to module description.
11332         * m4/stdlib-safer.m4: Remove file.
11333         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
11334         (configure.ac): Remove gl_STDLIB_SAFER call.
11335         (Makefile.am): Augment lib_SOURCES.
11336
11337 2011-05-23  Bruno Haible  <bruno@clisp.org>
11338
11339         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
11340         * m4/stdio-safer.m4: Remove file.
11341         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
11342         (configure.ac): Remove gl_TMPFILE_SAFER call.
11343         (Makefile.am): Augment lib_SOURCES.
11344
11345 2011-05-23  Bruno Haible  <bruno@clisp.org>
11346
11347         popen-safer: Move AC_LIBOBJ invocations to module description.
11348         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
11349         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
11350         (configure.ac): Remove gl_POPEN_SAFER call.
11351         (Makefile.am): Augment lib_SOURCES.
11352
11353 2011-05-23  Bruno Haible  <bruno@clisp.org>
11354
11355         freopen-safer: Move AC_LIBOBJ invocations to module description.
11356         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
11357         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
11358         (configure.ac): Remove gl_FREOPEN_SAFER call.
11359         (Makefile.am): Augment lib_SOURCES.
11360
11361 2011-05-23  Bruno Haible  <bruno@clisp.org>
11362
11363         fopen-safer: Move AC_LIBOBJ invocations to module description.
11364         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
11365         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
11366         (configure.ac): Remove gl_FOPEN_SAFER call.
11367         (Makefile.am): Augment lib_SOURCES.
11368
11369 2011-05-23  Bruno Haible  <bruno@clisp.org>
11370
11371         crypto/sha512: Move AC_LIBOBJ invocations to module description.
11372         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
11373         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
11374
11375 2011-05-23  Bruno Haible  <bruno@clisp.org>
11376
11377         crypto/sha256: Move AC_LIBOBJ invocations to module description.
11378         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
11379         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
11380
11381 2011-05-23  Bruno Haible  <bruno@clisp.org>
11382
11383         crypto/sha1: Move AC_LIBOBJ invocations to module description.
11384         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
11385         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
11386
11387 2011-05-23  Bruno Haible  <bruno@clisp.org>
11388
11389         settime: Move AC_LIBOBJ invocations to module description.
11390         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
11391         * modules/settime (Makefile.am): Augment lib_SOURCES.
11392
11393 2011-05-23  Bruno Haible  <bruno@clisp.org>
11394
11395         savedir: Move AC_LIBOBJ invocations to module description.
11396         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
11397         * modules/savedir (Makefile.am): Augment lib_SOURCES.
11398
11399 2011-05-23  Bruno Haible  <bruno@clisp.org>
11400
11401         save-cwd: Move AC_LIBOBJ invocations to module description.
11402         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
11403         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
11404
11405 2011-05-23  Bruno Haible  <bruno@clisp.org>
11406
11407         same: Move AC_LIBOBJ invocations to module description.
11408         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
11409         * modules/same (Makefile.am): Augment lib_SOURCES.
11410
11411 2011-05-23  Bruno Haible  <bruno@clisp.org>
11412
11413         safe-write: Move AC_LIBOBJ invocations to module description.
11414         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
11415         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
11416         instead of gl_SAFE_WRITE.
11417         (Makefile.am): Augment lib_SOURCES.
11418
11419 2011-05-23  Bruno Haible  <bruno@clisp.org>
11420
11421         safe-read: Move AC_LIBOBJ invocations to module description.
11422         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
11423         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
11424         of gl_SAFE_READ.
11425         (Makefile.am): Augment lib_SOURCES.
11426
11427 2011-05-23  Bruno Haible  <bruno@clisp.org>
11428
11429         safe-alloc: Move AC_LIBOBJ invocations to module description.
11430         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
11431         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
11432
11433 2011-05-23  Bruno Haible  <bruno@clisp.org>
11434
11435         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
11436         * m4/rijndael.m4: Remove file.
11437         * modules/crypto/rijndael (Files): Remove it.
11438         (configure.ac): Remove gl_RIJNDAEL call.
11439         (Makefile.am): Augment lib_SOURCES.
11440
11441 2011-05-23  Bruno Haible  <bruno@clisp.org>
11442
11443         readtokens: Move AC_LIBOBJ invocations to module description.
11444         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11445         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11446
11447 2011-05-23  Bruno Haible  <bruno@clisp.org>
11448
11449         read-file: Move AC_LIBOBJ invocations to module description.
11450         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11451         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11452         of gl_FUNC_READ_FILE.
11453         (Makefile.am): Augment lib_SOURCES.
11454
11455 2011-05-23  Bruno Haible  <bruno@clisp.org>
11456
11457         quotearg: Move AC_LIBOBJ invocations to module description.
11458         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11459         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11460
11461 2011-05-23  Bruno Haible  <bruno@clisp.org>
11462
11463         quote: Move AC_LIBOBJ invocations to module description.
11464         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11465         * modules/quote (Makefile.am): Augment lib_SOURCES.
11466
11467 2011-05-23  Bruno Haible  <bruno@clisp.org>
11468
11469         posixver: Move AC_LIBOBJ invocations to module description.
11470         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11471         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11472
11473 2011-05-23  Bruno Haible  <bruno@clisp.org>
11474
11475         posixtm: Move AC_LIBOBJ invocations to module description.
11476         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11477         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11478
11479 2011-05-23  Bruno Haible  <bruno@clisp.org>
11480
11481         physmem: Move AC_LIBOBJ invocations to module description.
11482         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11483         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11484
11485 2011-05-23  Bruno Haible  <bruno@clisp.org>
11486
11487         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11488         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11489         invocation.
11490         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11491
11492 2011-05-23  Bruno Haible  <bruno@clisp.org>
11493
11494         mpsort: Move AC_LIBOBJ invocations to module description.
11495         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11496         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11497
11498 2011-05-23  Bruno Haible  <bruno@clisp.org>
11499
11500         modechange: Move AC_LIBOBJ invocations to module description.
11501         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11502         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11503
11504 2011-05-23  Bruno Haible  <bruno@clisp.org>
11505
11506         mkdir-p: Move AC_LIBOBJ invocations to module description.
11507         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11508         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11509
11510 2011-05-23  Bruno Haible  <bruno@clisp.org>
11511
11512         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11513         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11514         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11515
11516 2011-05-23  Bruno Haible  <bruno@clisp.org>
11517
11518         mgetgroups: Move AC_LIBOBJ invocations to module description.
11519         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11520         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11521
11522 2011-05-23  Bruno Haible  <bruno@clisp.org>
11523
11524         memxor: Move AC_LIBOBJ invocations to module description.
11525         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11526         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11527
11528 2011-05-23  Bruno Haible  <bruno@clisp.org>
11529
11530         memcoll: Move AC_LIBOBJ invocations to module description.
11531         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11532         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11533
11534 2011-05-23  Bruno Haible  <bruno@clisp.org>
11535
11536         memcasecmp: Move AC_LIBOBJ invocations to module description.
11537         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11538         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11539
11540 2011-05-23  Bruno Haible  <bruno@clisp.org>
11541
11542         crypto/md5: Move AC_LIBOBJ invocations to module description.
11543         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11544         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11545
11546 2011-05-23  Bruno Haible  <bruno@clisp.org>
11547
11548         crypto/md4: Move AC_LIBOBJ invocations to module description.
11549         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11550         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11551
11552 2011-05-23  Bruno Haible  <bruno@clisp.org>
11553
11554         crypto/md2: Move AC_LIBOBJ invocations to module description.
11555         * m4/md2.m4: Remove file.
11556         * modules/crypto/md2 (Files): Remove it.
11557         (configure.ac): Remove gl_MD2 call.
11558         (Makefile.am): Augment lib_SOURCES.
11559
11560 2011-05-23  Bruno Haible  <bruno@clisp.org>
11561
11562         long-options: Move AC_LIBOBJ invocations to module description.
11563         * m4/long-options.m4: Remove file.
11564         * modules/long-options (Files): Remove it.
11565         (configure.ac): Remove gl_LONG_OPTIONS call.
11566         (Makefile.am): Augment lib_SOURCES.
11567
11568 2011-05-23  Bruno Haible  <bruno@clisp.org>
11569
11570         i-ring: Move AC_LIBOBJ invocations to module description.
11571         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11572         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11573
11574 2011-05-23  Bruno Haible  <bruno@clisp.org>
11575
11576         idcache: Move AC_LIBOBJ invocations to module description.
11577         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11578         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11579
11580 2011-05-23  Bruno Haible  <bruno@clisp.org>
11581
11582         human: Move AC_LIBOBJ invocations to module description.
11583         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11584         * modules/human (Makefile.am): Augment lib_SOURCES.
11585
11586 2011-05-23  Bruno Haible  <bruno@clisp.org>
11587
11588         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11589         * m4/hmac-sha1.m4: Remove file.
11590         * modules/crypto/hmac-sha1 (Files): Remove it.
11591         (configure.ac): Remove gl_HMAC_SHA1 call.
11592         (Makefile.am): Augment lib_SOURCES.
11593
11594 2011-05-23  Bruno Haible  <bruno@clisp.org>
11595
11596         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11597         * m4/hmac-md5.m4: Remove file.
11598         * modules/crypto/hmac-md5 (Files): Remove it.
11599         (configure.ac): Remove gl_HMAC_MD5 call.
11600         (Makefile.am): Augment lib_SOURCES.
11601
11602 2011-05-23  Bruno Haible  <bruno@clisp.org>
11603
11604         hash: Move AC_LIBOBJ invocations to module description.
11605         * m4/hash.m4: Remove file.
11606         * modules/hash (Files): Remove it.
11607         (configure.ac): Remove gl_HASH call.
11608         (Makefile.am): Augment lib_SOURCES.
11609
11610 2011-05-23  Bruno Haible  <bruno@clisp.org>
11611
11612         hard-locale: Move AC_LIBOBJ invocations to module description.
11613         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11614         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11615
11616 2011-05-23  Bruno Haible  <bruno@clisp.org>
11617
11618         getugroups: Move AC_LIBOBJ invocations to module description.
11619         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11620         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11621
11622 2011-05-23  Bruno Haible  <bruno@clisp.org>
11623
11624         gettime: Move AC_LIBOBJ invocations to module description.
11625         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11626         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11627
11628 2011-05-23  Bruno Haible  <bruno@clisp.org>
11629
11630         getndelim2: Move AC_LIBOBJ invocations to module description.
11631         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11632         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11633
11634 2011-05-23  Bruno Haible  <bruno@clisp.org>
11635
11636         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11637         * m4/gc-pbkdf2-sha1.m4: Remove file.
11638         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11639         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11640         (Makefile.am): Augment lib_SOURCES.
11641
11642 2011-05-23  Bruno Haible  <bruno@clisp.org>
11643
11644         fts: Move AC_LIBOBJ invocations to module description.
11645         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11646         * modules/fts (configure.ac): ... to here.
11647
11648 2011-05-23  Bruno Haible  <bruno@clisp.org>
11649
11650         file-type: Move AC_LIBOBJ invocations to module description.
11651         * m4/file-type.m4: Remove file.
11652         * modules/file-type (Files): Remove it.
11653         (configure.ac): Remove gl_FILE_TYPE call.
11654         (Makefile.am): Augment lib_SOURCES.
11655
11656 2011-05-23  Bruno Haible  <bruno@clisp.org>
11657
11658         filenamecat*: Respect rules for use of AC_LIBOBJ.
11659         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11660         Remove AC_LIBOBJ invocation.
11661         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11662         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11663
11664 2011-05-23  Bruno Haible  <bruno@clisp.org>
11665
11666         filemode: Move AC_LIBOBJ invocations to module description.
11667         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11668         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11669
11670 2011-05-23  Bruno Haible  <bruno@clisp.org>
11671
11672         openat-safer: Move AC_LIBOBJ invocations to module description.
11673         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11674         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11675
11676 2011-05-23  Bruno Haible  <bruno@clisp.org>
11677
11678         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11679         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11680         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11681
11682 2011-05-23  Bruno Haible  <bruno@clisp.org>
11683
11684         exclude: Move AC_LIBOBJ invocations to module description.
11685         * m4/exclude.m4: Remove file.
11686         * modules/exclude (Files): Remove it.
11687         (configure.ac): Remove gl_EXCLUDE call.
11688         (Makefile.am): Augment lib_SOURCES.
11689
11690 2011-05-23  Bruno Haible  <bruno@clisp.org>
11691
11692         dirname*: Respect rules for use of AC_LIBOBJ.
11693         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11694         invocations.
11695         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11696         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11697
11698 2011-05-23  Bruno Haible  <bruno@clisp.org>
11699
11700         dirent-safer: Move AC_LIBOBJ invocations to module description.
11701         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11702         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11703
11704 2011-05-23  Bruno Haible  <bruno@clisp.org>
11705
11706         crypto/des: Move AC_LIBOBJ invocations to module description.
11707         * m4/des.m4: Remove file.
11708         * modules/crypto/des (Files): Remove it.
11709         (configure.ac): Remove gl_DES call.
11710         (Makefile.am): Augment lib_SOURCES.
11711
11712 2011-05-23  Bruno Haible  <bruno@clisp.org>
11713
11714         cycle-check: Move AC_LIBOBJ invocations to module description.
11715         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11716         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11717
11718 2011-05-23  Bruno Haible  <bruno@clisp.org>
11719
11720         c-strtold: Move AC_LIBOBJ invocations to module description.
11721         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11722         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11723
11724 2011-05-23  Bruno Haible  <bruno@clisp.org>
11725
11726         c-strtod: Move AC_LIBOBJ invocations to module description.
11727         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11728         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11729
11730 2011-05-23  Bruno Haible  <bruno@clisp.org>
11731
11732         crc: Move AC_LIBOBJ invocations to module description.
11733         * m4/crc.m4: Remove file.
11734         * modules/crc (Files): Remove it.
11735         (configure.ac): Remove gl_CRC call.
11736         (Makefile.am): Augment lib_SOURCES.
11737
11738 2011-05-23  Bruno Haible  <bruno@clisp.org>
11739
11740         close-stream: Move AC_LIBOBJ invocations to module description.
11741         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11742         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11743
11744 2011-05-23  Bruno Haible  <bruno@clisp.org>
11745
11746         closeout: Move AC_LIBOBJ invocations to module description.
11747         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11748         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11749
11750 2011-05-23  Bruno Haible  <bruno@clisp.org>
11751
11752         closein: Move AC_LIBOBJ invocations to module description.
11753         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11754         * modules/closein (Makefile.am): Augment lib_SOURCES.
11755
11756 2011-05-23  Bruno Haible  <bruno@clisp.org>
11757
11758         cloexec: Move AC_LIBOBJ invocations to module description.
11759         * m4/cloexec.m4: Remove file.
11760         * modules/cloexec (Files): Remove it.
11761         (configure.ac): Remove gl_CLOEXEC call.
11762         (Makefile.am): Augment lib_SOURCES.
11763
11764 2011-05-23  Bruno Haible  <bruno@clisp.org>
11765
11766         check-version: Move AC_LIBOBJ invocations to module description.
11767         * m4/check-version.m4: Remove file.
11768         * modules/check-version (Files): Remove it.
11769         (configure.ac): Remove gl_CHECK_VERSION call.
11770         (Makefile.am): Augment lib_SOURCES.
11771
11772 2011-05-23  Bruno Haible  <bruno@clisp.org>
11773
11774         chdir-safer: Move AC_LIBOBJ invocations to module description.
11775         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11776         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11777
11778 2011-05-23  Bruno Haible  <bruno@clisp.org>
11779
11780         canonicalize: Move AC_LIBOBJ invocations to module description.
11781         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11782         AC_LIBOBJ invocation.
11783         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11784
11785 2011-05-23  Bruno Haible  <bruno@clisp.org>
11786
11787         canon-host: Move AC_LIBOBJ invocations to module description.
11788         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11789         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11790         instead of gl_CANON_HOST.
11791         (Makefile.am): Augment lib_SOURCES.
11792
11793 2011-05-23  Bruno Haible  <bruno@clisp.org>
11794
11795         backupfile: Move AC_LIBOBJ invocations to module description.
11796         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11797         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11798
11799 2011-05-23  Bruno Haible  <bruno@clisp.org>
11800
11801         argmatch: Move AC_LIBOBJ invocations to module description.
11802         * m4/argmatch.m4: Remove file.
11803         * modules/argmatch (Files): Remove it.
11804         (configure.ac): Remove gl_ARGMATCH call.
11805         (Makefile.am): Augment lib_SOURCES.
11806
11807 2011-05-23  Bruno Haible  <bruno@clisp.org>
11808
11809         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11810         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11811         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11812
11813 2011-05-23  Bruno Haible  <bruno@clisp.org>
11814
11815         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11816         * m4/arcfour.m4: Remove file.
11817         * modules/crypto/arcfour (Files): Remove it.
11818         (configure.ac): Remove gl_ARCFOUR call.
11819         (Makefile.am): Augment lib_SOURCES.
11820
11821 2011-05-22  Bruno Haible  <bruno@clisp.org>
11822
11823         write: Move AC_LIBOBJ invocations to module description.
11824         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11825         * modules/write (configure.ac): ... to here.
11826
11827 2011-05-22  Bruno Haible  <bruno@clisp.org>
11828
11829         wmemset: Move AC_LIBOBJ invocations to module description.
11830         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11831         here...
11832         * modules/wmemset (configure.ac): ... to here.
11833
11834 2011-05-22  Bruno Haible  <bruno@clisp.org>
11835
11836         wmemmove: Move AC_LIBOBJ invocations to module description.
11837         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11838         here...
11839         * modules/wmemmove (configure.ac): ... to here.
11840
11841 2011-05-22  Bruno Haible  <bruno@clisp.org>
11842
11843         wmemcpy: Move AC_LIBOBJ invocations to module description.
11844         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11845         here...
11846         * modules/wmemcpy (configure.ac): ... to here.
11847
11848 2011-05-22  Bruno Haible  <bruno@clisp.org>
11849
11850         wmemcmp: Move AC_LIBOBJ invocations to module description.
11851         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11852         here...
11853         * modules/wmemcmp (configure.ac): ... to here.
11854
11855 2011-05-22  Bruno Haible  <bruno@clisp.org>
11856
11857         wmemchr: Move AC_LIBOBJ invocations to module description.
11858         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11859         here...
11860         * modules/wmemchr (configure.ac): ... to here.
11861
11862 2011-05-22  Bruno Haible  <bruno@clisp.org>
11863
11864         wcswidth: Move AC_LIBOBJ invocations to module description.
11865         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11866         here...
11867         * modules/wcswidth (configure.ac): ... to here.
11868
11869 2011-05-22  Bruno Haible  <bruno@clisp.org>
11870
11871         wcwidth: Respect rules for use of AC_LIBOBJ.
11872         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11873         invocation from here...
11874         * modules/wcwidth (configure.ac): ... to here.
11875         (Depends-on): Update conditions.
11876
11877 2011-05-22  Bruno Haible  <bruno@clisp.org>
11878
11879         wctype: Move AC_LIBOBJ invocations to module description.
11880         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11881         invocation from here...
11882         * modules/wctype (configure.ac): ... to here.
11883         (Depends-on): Update conditions.
11884
11885 2011-05-22  Bruno Haible  <bruno@clisp.org>
11886
11887         wctrans: Move AC_LIBOBJ invocations to module description.
11888         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11889         invocation from here...
11890         * modules/wctrans (configure.ac): ... to here.
11891
11892 2011-05-22  Bruno Haible  <bruno@clisp.org>
11893
11894         wctomb: Move AC_LIBOBJ invocations to module description.
11895         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11896         invocations from here...
11897         * modules/wctomb (configure.ac): ... to here.
11898
11899 2011-05-22  Bruno Haible  <bruno@clisp.org>
11900
11901         wctob: Move AC_LIBOBJ invocations to module description.
11902         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11903         gl_PREREQ_WCTOB invocations from here...
11904         * modules/wctob (configure.ac): ... to here.
11905         (Depends-on): Update conditions.
11906
11907 2011-05-22  Bruno Haible  <bruno@clisp.org>
11908
11909         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11910         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11911         here...
11912         * modules/wcsxfrm (configure.ac): ... to here.
11913
11914 2011-05-22  Bruno Haible  <bruno@clisp.org>
11915
11916         wcstok: Move AC_LIBOBJ invocations to module description.
11917         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11918         * modules/wcstok (configure.ac): ... to here.
11919
11920 2011-05-22  Bruno Haible  <bruno@clisp.org>
11921
11922         wcsstr: Move AC_LIBOBJ invocations to module description.
11923         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11924         * modules/wcsstr (configure.ac): ... to here.
11925
11926 2011-05-22  Bruno Haible  <bruno@clisp.org>
11927
11928         wcsspn: Move AC_LIBOBJ invocations to module description.
11929         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11930         * modules/wcsspn (configure.ac): ... to here.
11931
11932 2011-05-22  Bruno Haible  <bruno@clisp.org>
11933
11934         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11935         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11936         gl_PREREQ_WCSRTOMBS invocations from here...
11937         * modules/wcsrtombs (configure.ac): ... to here.
11938
11939 2011-05-22  Bruno Haible  <bruno@clisp.org>
11940
11941         wcsrchr: Move AC_LIBOBJ invocations to module description.
11942         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11943         here...
11944         * modules/wcsrchr (configure.ac): ... to here.
11945
11946 2011-05-22  Bruno Haible  <bruno@clisp.org>
11947
11948         wcspbrk: Move AC_LIBOBJ invocations to module description.
11949         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11950         here...
11951         * modules/wcspbrk (configure.ac): ... to here.
11952
11953 2011-05-22  Bruno Haible  <bruno@clisp.org>
11954
11955         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11956         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11957         gl_PREREQ_WCSNRTOMBS invocations from here...
11958         * modules/wcsnrtombs (configure.ac): ... to here.
11959
11960 2011-05-22  Bruno Haible  <bruno@clisp.org>
11961
11962         wcsnlen: Move AC_LIBOBJ invocations to module description.
11963         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11964         here...
11965         * modules/wcsnlen (configure.ac): ... to here.
11966
11967 2011-05-22  Bruno Haible  <bruno@clisp.org>
11968
11969         wcsncpy: Move AC_LIBOBJ invocations to module description.
11970         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11971         here...
11972         * modules/wcsncpy (configure.ac): ... to here.
11973
11974 2011-05-22  Bruno Haible  <bruno@clisp.org>
11975
11976         wcsncmp: Move AC_LIBOBJ invocations to module description.
11977         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11978         here...
11979         * modules/wcsncmp (configure.ac): ... to here.
11980
11981 2011-05-22  Bruno Haible  <bruno@clisp.org>
11982
11983         wcsncat: Move AC_LIBOBJ invocations to module description.
11984         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11985         here...
11986         * modules/wcsncat (configure.ac): ... to here.
11987
11988 2011-05-22  Bruno Haible  <bruno@clisp.org>
11989
11990         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11991         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11992         from here...
11993         * modules/wcsncasecmp (configure.ac): ... to here.
11994
11995 2011-05-22  Bruno Haible  <bruno@clisp.org>
11996
11997         wcslen: Move AC_LIBOBJ invocations to module description.
11998         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11999         * modules/wcslen (configure.ac): ... to here.
12000
12001 2011-05-22  Bruno Haible  <bruno@clisp.org>
12002
12003         wcsdup: Move AC_LIBOBJ invocations to module description.
12004         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
12005         * modules/wcsdup (configure.ac): ... to here.
12006
12007 2011-05-22  Bruno Haible  <bruno@clisp.org>
12008
12009         wcscspn: Move AC_LIBOBJ invocations to module description.
12010         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
12011         here...
12012         * modules/wcscspn (configure.ac): ... to here.
12013
12014 2011-05-22  Bruno Haible  <bruno@clisp.org>
12015
12016         wcscpy: Move AC_LIBOBJ invocations to module description.
12017         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
12018         * modules/wcscpy (configure.ac): ... to here.
12019
12020 2011-05-22  Bruno Haible  <bruno@clisp.org>
12021
12022         wcscoll: Move AC_LIBOBJ invocations to module description.
12023         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
12024         here...
12025         * modules/wcscoll (configure.ac): ... to here.
12026
12027 2011-05-22  Bruno Haible  <bruno@clisp.org>
12028
12029         wcscmp: Move AC_LIBOBJ invocations to module description.
12030         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
12031         * modules/wcscmp (configure.ac): ... to here.
12032
12033 2011-05-22  Bruno Haible  <bruno@clisp.org>
12034
12035         wcschr: Move AC_LIBOBJ invocations to module description.
12036         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
12037         * modules/wcschr (configure.ac): ... to here.
12038
12039 2011-05-22  Bruno Haible  <bruno@clisp.org>
12040
12041         wcscat: Move AC_LIBOBJ invocations to module description.
12042         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
12043         * modules/wcscat (configure.ac): ... to here.
12044
12045 2011-05-22  Bruno Haible  <bruno@clisp.org>
12046
12047         wcscasecmp: Move AC_LIBOBJ invocations to module description.
12048         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
12049         here...
12050         * modules/wcscasecmp (configure.ac): ... to here.
12051
12052 2011-05-22  Bruno Haible  <bruno@clisp.org>
12053
12054         wcrtomb: Move AC_LIBOBJ invocations to module description.
12055         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
12056         invocations from here...
12057         * modules/wcrtomb (configure.ac): ... to here.
12058
12059 2011-05-22  Bruno Haible  <bruno@clisp.org>
12060
12061         wcpncpy: Move AC_LIBOBJ invocations to module description.
12062         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
12063         here...
12064         * modules/wcpncpy (configure.ac): ... to here.
12065
12066 2011-05-22  Bruno Haible  <bruno@clisp.org>
12067
12068         wcpcpy: Move AC_LIBOBJ invocations to module description.
12069         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
12070         * modules/wcpcpy (configure.ac): ... to here.
12071
12072 2011-05-22  Bruno Haible  <bruno@clisp.org>
12073
12074         waitpid: Move AC_LIBOBJ invocations to module description.
12075         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
12076         invocation from here...
12077         * modules/waitpid (configure.ac): ... to here.
12078
12079 2011-05-22  Bruno Haible  <bruno@clisp.org>
12080
12081         utimensat: Move AC_LIBOBJ invocations to module description.
12082         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
12083         here...
12084         * modules/utimensat (configure.ac): ... to here.
12085
12086 2011-05-22  Bruno Haible  <bruno@clisp.org>
12087
12088         usleep: Move AC_LIBOBJ invocations to module description.
12089         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
12090         here...
12091         * modules/usleep (configure.ac): ... to here.
12092
12093 2011-05-22  Bruno Haible  <bruno@clisp.org>
12094
12095         unlockpt: Move AC_LIBOBJ invocations to module description.
12096         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
12097         gl_PREREQ_UNLOCKPT invocations from here...
12098         * modules/unlockpt (configure.ac): ... to here.
12099
12100 2011-05-22  Bruno Haible  <bruno@clisp.org>
12101
12102         unlink: Respect rules for use of AC_LIBOBJ.
12103         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
12104         * modules/unlink (configure.ac): ... to here.
12105
12106 2011-05-22  Bruno Haible  <bruno@clisp.org>
12107
12108         uname: Move AC_LIBOBJ invocations to module description.
12109         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
12110         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
12111         here...
12112         * modules/uname (configure.ac): ... to here.
12113
12114 2011-05-22  Bruno Haible  <bruno@clisp.org>
12115
12116         ttyname_r: Move AC_LIBOBJ invocations to module description.
12117         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
12118         gl_PREREQ_TTYNAME_R invocations from here...
12119         * modules/ttyname_r (configure.ac): ... to here.
12120
12121 2011-05-22  Bruno Haible  <bruno@clisp.org>
12122
12123         tsearch: Move AC_LIBOBJ invocations to module description.
12124         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
12125         invocations from here...
12126         * modules/tsearch (configure.ac): ... to here.
12127
12128 2011-05-22  Bruno Haible  <bruno@clisp.org>
12129
12130         towctrans: Move AC_LIBOBJ invocations to module description.
12131         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
12132         AC_LIBOBJ invocation from here...
12133         * modules/towctrans (configure.ac): ... to here.
12134
12135 2011-05-22  Bruno Haible  <bruno@clisp.org>
12136
12137         tmpfile: Move AC_LIBOBJ invocations to module description.
12138         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
12139         invocations from here...
12140         * modules/tmpfile (configure.ac): ... to here.
12141
12142 2011-05-22  Bruno Haible  <bruno@clisp.org>
12143
12144         times: Move AC_LIBOBJ invocations to module description.
12145         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
12146         * modules/times (configure.ac): ... to here.
12147
12148 2011-05-22  Bruno Haible  <bruno@clisp.org>
12149
12150         time_r: Move AC_LIBOBJ invocations to module description.
12151         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
12152         invocations from here...
12153         * modules/time_r (configure.ac): ... to here.
12154
12155 2011-05-22  Bruno Haible  <bruno@clisp.org>
12156
12157         timegm: Move AC_LIBOBJ invocations to module description.
12158         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
12159         invocations from here...
12160         * modules/timegm (configure.ac): ... to here.
12161
12162 2011-05-22  Bruno Haible  <bruno@clisp.org>
12163
12164         tcgetsid: Move AC_LIBOBJ invocations to module description.
12165         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
12166         and gl_PREREQ_TCGETSID invocations from here...
12167         * modules/tcgetsid (configure.ac): ... to here.
12168         (Depends-on): Update conditions.
12169
12170 2011-05-22  Bruno Haible  <bruno@clisp.org>
12171
12172         symlinkat: Move AC_LIBOBJ invocations to module description.
12173         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
12174         here...
12175         * modules/symlinkat (configure.ac): ... to here.
12176
12177 2011-05-22  Bruno Haible  <bruno@clisp.org>
12178
12179         symlink: Move AC_LIBOBJ invocations to module description.
12180         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
12181         here...
12182         * modules/symlink (configure.ac): ... to here.
12183
12184 2011-05-22  Bruno Haible  <bruno@clisp.org>
12185
12186         strverscmp: Move AC_LIBOBJ invocations to module description.
12187         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
12188         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
12189         from here...
12190         * modules/strverscmp (configure.ac): ... to here.
12191
12192 2011-05-22  Bruno Haible  <bruno@clisp.org>
12193
12194         strtok_r: Move AC_LIBOBJ invocations to module description.
12195         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
12196         and gl_PREREQ_STRTOK_R invocations from here...
12197         * modules/strtok_r (configure.ac): ... to here.
12198         (Depends-on): Update conditions.
12199
12200 2011-05-22  Bruno Haible  <bruno@clisp.org>
12201
12202         strtoumax: Move AC_LIBOBJ invocations to module description.
12203         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
12204         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
12205         from here...
12206         * modules/strtoumax (configure.ac): ... to here.
12207
12208 2011-05-22  Bruno Haible  <bruno@clisp.org>
12209
12210         strtoimax: Move AC_LIBOBJ invocations to module description.
12211         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
12212         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
12213         from here...
12214         * modules/strtoimax (configure.ac): ... to here.
12215
12216 2011-05-22  Bruno Haible  <bruno@clisp.org>
12217
12218         strtoull: Move AC_LIBOBJ invocations to module description.
12219         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
12220         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
12221         from here...
12222         * modules/strtoull (configure.ac): ... to here.
12223
12224 2011-05-22  Bruno Haible  <bruno@clisp.org>
12225
12226         strtoll: Move AC_LIBOBJ invocations to module description.
12227         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
12228         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
12229         here...
12230         * modules/strtoll (configure.ac): ... to here.
12231
12232 2011-05-22  Bruno Haible  <bruno@clisp.org>
12233
12234         strtoul: Move AC_LIBOBJ invocations to module description.
12235         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
12236         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12237         * modules/strtoul (configure.ac): ... to here.
12238
12239 2011-05-22  Bruno Haible  <bruno@clisp.org>
12240
12241         strtol: Move AC_LIBOBJ invocations to module description.
12242         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
12243         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
12244         * modules/strtol (configure.ac): ... to here.
12245
12246 2011-05-22  Bruno Haible  <bruno@clisp.org>
12247
12248         strtod: Move AC_LIBOBJ invocations to module description.
12249         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
12250         invocations from here...
12251         * modules/strtod (configure.ac): ... to here.
12252
12253 2011-05-22  Bruno Haible  <bruno@clisp.org>
12254
12255         strstr*: Move AC_LIBOBJ invocations to module description.
12256         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
12257         invocations from here...
12258         * modules/strstr-simple (configure.ac): ... to here.
12259         * modules/strstr (configure.ac): ... and here.
12260
12261 2011-05-22  Bruno Haible  <bruno@clisp.org>
12262
12263         strsignal: Move AC_LIBOBJ invocations to module description.
12264         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
12265         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
12266         * modules/strsignal (configure.ac): ... to here.
12267         (Depends-on): Update conditions.
12268
12269 2011-05-22  Bruno Haible  <bruno@clisp.org>
12270
12271         strsep: Move AC_LIBOBJ invocations to module description.
12272         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
12273         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
12274         here...
12275         * modules/strsep (configure.ac): ... to here.
12276
12277 2011-05-22  Bruno Haible  <bruno@clisp.org>
12278
12279         strptime: Move AC_LIBOBJ invocations to module description.
12280         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
12281         gl_PREREQ_STRPTIME invocations from here...
12282         * modules/strptime (configure.ac): ... to here.
12283
12284 2011-05-22  Bruno Haible  <bruno@clisp.org>
12285
12286         strpbrk: Move AC_LIBOBJ invocations to module description.
12287         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
12288         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
12289         here...
12290         * modules/strpbrk (configure.ac): ... to here.
12291
12292 2011-05-22  Bruno Haible  <bruno@clisp.org>
12293
12294         strnlen: Move AC_LIBOBJ invocations to module description.
12295         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
12296         invocations from here...
12297         * modules/strnlen (configure.ac): ... to here.
12298
12299 2011-05-22  Bruno Haible  <bruno@clisp.org>
12300
12301         strndup: Move AC_LIBOBJ invocations to module description.
12302         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
12303         invocations from here...
12304         * modules/strndup (configure.ac): ... to here.
12305         (Depends-on): Update conditions.
12306
12307 2011-05-22  Bruno Haible  <bruno@clisp.org>
12308
12309         strncat: Move AC_LIBOBJ invocations to module description.
12310         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
12311         invocations from here...
12312         * modules/strncat (configure.ac): ... to here.
12313
12314 2011-05-22  Bruno Haible  <bruno@clisp.org>
12315
12316         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
12317         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
12318         invocations from here...
12319         * modules/strdup (configure.ac): ... to here.
12320         * modules/strdup-posix (configure.ac): ... and here.
12321
12322 2011-05-22  Bruno Haible  <bruno@clisp.org>
12323
12324         strcspn: Move AC_LIBOBJ invocations to module description.
12325         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
12326         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
12327         here...
12328         * modules/strcspn (configure.ac): ... to here.
12329
12330 2011-05-22  Bruno Haible  <bruno@clisp.org>
12331
12332         strchrnul: Move AC_LIBOBJ invocations to module description.
12333         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
12334         gl_PREREQ_STRCHRNUL invocations from here...
12335         * modules/strchrnul (configure.ac): ... to here.
12336
12337 2011-05-22  Bruno Haible  <bruno@clisp.org>
12338
12339         strcasestr*: Move AC_LIBOBJ invocations to module description.
12340         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12341         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
12342         * modules/strcasestr-simple (configure.ac): ... to here.
12343         * modules/strcasestr (configure.ac): ... and here.
12344
12345 2011-05-22  Bruno Haible  <bruno@clisp.org>
12346
12347         strcase: Move AC_LIBOBJ invocations to module description.
12348         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
12349         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
12350         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
12351         gl_PREREQ_STRNCASECMP invocations from here...
12352         * modules/strcase (configure.ac): ... to here.
12353
12354 2011-05-22  Bruno Haible  <bruno@clisp.org>
12355
12356         stpncpy: Move AC_LIBOBJ invocations to module description.
12357         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
12358         here...
12359         * modules/stpncpy (configure.ac): ... to here.
12360
12361 2011-05-22  Bruno Haible  <bruno@clisp.org>
12362
12363         stpcpy: Move AC_LIBOBJ invocations to module description.
12364         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
12365         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
12366         here...
12367         * modules/stpcpy (configure.ac): ... to here.
12368
12369 2011-05-21  Bruno Haible  <bruno@clisp.org>
12370
12371         stat: Move AC_LIBOBJ invocations to module description.
12372         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
12373         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
12374         here...
12375         * modules/stat (configure.ac): ... to here.
12376
12377 2011-05-21  Bruno Haible  <bruno@clisp.org>
12378
12379         sleep: Move AC_LIBOBJ invocations to module description.
12380         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
12381         * modules/sleep (configure.ac): ... to here.
12382
12383 2011-05-21  Bruno Haible  <bruno@clisp.org>
12384
12385         signbit: Move AC_LIBOBJ invocations to module description.
12386         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
12387         * modules/signbit (configure.ac): ... to here.
12388
12389 2011-05-21  Bruno Haible  <bruno@clisp.org>
12390
12391         sigprocmask: Move AC_LIBOBJ invocations to module description.
12392         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
12393         gl_PREREQ_SIGPROMASK invocations from here...
12394         * modules/sigprocmask (configure.ac): ... to here.
12395
12396 2011-05-21  Bruno Haible  <bruno@clisp.org>
12397
12398         sigaction: Move AC_LIBOBJ invocations to module description.
12399         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
12400         gl_PREREQ_SIGACTION invocations from here...
12401         * modules/sigaction (configure.ac): ... to here.
12402
12403 2011-05-21  Bruno Haible  <bruno@clisp.org>
12404
12405         sig2str: Move AC_LIBOBJ invocations to module description.
12406         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
12407         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
12408         here...
12409         * modules/sig2str (configure.ac): ... to here.
12410
12411 2011-05-21  Bruno Haible  <bruno@clisp.org>
12412
12413         setlocale: Move AC_LIBOBJ invocations to module description.
12414         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
12415         gl_PREREQ_SETLOCALE invocations from here...
12416         * modules/setlocale (configure.ac): ... to here.
12417
12418 2011-05-21  Bruno Haible  <bruno@clisp.org>
12419
12420         unsetenv: Move AC_LIBOBJ invocations to module description.
12421         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
12422         and gl_PREREQ_UNSETENV invocations from here...
12423         * modules/unsetenv (configure.ac): ... to here.
12424         (Depends-on): Update.
12425
12426 2011-05-21  Bruno Haible  <bruno@clisp.org>
12427
12428         setenv: Move AC_LIBOBJ invocations to module description.
12429         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
12430         here...
12431         * modules/setenv (configure.ac): ... to here.
12432
12433 2011-05-21  Bruno Haible  <bruno@clisp.org>
12434
12435         selinux-h: Move AC_LIBOBJ invocations to module description.
12436         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
12437         AC_LIBOBJ invocation from here...
12438         * modules/selinux-h (configure.ac): ... to here.
12439
12440 2011-05-21  Bruno Haible  <bruno@clisp.org>
12441
12442         select: Respect rules for use of AC_LIBOBJ.
12443         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12444         here...
12445         * modules/select (configure.ac): ... to here.
12446
12447 2011-05-21  Bruno Haible  <bruno@clisp.org>
12448
12449         scandir: Move AC_LIBOBJ invocations to module description.
12450         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12451         invocations from here...
12452         * modules/scandir (configure.ac): ... to here.
12453
12454 2011-05-21  Bruno Haible  <bruno@clisp.org>
12455
12456         rpmatch: Move AC_LIBOBJ invocations to module description.
12457         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12458         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12459         here...
12460         * modules/rpmatch (configure.ac): ... to here.
12461
12462 2011-05-21  Bruno Haible  <bruno@clisp.org>
12463
12464         rmdir: Respect rules for use of AC_LIBOBJ.
12465         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12466         * modules/rmdir (configure.ac): ... to here.
12467
12468 2011-05-21  Bruno Haible  <bruno@clisp.org>
12469
12470         renameat: Move AC_LIBOBJ invocations to module description.
12471         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12472         here...
12473         * modules/renameat (configure.ac): ... to here.
12474
12475 2011-05-21  Bruno Haible  <bruno@clisp.org>
12476
12477         rename: Respect rules for use of AC_LIBOBJ.
12478         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12479         here...
12480         * modules/rename (configure.ac): ... to here.
12481
12482 2011-05-21  Bruno Haible  <bruno@clisp.org>
12483
12484         remove: Move AC_LIBOBJ invocations to module description.
12485         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12486         here...
12487         * modules/remove (configure.ac): ... to here.
12488
12489 2011-05-21  Bruno Haible  <bruno@clisp.org>
12490
12491         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12492         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12493         macro.
12494         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12495         * modules/relocatable-lib (configure.ac): ... to here.
12496         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12497         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12498
12499 2011-05-21  Bruno Haible  <bruno@clisp.org>
12500
12501         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12502         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12503         here...
12504         * modules/relocatable-prog (configure.ac): ... to here.
12505
12506 2011-05-21  Bruno Haible  <bruno@clisp.org>
12507
12508         regex: Move AC_LIBOBJ invocations to module description.
12509         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12510         invocations from here...
12511         * modules/regex (configure.ac): ... to here.
12512
12513 2011-05-21  Bruno Haible  <bruno@clisp.org>
12514
12515         realloc-*: Move AC_LIBOBJ invocations to module description.
12516         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12517         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12518         AC_LIBOBJ invocations from here...
12519         * modules/realloc-gnu (configure.ac): ... to here.
12520         * modules/realloc-posix (configure.ac): ... and here.
12521
12522 2011-05-21  Bruno Haible  <bruno@clisp.org>
12523
12524         readutmp: Move AC_LIBOBJ invocations to module description.
12525         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12526         * modules/readutmp (configure.ac): ... to here.
12527
12528 2011-05-21  Bruno Haible  <bruno@clisp.org>
12529
12530         readlinkat: Move AC_LIBOBJ invocations to module description.
12531         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12532         here...
12533         * modules/readlinkat (configure.ac): ... to here.
12534
12535 2011-05-21  Bruno Haible  <bruno@clisp.org>
12536
12537         readlink: Move AC_LIBOBJ invocations to module description.
12538         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12539         gl_PREREQ_READLINK invocations from here...
12540         * modules/readlink (configure.ac): ... to here.
12541
12542 2011-05-21  Bruno Haible  <bruno@clisp.org>
12543
12544         readline: Move AC_LIBOBJ invocations to module description.
12545         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12546         gl_PREREQ_READLINE invocations from here...
12547         * modules/readline (configure.ac): ... to here.
12548
12549 2011-05-21  Bruno Haible  <bruno@clisp.org>
12550
12551         read: Move AC_LIBOBJ invocations to module description.
12552         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12553         * modules/read (configure.ac): ... to here.
12554
12555 2011-05-21  Bruno Haible  <bruno@clisp.org>
12556
12557         rawmemchr: Move AC_LIBOBJ invocations to module description.
12558         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12559         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12560         from here...
12561         * modules/rawmemchr (configure.ac): ... to here.
12562
12563 2011-05-21  Bruno Haible  <bruno@clisp.org>
12564
12565         random_r: Move AC_LIBOBJ invocations to module description.
12566         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12567         gl_PREREQ_RANDOM_R invocations from here...
12568         * modules/random_r (configure.ac): ... to here.
12569
12570 2011-05-21  Bruno Haible  <bruno@clisp.org>
12571
12572         pwrite: Move AC_LIBOBJ invocations to module description.
12573         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12574         * modules/pwrite (configure.ac): ... to here.
12575
12576 2011-05-21  Bruno Haible  <bruno@clisp.org>
12577
12578         putenv: Move AC_LIBOBJ invocations to module description.
12579         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12580         * modules/putenv (configure.ac): ... to here.
12581
12582 2011-05-21  Bruno Haible  <bruno@clisp.org>
12583
12584         login_tty: Move AC_LIBOBJ invocations to module description.
12585         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12586         * modules/login_tty (configure.ac): ... to here.
12587
12588 2011-05-21  Bruno Haible  <bruno@clisp.org>
12589
12590         openpty: Move AC_LIBOBJ invocations to module description.
12591         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12592         * modules/openpty (configure.ac): ... to here.
12593
12594 2011-05-21  Bruno Haible  <bruno@clisp.org>
12595
12596         forkpty: Move AC_LIBOBJ invocations to module description.
12597         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12598         * modules/forkpty (configure.ac): ... to here.
12599
12600 2011-05-21  Bruno Haible  <bruno@clisp.org>
12601
12602         ptsname: Move AC_LIBOBJ invocations to module description.
12603         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12604         invocations from here...
12605         * modules/ptsname (configure.ac): ... to here.
12606
12607 2011-05-21  Bruno Haible  <bruno@clisp.org>
12608
12609         pread: Move AC_LIBOBJ invocations to module description.
12610         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12611         * modules/pread (configure.ac): ... to here.
12612
12613 2011-05-21  Bruno Haible  <bruno@clisp.org>
12614
12615         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12616         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12617         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12618         * modules/posix_spawn (configure.ac): ... to here.
12619         * modules/posix_spawnp (configure.ac): ... and here.
12620
12621 2011-05-21  Bruno Haible  <bruno@clisp.org>
12622
12623         popen: Move AC_LIBOBJ invocations to module description.
12624         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12625         invocations from here...
12626         * modules/popen (configure.ac): ... to here.
12627
12628 2011-05-21  Bruno Haible  <bruno@clisp.org>
12629
12630         poll: Move AC_LIBOBJ invocations to module description.
12631         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12632         invocations from here...
12633         * modules/poll (configure.ac): ... to here.
12634
12635 2011-05-21  Bruno Haible  <bruno@clisp.org>
12636
12637         pipe-posix: Move AC_LIBOBJ invocations to module description.
12638         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12639         * modules/pipe-posix (configure.ac): ... to here.
12640
12641 2011-05-21  Bruno Haible  <bruno@clisp.org>
12642
12643         openat: Respect rules for use of AC_LIBOBJ.
12644         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12645         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12646         * modules/openat (configure.ac): ... to here.
12647
12648 2011-05-21  Bruno Haible  <bruno@clisp.org>
12649
12650         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12651         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12652         invocation from here...
12653         * modules/obstack-printf (configure.ac): ... to here.
12654         * modules/obstack-printf-posix (configure.ac): ... and here.
12655
12656 2011-05-21  Bruno Haible  <bruno@clisp.org>
12657
12658         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12659         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12660         from here...
12661         * modules/nl_langinfo (configure.ac): ... to here.
12662
12663 2011-05-21  Bruno Haible  <bruno@clisp.org>
12664
12665         nanosleep: Move AC_LIBOBJ invocations to module description.
12666         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12667         gl_PREREQ_NANOSLEEP invocations from here...
12668         * modules/nanosleep (configure.ac): ... to here.
12669
12670 2011-05-21  Bruno Haible  <bruno@clisp.org>
12671
12672         mountlist: Move AC_LIBOBJ invocations to module description.
12673         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12674         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12675         * modules/mountlist (configure.ac): ... to here.
12676
12677 2011-05-21  Bruno Haible  <bruno@clisp.org>
12678
12679         mktime: Respect rules for use of AC_LIBOBJ.
12680         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12681         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12682         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12683         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12684         * modules/mktime (configure.ac): ... to here.
12685         * modules/mktime-internal (configure.ac): ... and here.
12686         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12687
12688 2011-05-21  Bruno Haible  <bruno@clisp.org>
12689
12690         mkstemps: Move AC_LIBOBJ invocations to module description.
12691         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12692         here...
12693         * modules/mkstemps (configure.ac): ... to here.
12694
12695 2011-05-21  Bruno Haible  <bruno@clisp.org>
12696
12697         mkstemp: Move AC_LIBOBJ invocations to module description.
12698         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12699         gl_PREREQ_MKSTEMP invocations from here...
12700         * modules/mkstemp (configure.ac): ... to here.
12701
12702 2011-05-21  Bruno Haible  <bruno@clisp.org>
12703
12704         mkostemps: Move AC_LIBOBJ invocations to module description.
12705         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12706         here...
12707         * modules/mkostemps (configure.ac): ... to here.
12708
12709 2011-05-21  Bruno Haible  <bruno@clisp.org>
12710
12711         mkostemp: Move AC_LIBOBJ invocations to module description.
12712         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12713         gl_PREREQ_MKOSTEMP invocations from here...
12714         * modules/mkostemp (configure.ac): ... to here.
12715
12716 2011-05-21  Bruno Haible  <bruno@clisp.org>
12717
12718         mknod: Move AC_LIBOBJ invocations to module description.
12719         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12720         * modules/mknod (configure.ac): ... to here.
12721
12722 2011-05-21  Bruno Haible  <bruno@clisp.org>
12723
12724         mkfifoat: Move AC_LIBOBJ invocations to module description.
12725         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12726         here...
12727         * modules/mkfifoat (configure.ac): ... to here.
12728
12729 2011-05-21  Bruno Haible  <bruno@clisp.org>
12730
12731         mkfifo: Respect rules for use of AC_LIBOBJ.
12732         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12733         here...
12734         * modules/mkfifo (configure.ac): ... to here.
12735
12736 2011-05-21  Bruno Haible  <bruno@clisp.org>
12737
12738         mkdtemp: Move AC_LIBOBJ invocations to module description.
12739         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12740         invocations from here...
12741         * modules/mkdtemp (configure.ac): ... to here.
12742
12743 2011-05-21  Bruno Haible  <bruno@clisp.org>
12744
12745         mkdir: Move AC_LIBOBJ invocations to module description.
12746         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12747         * modules/mkdir (configure.ac): ... to here.
12748
12749 2011-05-21  Bruno Haible  <bruno@clisp.org>
12750
12751         memset: Move AC_LIBOBJ invocations to module description.
12752         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12753         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12754         here...
12755         * modules/memset (configure.ac): ... to here.
12756
12757 2011-05-21  Bruno Haible  <bruno@clisp.org>
12758
12759         memrchr: Move AC_LIBOBJ invocations to module description.
12760         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12761         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12762         here...
12763         * modules/memrchr (configure.ac): ... to here.
12764
12765 2011-05-21  Bruno Haible  <bruno@clisp.org>
12766
12767         mempcpy: Move AC_LIBOBJ invocations to module description.
12768         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12769         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12770         here...
12771         * modules/mempcpy (configure.ac): ... to here.
12772
12773 2011-05-21  Bruno Haible  <bruno@clisp.org>
12774
12775         memmove: Move AC_LIBOBJ invocations to module description.
12776         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12777         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12778         here...
12779         * modules/memmove (configure.ac): ... to here.
12780
12781 2011-05-21  Bruno Haible  <bruno@clisp.org>
12782
12783         memmem*: Move AC_LIBOBJ invocations to module description.
12784         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12785         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12786         here...
12787         (gl_FUNC_MEMMEM): ... and here...
12788         * modules/memmem-simple (configure.ac): ... to here.
12789         * modules/memmem (configure.ac): ... and here.
12790
12791 2011-05-21  Bruno Haible  <bruno@clisp.org>
12792
12793         memcpy: Move AC_LIBOBJ invocations to module description.
12794         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12795         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12796         here...
12797         * modules/memcpy (configure.ac): ... to here.
12798
12799 2011-05-21  Bruno Haible  <bruno@clisp.org>
12800
12801         memcmp: Simplify autoconf macro.
12802         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12803         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12804         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12805
12806 2011-05-21  Bruno Haible  <bruno@clisp.org>
12807
12808         memcmp: Move AC_LIBOBJ invocations to module description.
12809         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12810         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12811         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12812         * modules/memcmp (configure.ac): ... to here.
12813         (Depends-on): Update conditions.
12814
12815 2011-05-21  Bruno Haible  <bruno@clisp.org>
12816
12817         memchr: Respect rules for use of AC_LIBOBJ.
12818         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12819         invocations from here...
12820         * modules/memchr (configure.ac): ... to here.
12821
12822 2011-05-21  Bruno Haible  <bruno@clisp.org>
12823
12824         mbtowc: Move AC_LIBOBJ invocations to module description.
12825         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12826         invocations from here...
12827         * modules/mbtowc (configure.ac): ... to here.
12828
12829 2011-05-21  Bruno Haible  <bruno@clisp.org>
12830
12831         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12832         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12833         gl_PREREQ_MBSRTOWCS invocations from here...
12834         * modules/mbsrtowcs (configure.ac): ... to here.
12835
12836 2011-05-21  Bruno Haible  <bruno@clisp.org>
12837
12838         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12839         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12840         gl_PREREQ_MBSNRTOWCS invocations from here...
12841         * modules/mbsnrtowcs (configure.ac): ... to here.
12842
12843 2011-05-21  Bruno Haible  <bruno@clisp.org>
12844
12845         mbsinit: Move AC_LIBOBJ invocations to module description.
12846         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12847         invocations from here...
12848         * modules/mbsinit (configure.ac): ... to here.
12849
12850 2011-05-21  Bruno Haible  <bruno@clisp.org>
12851
12852         mbrlen: Move AC_LIBOBJ invocations to module description.
12853         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12854         invocations from here...
12855         * modules/mbrlen (configure.ac): ... to here.
12856
12857 2011-05-21  Bruno Haible  <bruno@clisp.org>
12858
12859         mbrtowc: Respect rules for use of AC_LIBOBJ.
12860         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12861         invocations from here...
12862         * modules/mbrtowc (configure.ac): ... to here.
12863
12864 2011-05-21  Bruno Haible  <bruno@clisp.org>
12865
12866         malloc-*: Move AC_LIBOBJ invocations to module description.
12867         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12868         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12869         AC_LIBOBJ invocations from here...
12870         * modules/malloc-gnu (configure.ac): ... to here.
12871         * modules/malloc-posix (configure.ac): ... and here.
12872
12873 2011-05-21  Bruno Haible  <bruno@clisp.org>
12874
12875         lstat, openat: Respect rules for use of AC_LIBOBJ.
12876         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12877         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12878         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12879         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12880         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12881         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12882         here.
12883         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12884
12885 2011-05-21  Bruno Haible  <bruno@clisp.org>
12886
12887         lseek: Move AC_LIBOBJ invocations to module description.
12888         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12889         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12890         * modules/lseek (configure.ac): ... to here.
12891
12892 2011-05-21  Bruno Haible  <bruno@clisp.org>
12893
12894         linkat: Move AC_LIBOBJ invocations to module description.
12895         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12896         here...
12897         * modules/linkat (configure.ac): ... to here.
12898
12899 2011-05-21  Bruno Haible  <bruno@clisp.org>
12900
12901         link: Respect rules for use of AC_LIBOBJ.
12902         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12903         * modules/link (configure.ac): ... to here.
12904
12905 2011-05-21  Bruno Haible  <bruno@clisp.org>
12906
12907         lchown: Move AC_LIBOBJ invocations to module description.
12908         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12909         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12910         * modules/lchown (configure.ac): ... to here.
12911
12912 2011-05-21  Bruno Haible  <bruno@clisp.org>
12913
12914         iswctype: Move AC_LIBOBJ invocations to module description.
12915         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12916         here...
12917         * modules/iswctype (configure.ac): ... to here.
12918
12919 2011-05-21  Bruno Haible  <bruno@clisp.org>
12920
12921         iswblank: Move AC_LIBOBJ invocations to module description.
12922         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12923         here...
12924         * modules/iswblank (configure.ac): ... to here.
12925
12926 2011-05-21  Bruno Haible  <bruno@clisp.org>
12927
12928         atanl: Move AC_LIBOBJ invocations to module description.
12929         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12930         * modules/atanl (configure.ac): ... to here.
12931
12932 2011-05-21  Bruno Haible  <bruno@clisp.org>
12933
12934         acosl: Move AC_LIBOBJ invocations to module description.
12935         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12936         * modules/acosl (configure.ac): ... to here.
12937
12938 2011-05-21  Bruno Haible  <bruno@clisp.org>
12939
12940         asinl: Respect rules for use of AC_LIBOBJ.
12941         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12942         * modules/asinl (configure.ac): ... to here.
12943
12944 2011-05-21  Bruno Haible  <bruno@clisp.org>
12945
12946         tanl: Move AC_LIBOBJ invocations to module description.
12947         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12948         * modules/tanl (configure.ac): ... to here.
12949
12950 2011-05-21  Bruno Haible  <bruno@clisp.org>
12951
12952         cosl: Move AC_LIBOBJ invocations to module description.
12953         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12954         * modules/cosl (configure.ac): ... to here.
12955
12956 2011-05-21  Bruno Haible  <bruno@clisp.org>
12957
12958         sinl: Move AC_LIBOBJ invocations to module description.
12959         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12960         * modules/sinl (configure.ac): ... to here.
12961
12962 2011-05-21  Bruno Haible  <bruno@clisp.org>
12963
12964         logl: Move AC_LIBOBJ invocations to module description.
12965         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12966         * modules/logl (configure.ac): ... to here.
12967
12968 2011-05-21  Bruno Haible  <bruno@clisp.org>
12969
12970         expl: Move AC_LIBOBJ invocations to module description.
12971         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12972         * modules/expl (configure.ac): ... to here.
12973
12974 2011-05-21  Bruno Haible  <bruno@clisp.org>
12975
12976         roundl: Move AC_LIBOBJ invocations to module description.
12977         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12978         * modules/roundl (configure.ac): ... to here.
12979
12980 2011-05-21  Bruno Haible  <bruno@clisp.org>
12981
12982         round: Move AC_LIBOBJ invocations to module description.
12983         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12984         * modules/round (configure.ac): ... to here.
12985
12986 2011-05-21  Bruno Haible  <bruno@clisp.org>
12987
12988         roundf: Move AC_LIBOBJ invocations to module description.
12989         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12990         * modules/roundf (configure.ac): ... to here.
12991
12992 2011-05-21  Bruno Haible  <bruno@clisp.org>
12993
12994         truncl: Move AC_LIBOBJ invocations to module description.
12995         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12996         * modules/truncl (configure.ac): ... to here.
12997
12998 2011-05-21  Bruno Haible  <bruno@clisp.org>
12999
13000         trunc: Move AC_LIBOBJ invocations to module description.
13001         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
13002         * modules/trunc (configure.ac): ... to here.
13003
13004 2011-05-21  Bruno Haible  <bruno@clisp.org>
13005
13006         truncf: Move AC_LIBOBJ invocations to module description.
13007         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
13008         * modules/truncf (configure.ac): ... to here.
13009
13010 2011-05-21  Bruno Haible  <bruno@clisp.org>
13011
13012         ceill: Move AC_LIBOBJ invocations to module description.
13013         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
13014         * modules/ceill (configure.ac): ... to here.
13015
13016 2011-05-21  Bruno Haible  <bruno@clisp.org>
13017
13018         ceil: Move AC_LIBOBJ invocations to module description.
13019         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
13020         * modules/ceil (configure.ac): ... to here.
13021
13022 2011-05-21  Bruno Haible  <bruno@clisp.org>
13023
13024         ceilf: Move AC_LIBOBJ invocations to module description.
13025         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
13026         * modules/ceilf (configure.ac): ... to here.
13027
13028 2011-05-21  Bruno Haible  <bruno@clisp.org>
13029
13030         floorl: Respect rules for use of AC_LIBOBJ.
13031         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
13032         * modules/floorl (configure.ac): ... to here.
13033
13034 2011-05-21  Bruno Haible  <bruno@clisp.org>
13035
13036         floor: Respect rules for use of AC_LIBOBJ.
13037         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
13038         * modules/floor (configure.ac): ... to here.
13039
13040 2011-05-21  Bruno Haible  <bruno@clisp.org>
13041
13042         floorf: Move AC_LIBOBJ invocations to module description.
13043         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
13044         * modules/floorf (configure.ac): ... to here.
13045
13046 2011-05-20  Bruno Haible  <bruno@clisp.org>
13047
13048         sqrtl: Respect rules for use of AC_LIBOBJ.
13049         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
13050         * modules/sqrtl (configure.ac): ... to here.
13051
13052 2011-05-20  Bruno Haible  <bruno@clisp.org>
13053
13054         ldexpl: Respect rules for use of AC_LIBOBJ.
13055         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
13056         * modules/ldexpl (configure.ac): ... to here.
13057
13058 2011-05-20  Bruno Haible  <bruno@clisp.org>
13059
13060         frexpl*: Respect rules for use of AC_LIBOBJ.
13061         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
13062         invocation from here...
13063         * modules/frexpl (configure.ac): ... to here.
13064         * modules/frexpl-nolibm (configure.ac): ... and here.
13065
13066 2011-05-20  Bruno Haible  <bruno@clisp.org>
13067
13068         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
13069         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
13070         invocation from here...
13071         * modules/frexp (configure.ac): ... to here.
13072         * modules/frexp-nolibm (configure.ac): ... and here.
13073
13074 2011-05-20  Bruno Haible  <bruno@clisp.org>
13075
13076         isnan: Respect rules for use of AC_LIBOBJ.
13077         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
13078         invocations here.
13079         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
13080         REPLACE_ISNAN.
13081         * modules/isnand (configure.ac): Likewise.
13082         * modules/isnanl (configure.ac): Likewise.
13083
13084 2011-05-20  Bruno Haible  <bruno@clisp.org>
13085
13086         isnanl*: Respect rules for use of AC_LIBOBJ.
13087         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
13088         invocation from here...
13089         * modules/isnanl (configure.ac): ... to here.
13090         * modules/isnanl-nolibm (configure.ac): ... and here.
13091
13092 2011-05-20  Bruno Haible  <bruno@clisp.org>
13093
13094         isnand*: Move AC_LIBOBJ invocations to module description.
13095         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
13096         invocation from here...
13097         * modules/isnand (configure.ac): ... to here.
13098         * modules/isnand-nolibm (configure.ac): ... and here.
13099
13100 2011-05-20  Bruno Haible  <bruno@clisp.org>
13101
13102         isnanf*: Move AC_LIBOBJ invocations to module description.
13103         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
13104         invocation from here...
13105         * modules/isnanf (configure.ac): ... to here.
13106         * modules/isnanf-nolibm (configure.ac): ... and here.
13107
13108 2011-05-20  Bruno Haible  <bruno@clisp.org>
13109
13110         isnan*: Separate the AC_LIBOBJ invocations.
13111         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
13112         AC_LIBOBJ invocation.
13113         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
13114         here.
13115         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
13116         AC_LIBOBJ invocation.
13117         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
13118         here.
13119         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
13120         AC_LIBOBJ invocation.
13121         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
13122         here.
13123         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
13124
13125 2011-05-08  Bruno Haible  <bruno@clisp.org>
13126
13127         isinf: Move AC_LIBOBJ invocations to module description.
13128         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
13129         * modules/isinf (configure.ac): ... to here.
13130
13131 2011-05-08  Bruno Haible  <bruno@clisp.org>
13132
13133         isfinite: Move AC_LIBOBJ invocations to module description.
13134         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
13135         * modules/isfinite (configure.ac): ... to here.
13136
13137 2011-05-08  Bruno Haible  <bruno@clisp.org>
13138
13139         isblank: Move AC_LIBOBJ invocations to module description.
13140         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
13141         here...
13142         * modules/isblank (configure.ac): ... to here.
13143
13144 2011-05-08  Bruno Haible  <bruno@clisp.org>
13145
13146         isapipe: Move AC_LIBOBJ invocations to module description.
13147         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
13148         gl_PREREQ_ISAPIPE invocations from here...
13149         * modules/isapipe (configure.ac): ... to here.
13150         (Depends-on): Update condition.
13151
13152 2011-05-08  Bruno Haible  <bruno@clisp.org>
13153
13154         ioctl: Move AC_LIBOBJ invocations to module description.
13155         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
13156         invocations from here...
13157         * modules/ioctl (configure.ac): ... to here.
13158         (Depends-on): Update condition.
13159
13160 2011-05-08  Bruno Haible  <bruno@clisp.org>
13161
13162         imaxdiv: Move AC_LIBOBJ invocations to module description.
13163         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
13164         invocations from here...
13165         * modules/imaxdiv (configure.ac): ... to here.
13166
13167 2011-05-08  Bruno Haible  <bruno@clisp.org>
13168
13169         imaxabs: Move AC_LIBOBJ invocations to module description.
13170         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
13171         invocations from here...
13172         * modules/imaxabs (configure.ac): ... to here.
13173
13174 2011-05-08  Bruno Haible  <bruno@clisp.org>
13175
13176         getaddrinfo: Move AC_LIBOBJ invocations to module description.
13177         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
13178         AC_LIBOBJ invocations from here...
13179         * modules/getaddrinfo (configure.ac): ... to here.
13180         (Depends-on): Add conditions.
13181
13182 2011-05-08  Bruno Haible  <bruno@clisp.org>
13183
13184         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13185         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
13186         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13187         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
13188         (gl_PREREQ_INET_PTON): ... from here.
13189         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
13190         gl_PREREQ_INET_PTON here.
13191         (Depends-on): Update condition.
13192
13193 2011-05-08  Bruno Haible  <bruno@clisp.org>
13194
13195         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
13196         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
13197         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
13198         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
13199         (gl_PREREQ_INET_NTOP): ... from here.
13200         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
13201         gl_PREREQ_INET_NTOP here.
13202         (Depends-on): Update condition.
13203
13204 2011-05-08  Bruno Haible  <bruno@clisp.org>
13205
13206         iconv_open: Move AC_LIBOBJ invocations to module description.
13207         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
13208         AC_LIBOBJ invocations from here...
13209         * modules/iconv_open (configure.ac): ... to here.
13210
13211 2011-05-08  Bruno Haible  <bruno@clisp.org>
13212
13213         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
13214         If module 'iconv_open' is among the main modules and module
13215         'iconv_open-utf' is among the tests dependencies, then
13216         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
13217         return the special iconv_t values. Therefore iconv() and iconv_close()
13218         must support these special iconv_t values, already in lib, not only in
13219         tests.
13220         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
13221         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
13222         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
13223         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
13224         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
13225         (Depends-on): Add the dependencies of iconv_open-utf.
13226         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
13227         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
13228         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
13229
13230 2011-05-08  Bruno Haible  <bruno@clisp.org>
13231
13232         group-member: Move AC_LIBOBJ invocations to module description.
13233         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
13234         gl_PREREQ_GROUP_MEMBER invocations from here...
13235         * modules/group-member (configure.ac): ... to here.
13236
13237 2011-05-08  Bruno Haible  <bruno@clisp.org>
13238
13239         grantpt: Move AC_LIBOBJ invocations to module description.
13240         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
13241         invocations from here...
13242         * modules/grantpt (configure.ac): ... to here.
13243
13244 2011-05-08  Bruno Haible  <bruno@clisp.org>
13245
13246         glob: Move AC_LIBOBJ invocations to module description.
13247         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
13248         from here...
13249         * modules/glob (configure.ac): ... to here.
13250
13251 2011-05-08  Bruno Haible  <bruno@clisp.org>
13252
13253         getusershell: Move AC_LIBOBJ invocations to module description.
13254         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
13255         Move AC_LIBOBJ invocation from here...
13256         * modules/getusershell (configure.ac): ... to here.
13257         (Depends-on): Update condition.
13258
13259 2011-05-08  Bruno Haible  <bruno@clisp.org>
13260
13261         gettimeofday: Move AC_LIBOBJ invocations to module description.
13262         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
13263         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
13264         gl_PREREQ_GETTIMEOFDAY invocations from here...
13265         * modules/gettimeofday (configure.ac): ... to here.
13266
13267 2011-05-08  Bruno Haible  <bruno@clisp.org>
13268
13269         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
13270         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
13271         just gl_FUNC_TZSET.
13272         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
13273         (gl_FUNC_TZSET_CLOBBER): Remove actions.
13274         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
13275         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
13276
13277 2011-05-08  Bruno Haible  <bruno@clisp.org>
13278
13279         getsubopt: Move AC_LIBOBJ invocations to module description.
13280         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
13281         gl_PREREQ_GETSUBOPT invocations from here...
13282         * modules/getsubopt (configure.ac): ... to here.
13283
13284 2011-05-08  Bruno Haible  <bruno@clisp.org>
13285
13286         getpass-gnu: Move AC_LIBOBJ invocations to module description.
13287         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
13288         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
13289         * modules/getpass-gnu (configure.ac): ... to here.
13290
13291 2011-05-08  Bruno Haible  <bruno@clisp.org>
13292
13293         getpass: Move AC_LIBOBJ invocations to module description.
13294         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
13295         gl_PREREQ_GETPASS invocations from here...
13296         * modules/getpass (configure.ac): ... to here.
13297
13298 2011-05-08  Bruno Haible  <bruno@clisp.org>
13299
13300         getpagesize: Move AC_LIBOBJ invocations to module description.
13301         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
13302         from here...
13303         * modules/getpagesize (configure.ac): ... to here.
13304
13305 2011-05-08  Bruno Haible  <bruno@clisp.org>
13306
13307         getopt: Move AC_LIBOBJ invocations to module description.
13308         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
13309         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
13310         invocations from here...
13311         * modules/getopt-gnu (configure.ac): ... to here.
13312         * modules/getopt-posix (configure.ac): ... and here.
13313         (Depends-on): Update condition.
13314
13315 2011-05-08  Bruno Haible  <bruno@clisp.org>
13316
13317         getopt, argp: Respect rules for use of AC_LIBOBJ.
13318         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
13319         (gl_REPLACE_GETOPT_ALWAYS): New macro.
13320         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
13321         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
13322
13323 2011-05-08  Bruno Haible  <bruno@clisp.org>
13324
13325         getlogin_r: Move AC_LIBOBJ invocations to module description.
13326         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
13327         gl_PREREQ_GETLOGIN_R invocations from here...
13328         * modules/getlogin_r (configure.ac): ... to here.
13329
13330 2011-05-08  Bruno Haible  <bruno@clisp.org>
13331
13332         getlogin: Move AC_LIBOBJ invocations to module description.
13333         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
13334         here...
13335         * modules/getlogin (configure.ac): ... to here.
13336
13337 2011-05-08  Bruno Haible  <bruno@clisp.org>
13338
13339         getloadavg: Move AC_LIBOBJ invocations to module description.
13340         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
13341         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
13342         * modules/getloadavg (configure.ac): ... to here.
13343
13344 2011-05-08  Bruno Haible  <bruno@clisp.org>
13345
13346         gethrxtime: Move AC_LIBOBJ invocations to module description.
13347         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
13348         LIB_GETHRXTIME from here...
13349         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
13350         invocations from here...
13351         * modules/gethrxtime (configure.ac): ... to here.
13352
13353 2011-05-08  Bruno Haible  <bruno@clisp.org>
13354
13355         gethostname: Move AC_LIBOBJ invocations to module description.
13356         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
13357         gl_PREREQ_GETHOSTNAME invocations from here...
13358         * modules/gethostname (configure.ac): ... to here.
13359
13360 2011-05-08  Bruno Haible  <bruno@clisp.org>
13361
13362         getgroups: Move AC_LIBOBJ invocations to module description.
13363         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
13364         here...
13365         * modules/getgroups (configure.ac): ... to here.
13366
13367 2011-05-08  Bruno Haible  <bruno@clisp.org>
13368
13369         getdtablesize: Move AC_LIBOBJ invocations to module description.
13370         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
13371         invocation from here...
13372         * modules/getdtablesize (configure.ac): ... to here.
13373
13374 2011-05-08  Bruno Haible  <bruno@clisp.org>
13375
13376         getdomainname: Move AC_LIBOBJ invocations to module description.
13377         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
13378         gl_PREREQ_GETDOMAINNAME invocations from here...
13379         * modules/getdomainname (configure.ac): ... to here.
13380
13381 2011-05-08  Bruno Haible  <bruno@clisp.org>
13382
13383         getline: Move AC_LIBOBJ invocations to module description.
13384         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
13385         invocations from here...
13386         * modules/getline (configure.ac): ... to here.
13387
13388 2011-05-08  Bruno Haible  <bruno@clisp.org>
13389
13390         getline: Simplify.
13391         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
13392         It's already handled through the module dependency.
13393
13394 2011-05-08  Bruno Haible  <bruno@clisp.org>
13395
13396         getdelim: Move AC_LIBOBJ invocations to module description.
13397         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
13398         and gl_PREREQ_GETDELIM invocations from here...
13399         * modules/getdelim (configure.ac): ... to here.
13400         (Depends-on): Fix condition.
13401
13402 2011-05-08  Bruno Haible  <bruno@clisp.org>
13403
13404         getcwd: Move AC_LIBOBJ invocations to module description.
13405         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
13406         invocations from here...
13407         * modules/getcwd (configure.ac): ... to here.
13408
13409 2011-05-08  Bruno Haible  <bruno@clisp.org>
13410
13411         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
13412         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
13413         here...
13414         * modules/getcwd-lgpl (configure.ac): ... to here.
13415
13416 2011-05-07  Bruno Haible  <bruno@clisp.org>
13417
13418         crypto/gc: Move AC_LIBOBJ invocations to module description.
13419         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
13420         * modules/crypto/gc (configure.ac): ... to here.
13421
13422 2011-05-07  Bruno Haible  <bruno@clisp.org>
13423
13424         fwriting: Move AC_LIBOBJ invocations to module description.
13425         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
13426         here...
13427         * modules/fwriting (configure.ac): ... to here.
13428
13429 2011-05-07  Bruno Haible  <bruno@clisp.org>
13430
13431         fwritable: Move AC_LIBOBJ invocations to module description.
13432         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
13433         here...
13434         * modules/fwritable (configure.ac): ... to here.
13435
13436 2011-05-07  Bruno Haible  <bruno@clisp.org>
13437
13438         futimens: Move AC_LIBOBJ invocations to module description.
13439         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
13440         here...
13441         * modules/futimens (configure.ac): ... to here.
13442
13443 2011-05-07  Bruno Haible  <bruno@clisp.org>
13444
13445         ftruncate: Move AC_LIBOBJ invocations to module description.
13446         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13447         gl_PREREQ_FTRUNCATE invocations from here...
13448         * modules/ftruncate (configure.ac): ... to here.
13449
13450 2011-05-07  Bruno Haible  <bruno@clisp.org>
13451
13452         fsync: Move AC_LIBOBJ invocations to module description.
13453         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13454         invocations from here...
13455         * modules/fsync (configure.ac): ... to here.
13456
13457 2011-05-07  Bruno Haible  <bruno@clisp.org>
13458
13459         fsusage: Move AC_LIBOBJ invocations to module description.
13460         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13461         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13462         * modules/fsusage (configure.ac): ... to here.
13463
13464 2011-05-07  Bruno Haible  <bruno@clisp.org>
13465
13466         freopen: Move AC_LIBOBJ invocations to module description.
13467         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13468         invocations from here...
13469         * modules/freopen (configure.ac): ... to here.
13470
13471 2011-05-07  Bruno Haible  <bruno@clisp.org>
13472
13473         free: Move AC_LIBOBJ invocations to module description.
13474         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13475         invocations from here...
13476         * modules/free (configure.ac): ... to here.
13477
13478 2011-05-07  Bruno Haible  <bruno@clisp.org>
13479
13480         freadable: Move AC_LIBOBJ invocations to module description.
13481         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13482         here...
13483         * modules/freadable (configure.ac): ... to here.
13484
13485 2011-05-07  Bruno Haible  <bruno@clisp.org>
13486
13487         fpurge: Move AC_LIBOBJ invocations to module description.
13488         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13489         invocations from here...
13490         * modules/fpurge (configure.ac): ... to here.
13491
13492 2011-05-07  Bruno Haible  <bruno@clisp.org>
13493
13494         fpending: Move AC_LIBOBJ invocations to module description.
13495         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13496         gl_FUNC_FPENDING.
13497         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13498         invocations from here...
13499         * modules/fpending (configure.ac): ... to here.
13500
13501 2011-05-07  Bruno Haible  <bruno@clisp.org>
13502
13503         fopen: Move AC_LIBOBJ invocations to module description.
13504         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13505         invocations from here...
13506         * modules/fopen (configure.ac): ... to here.
13507
13508 2011-05-07  Bruno Haible  <bruno@clisp.org>
13509
13510         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13511         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13512         gl_FUNC_FNMATCH_POSIX.
13513         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13514         invocations from here...
13515         * modules/fnmatch (configure.ac): ... to here.
13516         * modules/fnmatch-gnu (configure.ac): ... and here.
13517
13518 2011-05-07  Bruno Haible  <bruno@clisp.org>
13519
13520         flock: Move AC_LIBOBJ invocations to module description.
13521         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13522         invocations from here...
13523         * modules/flock (configure.ac): ... to here.
13524
13525 2011-05-07  Bruno Haible  <bruno@clisp.org>
13526
13527         fileblocks: Move AC_LIBOBJ invocations to module description.
13528         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13529         gl_PREREQ_FILEBLOCKS invocations from here...
13530         * modules/fileblocks (configure.ac): ... to here.
13531
13532 2011-05-06  Bruno Haible  <bruno@clisp.org>
13533
13534         fflush: Move AC_LIBOBJ invocations to module description.
13535         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13536         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13537         invocations from here...
13538         * modules/fflush (configure.ac): ... to here.
13539
13540 2011-05-06  Bruno Haible  <bruno@clisp.org>
13541
13542         fdopendir: Move AC_LIBOBJ invocations to module description.
13543         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13544         here...
13545         * modules/fdopendir (configure.ac): ... to here.
13546         (Depends-on): Improve conditions.
13547
13548 2011-05-06  Bruno Haible  <bruno@clisp.org>
13549
13550         _Exit: Move AC_LIBOBJ invocations to module description.
13551         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13552         invocations from here...
13553         * modules/_Exit (configure.ac): ... to here.
13554
13555 2011-05-21  Bruno Haible  <bruno@clisp.org>
13556
13557         euidaccess: Respect rules for use of AC_LIBOBJ.
13558         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13559         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13560         from here...
13561         * modules/euidaccess (configure.ac): ... to here.
13562
13563 2011-05-06  Bruno Haible  <bruno@clisp.org>
13564
13565         error: Move AC_LIBOBJ invocations to module description.
13566         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13567         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13568         invocations from here...
13569         * modules/error (configure.ac): ... to here.
13570
13571 2011-05-06  Bruno Haible  <bruno@clisp.org>
13572
13573         duplocale: Move AC_LIBOBJ invocations to module description.
13574         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13575         gl_PREREQ_DUPLOCALE invocations from here...
13576         * modules/duplocale (configure.ac): ... to here.
13577
13578 2011-05-05  Bruno Haible  <bruno@clisp.org>
13579
13580         dirfd: Move AC_LIBOBJ invocations to module description.
13581         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13582         gl_FUNC_DIRFD.
13583         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13584         here...
13585         * modules/dirfd (configure.ac): ... to here.
13586         (Depends-on): Fix condition.
13587
13588 2011-05-05  Bruno Haible  <bruno@clisp.org>
13589
13590         chown: Respect rules for use of AC_LIBOBJ.
13591         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13592         * modules/chown (configure.ac): ... to here.
13593
13594 2011-05-05  Bruno Haible  <bruno@clisp.org>
13595
13596         chdir-long: Move AC_LIBOBJ invocations to module description.
13597         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13598         gl_PREREQ_CHDIR_LONG invocations from here...
13599         * modules/chdir-long (configure.ac): ... to here.
13600
13601 2011-05-05  Bruno Haible  <bruno@clisp.org>
13602
13603         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13604         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13605         from here...
13606         * modules/canonicalize-lgpl (configure.ac): ... to here.
13607
13608 2011-05-05  Bruno Haible  <bruno@clisp.org>
13609
13610         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13611         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13612         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13613         REPLACE_CALLOC.
13614         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13615         * modules/calloc-gnu (configure.ac): Likewise.
13616
13617 2011-05-05  Bruno Haible  <bruno@clisp.org>
13618
13619         btowc: Move AC_LIBOBJ invocations to module description.
13620         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13621         invocations from here...
13622         * modules/btowc (configure.ac): ... to here.
13623
13624 2011-05-21  Bruno Haible  <bruno@clisp.org>
13625
13626         atexit: Move AC_LIBOBJ invocations to module description.
13627         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13628         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13629         here...
13630         * modules/atexit (configure.ac): ... to here.
13631
13632 2011-05-05  Bruno Haible  <bruno@clisp.org>
13633
13634         atoll: Move AC_LIBOBJ invocations to module description.
13635         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13636         invocations from here...
13637         * modules/atoll (configure.ac): ... to here.
13638
13639 2011-05-05  Bruno Haible  <bruno@clisp.org>
13640
13641         argz: Move AC_LIBOBJ invocations to module description.
13642         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13643         * modules/argz (configure.ac): ... to here.
13644
13645 2011-05-05  Bruno Haible  <bruno@clisp.org>
13646
13647         alphasort: Move AC_LIBOBJ invocations to module description.
13648         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13649         gl_PREREQ_ALPHASORT invocations from here...
13650         * modules/alphasort (configure.ac): ... to here.
13651
13652 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13653
13654         verify: new macro verify_expr; verify_true deprecated
13655         * NEWS: Mention this.
13656         * doc/verify.texi (Compile-time Assertions): Document this.
13657         * lib/verify.h (verify_true): Deprecate.
13658         (verify_expr): New macro.
13659         * tests/test-verify.c (function): Test verify_expr.
13660
13661 2011-06-14  Jim Meyering  <meyering@redhat.com>
13662
13663         init.sh: give more portable redirection-related advice in a comment
13664         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13665         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13666         for lots of discussion.  Stefano Lattarini suggested the solution
13667         of putting "9>&2" after the command.  Reported by Bruno Haible.
13668
13669 2011-06-13  Bruno Haible  <bruno@clisp.org>
13670
13671         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13672         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13673         'none'.
13674
13675 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13676
13677         ftoastr: use strtof only if HAVE_STRTOF
13678         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13680         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13681         * modules/ftoastr (configure.ac): Check for strtof.
13682
13683 2011-06-13  Bruno Haible  <bruno@clisp.org>
13684
13685         gnulib-tool: Addendum to 2011-06-08 commit.
13686         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13687         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13688
13689 2011-06-13  Bruno Haible  <bruno@clisp.org>
13690
13691         fseeko: Provide a non-inline replacement of fseek().
13692         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13693         * modules/fseeko (Depends-on): Add fseek.
13694         * modules/fseek (License): Change to LGPLv2+.
13695
13696 2011-06-13  Bruno Haible  <bruno@clisp.org>
13697
13698         ftello: Provide a non-inline replacement of ftell().
13699         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13700         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13701         not have ftello() (such as on mingw).
13702         * modules/ftello (Depends-on): Add ftell.
13703         * modules/ftell (License): Change to LGPLv2+.
13704
13705 2011-05-07  Bruno Haible  <bruno@clisp.org>
13706
13707         ftell: Move AC_LIBOBJ invocations to module description.
13708         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13709         * modules/ftell (configure.ac): ... to here.
13710
13711 2011-05-07  Bruno Haible  <bruno@clisp.org>
13712
13713         ftello: Respect rules for use of AC_LIBOBJ.
13714         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13715         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13716         here...
13717         * modules/ftello (configure.ac): ... to here.
13718
13719 2011-05-07  Bruno Haible  <bruno@clisp.org>
13720
13721         fseeko: Simplify.
13722         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13723         (gl_FUNC_FSEEKO): Inline it here.
13724
13725 2011-05-07  Bruno Haible  <bruno@clisp.org>
13726
13727         fseek: Move AC_LIBOBJ invocations to module description.
13728         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13729         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13730         * modules/fseek (configure.ac): ... to here.
13731
13732 2011-05-07  Bruno Haible  <bruno@clisp.org>
13733
13734         fseek: Respect rules for use of AC_LIBOBJ.
13735         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13736         here...
13737         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13738
13739 2011-05-07  Bruno Haible  <bruno@clisp.org>
13740
13741         fseeko: Respect rules for use of AC_LIBOBJ.
13742         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13743         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13744         here...
13745         * modules/fseeko (configure.ac): ... to here.
13746
13747 2011-06-13  Bruno Haible  <bruno@clisp.org>
13748
13749         gnulib-tool: Allow comments in the 'Depends-on' section.
13750         * doc/gnulib.texi (Module description): Mention comment syntax in the
13751         Depends-on section.
13752         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13753
13754 2011-06-13  Bruno Haible  <bruno@clisp.org>
13755
13756         file-set.h: guard __attibute__ use, now that it's not always defined
13757         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13758         versions that support it.  This fixes a coreutils build failure with
13759         the vendor cc on HP-UX 11.31.
13760
13761 2011-06-12  Bruno Haible  <bruno@clisp.org>
13762
13763         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13764         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13765         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13766         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13767         (acl, aclsort): New declarations.
13768         (aclv_nontrivial): New declaration.
13769         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13770         (file_has_acl): Read also the second kind of HP-UX ACLs.
13771         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13772         kind of HP-UX ACLs if the first kind fails.
13773         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13774         second kind of HP-UX ACLs.
13775         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13776         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13777         agree.
13778         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13779         hpuxjfs.
13780         Handle hpuxjfs.
13781         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13782         hpuxjfs.
13783         Handle hpuxjfs.
13784         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13785         (func_test_same_acls): Use both lsacl and getacl.
13786         Handle hpuxjfs.
13787         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13788         (func_test_same_acls): Use both lsacl and getacl.
13789         Handle hpuxjfs.
13790
13791 2011-06-12  Bruno Haible  <bruno@clisp.org>
13792
13793         acl: Complete the 2010-08-10 fix.
13794         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13795         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13796         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13797         explicitly.
13798         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13799         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13800
13801 2011-06-12  Bruno Haible  <bruno@clisp.org>
13802
13803         spawn-pipe tests: Comments.
13804         * tests/test-spawn-pipe-child.c (main): Update comment.
13805         Reported by James Youngman <jay@gnu.org>.
13806
13807 2011-06-11  James Youngman  <jay@gnu.org>
13808
13809         New module 'stat-size'.
13810         * modules/stat-size: New module.  Provides macros for accessing
13811         file size information in instances of struct stat.  Depends on the
13812         fileblocks module because it calls st_blocks.
13813         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13814         * doc/gnulib.texi: Include stat-size.texi.
13815         * doc/stat-size.texi: Documentation for this module.
13816         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13817         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13818         AC_STRUCT_ST_BLOCKS.
13819
13820 2011-06-09  Bruno Haible  <bruno@clisp.org>
13821
13822         thread: Support pthreads-win32.
13823         * lib/glthread/thread.h (gl_thread_self): Define differently on
13824         pthreads-win32.
13825         (gl_null_thread): New declaration.
13826         (gl_thread_self_pointer): New macro.
13827         * lib/glthread/thread.c (gl_null_thread): New constant.
13828         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13829         gl_thread_self.
13830         * tests/test-tls.c: Likewise.
13831         Suggested by Paul Eggert. Reported by Eric Blake.
13832
13833 2011-06-09  Bruno Haible  <bruno@clisp.org>
13834
13835         thread: Fix confusion between NULL and 0.
13836         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13837         Reported by Paul Eggert.
13838
13839 2011-06-09  Bruno Haible  <bruno@clisp.org>
13840
13841         spawn-pipe tests: Avoid test failure on HP-UX 11.
13842         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13843         is closed.
13844
13845 2011-06-09  Bruno Haible  <bruno@clisp.org>
13846
13847         acl tests: Fix compilation error on HP-UX 11.
13848         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13849
13850 2011-06-09  Bruno Haible  <bruno@clisp.org>
13851
13852         rmdir: Avoid test failure on HP-UX 10.20.
13853         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13854         EEXIST.
13855
13856 2011-06-08  Eric Blake  <eblake@redhat.com>
13857
13858         perror: fix test on mingw
13859         * modules/perror-tests (Depends-on): Add dup2.
13860
13861         strerror_r-posix: fix on MacOS
13862         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13863         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13864         logic bug.
13865         * lib/strerror_r.c (strerror_r): Fix the bug.
13866         * lib/strerror.c (strerror): Likewise.
13867         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13868         problem.
13869         * doc/posix-functions/strerror.texi (strerror): Likewise.
13870         * doc/posix-functions/perror.texi (perror): Likewise.
13871         * tests/test-strerror.c (main): Enhance test.
13872         * tests/test-strerror_r.c (main): Likewise.
13873
13874 2011-06-08  Bruno Haible  <bruno@clisp.org>
13875
13876         gnulib-tool: Better isolation between different gnulib-tool invocations.
13877         * gnulib-tool: New option --witness-c-macro.
13878         (witness_c_macro): New variable.
13879         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13880         AM_CPPFLAGS define it as a C macro.
13881         (func_emit_tests_Makefile_am): Likewise.
13882         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13883         read it from there.
13884         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13885         m4_define, not AC_DEFUN.
13886         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13887         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13888         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13889         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13890         s|...|...|, to substitute the values of the GNULIB_* module indicator
13891         variables.
13892         * modules/dirent (Makefile.am): Likewise.
13893         * modules/fcntl-h (Makefile.am): Likewise.
13894         * modules/iconv-h (Makefile.am): Likewise.
13895         * modules/langinfo (Makefile.am): Likewise.
13896         * modules/locale (Makefile.am): Likewise.
13897         * modules/math (Makefile.am): Likewise.
13898         * modules/netdb (Makefile.am): Likewise.
13899         * modules/poll-h (Makefile.am): Likewise.
13900         * modules/pty (Makefile.am): Likewise.
13901         * modules/search (Makefile.am): Likewise.
13902         * modules/signal (Makefile.am): Likewise.
13903         * modules/spawn (Makefile.am): Likewise.
13904         * modules/stdio (Makefile.am): Likewise.
13905         * modules/stdlib (Makefile.am): Likewise.
13906         * modules/string (Makefile.am): Likewise.
13907         * modules/sys_ioctl (Makefile.am): Likewise.
13908         * modules/sys_select (Makefile.am): Likewise.
13909         * modules/sys_socket (Makefile.am): Likewise.
13910         * modules/sys_stat (Makefile.am): Likewise.
13911         * modules/sys_times (Makefile.am): Likewise.
13912         * modules/sys_utsname (Makefile.am): Likewise.
13913         * modules/sys_wait (Makefile.am): Likewise.
13914         * modules/termios (Makefile.am): Likewise.
13915         * modules/time (Makefile.am): Likewise.
13916         * modules/unistd (Makefile.am): Likewise.
13917         * modules/wchar (Makefile.am): Likewise.
13918
13919 2011-06-08  Eric Blake  <eblake@redhat.com>
13920
13921         strerror: simplify replacement
13922         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13923         * modules/strerror (configure.ac): No prereqs needed here...
13924         * modules/strerror-override (configure.ac): ...but this needs it.
13925         (Files): Add file for needed prereq macro.
13926
13927 2011-06-08  Bruno Haible  <bruno@clisp.org>
13928
13929         strerror_r-posix: Tweaks.
13930         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13931         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13932         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13933         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13934         (gl_FUNC_STRERROR_R): ... to here.
13935         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13936
13937 2011-06-07  Eric Blake  <eblake@redhat.com>
13938
13939         perror: document fixed bugs
13940         * doc/posix-functions/perror.texi (perror): Document recent
13941         patches.
13942
13943 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         stat-time: get_stat_birthtime failure is better-defined
13946         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13947         return a timestamp whose tv_sec and tv_nsec values are both -1.
13948         Previously, the spec said only that the tv_nsec value was negative.
13949         This upward-compatible change simplifies GNU tar a bit.
13950
13951 2011-06-07  Eric Blake  <eblake@redhat.com>
13952
13953         strerror_r-posix: work around cygwin 1.7.9
13954         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13955         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13956         bug without replacing strerror_r.
13957         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13958         strerror_r is buggy, but without requiring strerror_r compilation.
13959         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13960
13961         test-perror: relax test to ignore cygwin bug
13962         * tests/test-perror2.c (main): Relax test on requiring detection
13963         of stream errors, and use unbuffered stream.
13964         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13965         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13966         * doc/posix-functions/fputc.texi (fputc): Likewise.
13967         * doc/posix-functions/fputs.texi (fputs): Likewise.
13968         * doc/posix-functions/fputws.texi (fputws): Likewise.
13969         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13970         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13971         * doc/posix-functions/getopt.texi (getopt): Likewise.
13972         * doc/posix-functions/perror.texi (perror): Likewise.
13973         * doc/posix-functions/printf.texi (printf): Likewise.
13974         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13975         * doc/posix-functions/psignal.texi (psignal): Likewise.
13976         * doc/posix-functions/putc.texi (putc): Likewise.
13977         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13978         Likewise.
13979         * doc/posix-functions/putchar.texi (putchar): Likewise.
13980         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13981         Likewise.
13982         * doc/posix-functions/puts.texi (puts): Likewise.
13983         * doc/posix-functions/putwc.texi (putwc): Likewise.
13984         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13985         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13986         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13987         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13988         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13989         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13990         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13991         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13992
13993 2011-05-22  Bruno Haible  <bruno@clisp.org>
13994
13995         strerror: Move AC_LIBOBJ invocations to module description.
13996         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13997         gl_PREREQ_STRERROR invocations from here...
13998         * modules/strerror (configure.ac): ... to here.
13999
14000 2011-05-21  Bruno Haible  <bruno@clisp.org>
14001
14002         perror: Use common idiom.
14003         * modules/perror (configure.ac): Reorder statements.
14004
14005 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14006
14007         tests: fix usage message in 'mktempd_'
14008         * tests/init.sh (mktempd_): In the usage message, use literal
14009         'mktempd_', not '$ME' (which is even undefined), as the name of
14010         the subroutine.
14011
14012 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
14013
14014         tests init: new function 'fatal_', for hard errors
14015         Before this patch, the only way offered by tests/init.sh to
14016         properly signal a hard error was the `framework_failure_'
14017         function.  But the error message issued by that function,
14018         as its name would suggest, refers to a set-up failure in the
14019         testsuite, while hard errors can obviously also be due to
14020         other reasons.  The best way to fix this inconsistency is to
14021         introduce a new function with a more general error message.
14022         * tests/init.sh (fatal_): New function.
14023
14024 2011-06-06  Eric Blake  <eblake@redhat.com>
14025
14026         canonicalize-lgpl: use common idiom
14027         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
14028         over newer POSIX -Rf.
14029         Reported by Bruno Haible.
14030
14031         canonicalize-lgpl: work around AIX realpath bug
14032         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
14033         * doc/posix-functions/realpath.texi (realpath): Document it.
14034         Reported by Bruno Haible.
14035
14036         strerror: work around FreeBSD bug
14037         * lib/strerror.c (strerror): Special case 0.
14038         Reported by Bruno Haible.
14039
14040         strerror-override: avoid bloating errno module
14041         * modules/errno (Files, configure.ac): Move replacement strings...
14042         * modules/strerror-override: ...to new module.
14043         * modules/strerror (Depends-on): Add strerror-override.
14044         * modules/strerror_r-posix (Depends-on): Likewise.
14045         * MODULES.html.sh: Document new module.
14046         Reported by Bruno Haible.
14047
14048 2011-06-06  Bruno Haible  <bruno@clisp.org>
14049
14050         spawn-pipe tests: Rename program.
14051         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
14052         * tests/test-spawn-pipe-child.c: Update comment.
14053         * tests/test-spawn-pipe.sh: Update.
14054         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
14055
14056         spawn-pipe tests: Link the child program only against libc.
14057         * tests/test-spawn-pipe-child.c: New file, extracted from
14058         tests/test-spawn-pipe.c.
14059         (main): Expect only one argument.
14060         (is_open): New function, copied from tests/test-pipe.c.
14061         * tests/test-spawn-pipe.c: Don't include <errno.h>.
14062         (child_main): Remove function.
14063         (test_pipe): Pass only one argument to the child program.
14064         (main): Remove child process code. Expect the child program's name as
14065         first argument.
14066         * tests/test-spawn-pipe.sh: Pass the child program's name as first
14067         argument.
14068         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
14069         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
14070         test-spawn-pipe-child against no libraries.
14071
14072 2011-06-06  Bruno Haible  <bruno@clisp.org>
14073
14074         careadlinkat: Avoid mismatch between ssize_t and int.
14075         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
14076         * lib/careadlinkat.c (careadlinkatcwd): Define always.
14077
14078 2011-06-06  Jim Meyering  <meyering@redhat.com>
14079
14080         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
14081         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
14082         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
14083
14084 2011-06-05  Bruno Haible  <bruno@clisp.org>
14085
14086         ansi-c++-opt: Interoperability with libtool.
14087         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
14088         set the variable to "no", not to ":".
14089         * NEWS: Mention the change.
14090
14091 2011-06-05  Bruno Haible  <bruno@clisp.org>
14092
14093         acl: Fix test failure on AIX 7.
14094         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
14095         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
14096
14097 2011-06-05  Bruno Haible  <bruno@clisp.org>
14098
14099         pipe-filter-ii: Fix test failure on AIX and IRIX.
14100         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
14101         with EAGAIN, retry with a smaller buffer size.
14102
14103 2011-06-05  Bruno Haible  <bruno@clisp.org>
14104
14105         localename: Fix link dependencies.
14106         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
14107         * modules/localename-tests (Makefile.am): Link test-localename with
14108         $(LIBTHREAD).
14109
14110 2011-06-05  Bruno Haible  <bruno@clisp.org>
14111
14112         error: Avoid gcc warning.
14113         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
14114
14115 2011-06-05  Bruno Haible  <bruno@clisp.org>
14116
14117         unsetenv: Avoid gcc warning.
14118         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
14119
14120 2011-06-05  Bruno Haible  <bruno@clisp.org>
14121
14122         setenv: Avoid gcc warning.
14123         * lib/setenv.c (setenv): Provide declaration if system lacks it.
14124
14125 2011-06-05  Bruno Haible  <bruno@clisp.org>
14126
14127         sys_select: Ensure memset is declared also on AIX 7.
14128         * lib/sys_select.in.h: Include <string.h> also on AIX.
14129         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
14130         self-contained also on AIX 7.1.
14131
14132 2011-06-04  Jim Meyering  <meyering@redhat.com>
14133
14134         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
14135         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
14136         function name, "error".
14137         (_gl_translatable_diag_func_re): New configurable variable.
14138
14139 2011-06-04  Bruno Haible  <bruno@clisp.org>
14140
14141         getopt: Avoid gcc warning.
14142         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
14143
14144 2011-06-04  Bruno Haible  <bruno@clisp.org>
14145
14146         strerror_r: Fix comments.
14147         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
14148         commit.
14149
14150 2011-06-04  Bruno Haible  <bruno@clisp.org>
14151
14152         perror: Fix compilation error.
14153         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
14154         Undefine fprintf, not sprintf.
14155         * modules/perror (Depends-on): Remove intprops, verify.
14156
14157 2011-06-04  Bruno Haible  <bruno@clisp.org>
14158
14159         setlocale: Enable replacement on Cygwin 1.5.
14160         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
14161         Cygwin 1.5.x.
14162         * doc/posix-functions/setlocale.texi: Mention that the problem with the
14163         LC_CTYPE category also exists on Cygwin 1.5.x.
14164
14165 2011-06-04  Bruno Haible  <bruno@clisp.org>
14166
14167         strerror-override: Don't disable symbol renamings.
14168         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
14169         * lib/strerror-override.c: Include config.h.
14170         (strerror_override): Don't undefine.
14171
14172 2011-06-03  Bruno Haible  <bruno@clisp.org>
14173
14174         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
14175         * lib/localename.h: Update copyright header.
14176         * lib/localename.c: Likewise.
14177         * lib/relocatable.h: Likewise.
14178         * lib/relocatable.c: Likewise.
14179
14180 2011-06-02  Bruno Haible  <bruno@clisp.org>
14181
14182         doc: Fix a module name.
14183         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
14184
14185 2011-06-02  Bruno Haible  <bruno@clisp.org>
14186
14187         pipe2: Remove dependency on 'nonblocking' module.
14188         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
14189         O_NONBLOCK is defined by gnulib.
14190         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
14191         is zero.
14192         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
14193         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
14194         defined by gnulib.
14195         (get_nonblocking_flag): New function.
14196         (main): Test O_NONBLOCK flag only if it is nonzero.
14197         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
14198
14199 2011-06-03  Jim Meyering  <meyering@redhat.com>
14200
14201         maint: three new prohibit-header-without-use rules
14202         Prohibit use of cloexec.h, posixver.h, same.h without use.
14203         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
14204         (sc_prohibit_posixver_without_use): Likewise.
14205         (sc_prohibit_same_without_use): Likewise.
14206
14207 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14208
14209         allocator: 'die' routine is now given requested size
14210         * lib/allocator.h (struct allocator.die): New size arg.
14211         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
14212         If the actual problem is an ssize_t limitation, not a size_t or
14213         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
14214
14215 2011-06-01  Eric Blake  <eblake@redhat.com>
14216
14217         strerror: drop strerror_r dependency
14218         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
14219         * lib/strerror-override.c (strerror_override): ...to new file.
14220         * lib/strerror-override.h: Add prototype.
14221         * lib/strerror-impl.h: Delete.
14222         * lib/strerror.c (strerror): New implementation.
14223         * modules/errno (Files): Add new files.
14224         (configure.ac): Compile new file as appropriate.
14225         * modules/strerror (Files): Drop unused file.
14226         (Depends-on): Drop strerror_r-posix.
14227         * MODULES.html.sh: Document strerror_r-posix.
14228         Requested by Sam Steingold.
14229
14230         perror: call strerror_r directly
14231         * modules/perror (Files): Drop strerror-impl.h.
14232         * lib/perror.c (perror): Use our own stack buffer, rather than
14233         calling a wrapper that uses static storage.
14234         * doc/posix-functions/perror.texi (perror): Document a limitation
14235         of our replacement.
14236
14237         strerror_r: fix includes for FreeBSD
14238         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
14239         since we use abort on some platforms.
14240         Reported by Matthias Bolte.
14241
14242 2011-05-31  Bruno Haible  <bruno@clisp.org>
14243
14244         Fix link errors in tests: openat-die uses gettext-h.
14245         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
14246         against $(LIBINTL).
14247         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
14248         against $(LIBINTL).
14249         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
14250         $(LIBINTL).
14251         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
14252         against $(LIBINTL).
14253         * modules/linkat-tests (Makefile.am): Link test-linkat against
14254         $(LIBINTL).
14255         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
14256         $(LIBINTL).
14257         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
14258         against $(LIBINTL).
14259         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
14260         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
14261         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
14262         $(LIBINTL).
14263         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
14264         $(LIBINTL).
14265         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
14266         $(LIBINTL).
14267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14268
14269 2011-05-31  Bruno Haible  <bruno@clisp.org>
14270
14271         Fix link errors in tests: wait-process uses gettext-h.
14272         * modules/nonblocking-pipe-tests (Makefile.am): Set
14273         test_nonblocking_pipe_main_LDADD.
14274         * modules/nonblocking-socket-tests (Makefile.am): Link
14275         test-nonblocking-socket-main against $(LIBINTL).
14276         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14277
14278 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
14279
14280         assert-h: work around 'verify' incompatibility
14281         * lib/verify.h: Use @...@ directives, not ifdef.
14282         * modules/assert-h (assert.h): Implement the directives.
14283         (assert.h): Substitute the symbol-prefix more consistently.
14284
14285 2011-05-29  Jim Meyering  <meyering@redhat.com>
14286
14287         trim: remove three superfluous assignments
14288         * lib/trim.c (trim2): Remove three superfluous assignments
14289         and correct brace positioning.
14290
14291 2011-05-29  Bruno Haible  <bruno@clisp.org>
14292
14293         wctype-h: Avoid namespace pollution on Solaris 2.6.
14294         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14295         identifiers.
14296         * doc/posix-headers/wctype.texi: Mention the problem.
14297         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14298
14299 2011-05-28  Jim Meyering  <meyering@redhat.com>
14300
14301         parse-datetime.y: accommodate -Wstrict-overflow
14302         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
14303         placate -Wstrict-overflow.
14304
14305         trim: avoid a warning from -O2 -Wstrict-overflow
14306         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
14307
14308 2011-05-29  Bruno Haible  <bruno@clisp.org>
14309
14310         gnulib-tool: Fix bug in yesterday's commit.
14311         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
14312         twice.
14313
14314 2011-05-29  Bruno Haible  <bruno@clisp.org>
14315
14316         Allow multiple gnulib generated include files to be combined.
14317         * gnulib-tool (func_compute_include_guard_prefix): New function.
14318         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
14319         ${gl_include_guard_prefix} references.
14320         (func_import, func_create_testdir): Invoke
14321         func_compute_include_guard_prefix.
14322         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
14323         * lib/ctype.in.h: Likewise.
14324         * lib/dirent.in.h: Likewise.
14325         * lib/errno.in.h: Likewise.
14326         * lib/fcntl.in.h: Likewise.
14327         * lib/float.in.h: Likewise.
14328         * lib/getopt.in.h: Likewise.
14329         * lib/iconv.in.h: Likewise.
14330         * lib/langinfo.in.h: Likewise.
14331         * lib/locale.in.h: Likewise.
14332         * lib/math.in.h: Likewise.
14333         * lib/netdb.in.h: Likewise.
14334         * lib/netinet_in.in.h: Likewise.
14335         * lib/poll.in.h: Likewise.
14336         * lib/pthread.in.h: Likewise.
14337         * lib/pty.in.h: Likewise.
14338         * lib/sched.in.h: Likewise.
14339         * lib/se-selinux.in.h: Likewise.
14340         * lib/search.in.h: Likewise.
14341         * lib/signal.in.h: Likewise.
14342         * lib/spawn.in.h: Likewise.
14343         * lib/stdarg.in.h: Likewise.
14344         * lib/stddef.in.h: Likewise.
14345         * lib/stdint.in.h: Likewise.
14346         * lib/stdio.in.h: Likewise.
14347         * lib/stdlib.in.h: Likewise.
14348         * lib/string.in.h: Likewise.
14349         * lib/strings.in.h: Likewise.
14350         * lib/sys_file.in.h: Likewise.
14351         * lib/sys_ioctl.in.h: Likewise.
14352         * lib/sys_select.in.h: Likewise.
14353         * lib/sys_socket.in.h: Likewise.
14354         * lib/sys_stat.in.h: Likewise.
14355         * lib/sys_time.in.h: Likewise.
14356         * lib/sys_times.in.h: Likewise.
14357         * lib/sys_uio.in.h: Likewise.
14358         * lib/sys_utsname.in.h: Likewise.
14359         * lib/sys_wait.in.h: Likewise.
14360         * lib/sysexits.in.h: Likewise.
14361         * lib/termios.in.h: Likewise.
14362         * lib/time.in.h: Likewise.
14363         * lib/unistd.in.h: Likewise.
14364         * lib/wchar.in.h: Likewise.
14365         * lib/wctype.in.h: Likewise.
14366         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
14367         * modules/ctype (Makefile.am): Likewise.
14368         * modules/dirent (Makefile.am): Likewise.
14369         * modules/errno (Makefile.am): Likewise.
14370         * modules/fcntl-h (Makefile.am): Likewise.
14371         * modules/float (Makefile.am): Likewise.
14372         * modules/getopt-posix (Makefile.am): Likewise.
14373         * modules/iconv-h (Makefile.am): Likewise.
14374         * modules/langinfo (Makefile.am): Likewise.
14375         * modules/locale (Makefile.am): Likewise.
14376         * modules/math (Makefile.am): Likewise.
14377         * modules/netdb (Makefile.am): Likewise.
14378         * modules/netinet_in (Makefile.am): Likewise.
14379         * modules/poll-h (Makefile.am): Likewise.
14380         * modules/pthread (Makefile.am): Likewise.
14381         * modules/pty (Makefile.am): Likewise.
14382         * modules/sched (Makefile.am): Likewise.
14383         * modules/search (Makefile.am): Likewise.
14384         * modules/selinux-h (Makefile.am): Likewise.
14385         * modules/signal (Makefile.am): Likewise.
14386         * modules/spawn (Makefile.am): Likewise.
14387         * modules/stdarg (Makefile.am): Likewise.
14388         * modules/stddef (Makefile.am): Likewise.
14389         * modules/stdint (Makefile.am): Likewise.
14390         * modules/stdio (Makefile.am): Likewise.
14391         * modules/stdlib (Makefile.am): Likewise.
14392         * modules/string (Makefile.am): Likewise.
14393         * modules/strings (Makefile.am): Likewise.
14394         * modules/sys_file (Makefile.am): Likewise.
14395         * modules/sys_ioctl (Makefile.am): Likewise.
14396         * modules/sys_select (Makefile.am): Likewise.
14397         * modules/sys_socket (Makefile.am): Likewise.
14398         * modules/sys_stat (Makefile.am): Likewise.
14399         * modules/sys_time (Makefile.am): Likewise.
14400         * modules/sys_times (Makefile.am): Likewise.
14401         * modules/sys_uio (Makefile.am): Likewise.
14402         * modules/sys_utsname (Makefile.am): Likewise.
14403         * modules/sys_wait (Makefile.am): Likewise.
14404         * modules/sysexits (Makefile.am): Likewise.
14405         * modules/termios (Makefile.am): Likewise.
14406         * modules/time (Makefile.am): Likewise.
14407         * modules/unistd (Makefile.am): Likewise.
14408         * modules/wchar (Makefile.am): Likewise.
14409         * modules/wctype-h (Makefile.am): Likewise.
14410         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
14411
14412 2011-05-29  Bruno Haible  <bruno@clisp.org>
14413
14414         assert-h: Allow multiple gnulib generated replacements to coexist.
14415         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
14416
14417 2011-05-29  Bruno Haible  <bruno@clisp.org>
14418
14419         argp: Allow coexistence with strerror_r-posix module.
14420         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
14421         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
14422         by gnulib's <string.h> replacement), assume it has the POSIX signature,
14423         not the glibc signature.
14424
14425 2011-05-28  Bruno Haible  <bruno@clisp.org>
14426
14427         gnulib-tool: Alternative structure of testdirs, similar to --import.
14428         * gnulib-tool: New option --single-configure.
14429         (func_usage): Document it.
14430         (single_configure): New variable.
14431         (func_modules_transitive_closure_separately,
14432         func_modules_transitive_closure_separately,
14433         func_determine_use_libtests, func_modules_add_dummy_separately,
14434         func_modules_to_filelist_separately): New functions, extracted from
14435         func_import.
14436         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
14437         (func_import): Use the new functions.
14438         (func_create_testdir): Set final_modules. Handle $single_configure =
14439         true case.
14440
14441 2011-05-28  Bruno Haible  <bruno@clisp.org>
14442
14443         getloadavg: Remove an unreliable safety check.
14444         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14445         getloadavg.c is in place.
14446         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14447         Reported by Sam Steingold <sds@gnu.org>.
14448
14449 2011-05-28  Bruno Haible  <bruno@clisp.org>
14450
14451         doc: Cleanup yet another file produced by texinfo.tex.
14452         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14453
14454 2011-05-28  Bruno Haible  <bruno@clisp.org>
14455
14456         Finish the conditional dependencies mechanism.
14457         * gnulib-tool: New option --no-conditional-dependencies.
14458         (func_usage): Document it. Don't mark --conditional-dependencies as
14459         experimental.
14460         (cond_dependencies): The possible values can now be true, false, empty.
14461         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14462         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14463         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14464
14465 2011-05-28  Bruno Haible  <bruno@clisp.org>
14466
14467         doc: Use a recent texinfo.tex.
14468         * doc/Makefile (tex_opts): New variable.
14469         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14470
14471 2011-05-28  Jim Meyering  <meyering@redhat.com>
14472
14473         intprops.h: adjust comment to match code change
14474         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14475         only once, it *may* have side effects.  Also fix an unrelated typo.
14476         (_GL_INT_SIGNED): Likewise.
14477
14478 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14479
14480         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14481
14482 2011-05-26  Bruno Haible  <bruno@clisp.org>
14483
14484         mbsrchr: Avoid collision with system function on Interix.
14485         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14486         Reported by Markus Duft <mduft@gentoo.org>.
14487
14488 2011-05-15  James Youngman  <jay@gnu.org>
14489
14490         getopt: for ambiguous options, enumerate the possibilities.
14491         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14492         the ambiguous options when an ambiguous prefix is given. This was
14493         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14494         glibc change was
14495         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14496
14497 2011-05-25  Eric Blake  <eblake@redhat.com>
14498
14499         getcwd: work around mingw bug
14500         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14501         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14502         Reported by Matthias Bolte.
14503
14504 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         test-intprops: disable -Wtype-limits diagnostics
14507         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14508         diagnostics.  Otherwise, the integer overflow macros generate many
14509         diagnostics.  Reported by Jim Meyering in
14510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14511
14512         intprops: shorten, to pacify gcc -Woverlength-strings
14513         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14514         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14515         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14516         likely to run afoul of C compiler limits for string constant lengths.
14517         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14518
14519 2011-05-24  Eric Blake  <eblake@redhat.com>
14520
14521         docs: document recently fixed glibc printf bug
14522         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14523         * doc/posix-functions/printf.texi (printf): Likewise.
14524         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14525         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14526
14527         closein-tests: convert to init.sh
14528         * modules/closein-tests (Files): Add init.sh
14529         * tests/test-closein.sh Use it.
14530
14531         yesno-tests: convert to init.sh
14532         * modules/yesno-tests (Files): Add init.sh.
14533         * tests/test-yesno.sh: Use it.
14534
14535         atexit-tests: ensure reliable exit status
14536         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14537         Reported by Bruno Haible.
14538
14539 2011-05-24  Bruno Haible  <bruno@clisp.org>
14540
14541         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14542         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14543         gl_PREREQ_STRERROR_R invocations from here...
14544         * modules/strerror_r-posix (configure.ac): ... to here.
14545
14546 2011-05-24  Eric Blake  <eblake@redhat.com>
14547
14548         strerror_r: fix missing header
14549         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14550
14551         strerror_r: fix AIX test failures
14552         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14553         ERANGE failure.
14554
14555         strerror_r: fix Solaris test failures
14556         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14557         failures.
14558         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14559
14560         strerror_r: enforce POSIX recommendations
14561         * lib/strerror_r.c (safe_copy): New helper method.
14562         (strerror_r): Guarantee a non-empty string.
14563         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14564         recent POSIX rulings and to match our strerror guarantees.
14565         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14566
14567 2011-05-24  Jim Meyering  <meyering@redhat.com>
14568
14569         test-perror2.c: avoid warning about unused variable
14570         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14571
14572 2011-05-24  Eric Blake  <eblake@redhat.com>
14573
14574         perror: avoid spurious test failure on HP-UX
14575         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14576
14577         tests: fix logic bug in init.sh
14578         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14579         shell.
14580
14581 2011-05-24  Jim Meyering  <meyering@redhat.com>
14582
14583         utimensat: do not reference an out-of-scope buffer
14584         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14585         declared in an inner scope, yet "times" would be dereferenced outside
14586         the scope in which "ts" was valid.
14587         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14588         of ts[2] "out/up", so that the use of aliased "times" (via
14589         "times = ts;") does not end up referencing an out-of-scope "ts"
14590
14591         opendir-safer.c: don't clobber errno; don't close negative FD
14592         * lib/opendir-safer.c (opendir_safer):
14593         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14594         file descriptor, and more importantly, don't clobber the
14595         offending errno value with EINVAL.  Before, upon failure
14596         of dup_safer, we would pass the negative file descriptor to
14597         fdopendir, which would clobber errno.
14598
14599 2011-05-23  Bruno Haible  <bruno@clisp.org>
14600
14601         idcache: Fix module description.
14602         * modules/idcache (Include): Set to "idcache.h".
14603
14604 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14605
14606         gnulib-tool: fix portability problem with MacOS sed
14607         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14608         before the "}".  Problem reported by Leo in
14609         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14610         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14611         sed_extract_condition1, sed_extract_condition2.
14612
14613 2011-05-23  Bruno Haible  <bruno@clisp.org>
14614
14615         hash: Simplify autoconf macro.
14616         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14617
14618 2011-05-23  Bruno Haible  <bruno@clisp.org>
14619
14620         getugroups: Fix module description.
14621         * modules/getugroups (Include): Set to "getugroups.h".
14622
14623 2011-05-23  Bruno Haible  <bruno@clisp.org>
14624
14625         linkat: Simplify autoconf macro.
14626         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14627
14628 2011-05-23  Bruno Haible  <bruno@clisp.org>
14629             Eric Blake  <eblake@redhat.com>
14630
14631         linkat, renameat: Update dependencies.
14632         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14633         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14634         symlinkat.
14635
14636 2011-05-23  Jim Meyering  <meyering@redhat.com>
14637
14638         maint.mk: more tight_scope improvements
14639         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14640         (_gl_TS_headers): Define only in if-0'd block.
14641         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14642         sometimes we must *not* use it.  Adjust uses accordingly.
14643         (sc_tight_scope): Use much simpler grep-based test to determine
14644         whether we skip this rule.
14645
14646         maint.mk: generalize/improve the tight-scope rule
14647         * top/maint.mk: Emit a warning when the test is skipped.
14648         (_gl_TS_dir): Add $(srcdir)/ prefix.
14649         (_gl_TS_function_match): Simplify, rather than trying
14650         to enumerate common types.  Otherwise, it would fail to match an
14651         "extern unsigned char const *" declaration in idutils.
14652         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14653         a way to support use of that type of macro.
14654         (_gl_TS_var_match): Simplify regexp.
14655         (_gl_TS_obj_files): New configurable variable.
14656         (_gl_TS_headers): Likewise.
14657
14658 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14659
14660         verify: fix bug when gnulib <assert.h> is also included
14661         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14662         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14663         Perhaps there's a better way, but this fixes the immediate problem.
14664         Problem reported by Bruno Haible in
14665         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14666
14667 2011-05-22  Bruno Haible  <bruno@clisp.org>
14668
14669         xgetcwd: Simplify autoconf macro.
14670         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14671
14672 2011-05-22  Bruno Haible  <bruno@clisp.org>
14673
14674         New module 'mktime-internal'.
14675         * modules/mktime-internal: New file.
14676         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14677         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14678         mktime_internal as a C macro if libc has __mktime_internal.
14679         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14680         conditions.
14681         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14682
14683 2011-05-22  Bruno Haible  <bruno@clisp.org>
14684
14685         timegm: Correct mktime replacement statements.
14686         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14687         defining mktime as a C macro. This completes a 2009-07-28 commit.
14688
14689 2011-05-22  Bruno Haible  <bruno@clisp.org>
14690
14691         timegm: Simplify autoconf macro.
14692         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14693
14694 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14695
14696         clock-time: change to LGPLv2+.
14697         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14698         BSD-like but we have no mark for that; this is good enough for now.
14699
14700 2011-05-21  Bruno Haible  <bruno@clisp.org>
14701
14702         strerror_r: Fix comments.
14703         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14704
14705 2011-05-21  Bruno Haible  <bruno@clisp.org>
14706
14707         relocatable-prog-wrapper: Fix possible link error.
14708         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14709         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14710         (gl_FUNC_SETENV): ... to here.
14711         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14712         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14713
14714 2011-05-21  Bruno Haible  <bruno@clisp.org>
14715
14716         relocatable-prog-wrapper: Assume strerror() exists.
14717         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14718         m4/strerror.m4.
14719         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14720         * lib/relocwrapper.c: Remove mention of strerror module.
14721         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14722         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14723         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14724         C macro.
14725
14726 2011-05-21  Bruno Haible  <bruno@clisp.org>
14727
14728         select: Simplify replacement idiom.
14729         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14730         Win32 platforms.
14731         * lib/sys_select.in.h (select): Simplify accordingly.
14732         * modules/select (Depends-on): Likewise.
14733
14734 2011-05-21  Bruno Haible  <bruno@clisp.org>
14735
14736         mkdir-p: Simplify autoconf macro.
14737         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14738         gl_FUNC_LCHOWN.
14739
14740 2011-05-21  Eric Blake  <eblake@redhat.com>
14741
14742         strerror_r: avoid clobbering strerror on cygwin
14743         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14744         fall back instead to sys_errlist.
14745         * modules/strerror (configure.ac): Add witness.
14746         * tests/test-strerror_r.c (main): Enhance test.
14747         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14748         * tests/test-perror2.c (main): Free memory before exit.
14749
14750 2011-05-21  Bruno Haible  <bruno@clisp.org>
14751
14752         mkdtemp: Use gnulib naming conventions.
14753         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14754         * modules/mkdtemp (configure.ac): Update.
14755
14756 2011-05-20  Eric Blake  <eblake@redhat.com>
14757
14758         strerror_r: avoid corrupting errno on Solaris
14759         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14760         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14761
14762         strerror_r: avoid compiler warning
14763         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14764
14765         strerror_r: simplify AIX code
14766         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14767
14768         test-perror: avoid spurious failure on FreeBSD
14769         * modules/perror-tests (Depends-on): Add strerror, now that
14770         strerror_r no longer pulls it in.
14771
14772 2011-05-20  Bruno Haible  <bruno@clisp.org>
14773
14774         strerror_r-posix: Remove unused dependencies.
14775         * modules/strerror_r-posix (Depends-on): Remove strerror.
14776         Reported by Eric Blake.
14777
14778 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         intprops: remove assumption about A|B representation
14781         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14782         is a valid integer if both A and B are.  Although this is true for
14783         all known practical hosts, the C standard doesn't guarantee it,
14784         and the code need not assume it.  Also, this change may work around
14785         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14787
14788 2011-05-20  Eric Blake  <eblake@redhat.com>
14789
14790         perror: work around FreeBSD bug
14791         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14792         is broken.  Move AC_LIBOBJ...
14793         * modules/perror (configure.ac): Here.
14794         * doc/posix-functions/perror.texi (perror): Document this.
14795         * tests/test-perror2.c (main): Enhance test.
14796
14797         test-perror: check for strerror interactions
14798         * tests/macros.h (STREQ): Add macro.
14799         * modules/perror-tests (Files): Add second test.
14800         * tests/test-perror2.c (main): New file.
14801         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14802
14803         test-perror: rewrite to use init script
14804         * modules/perror-tests (Files): Add init.sh.
14805         * tests/test-perror.sh: Use temporary directory.
14806
14807 2011-05-20  Jim Meyering  <meyering@redhat.com>
14808
14809         maint: replace misused "a" with "an"
14810         * doc/intprops.texi: "a integer"
14811         * doc/regex.texi: "a explanation"
14812         * lib/alignof.h: "a object"
14813         * lib/argmatch.h: "a explanation"
14814         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14815         * lib/stdint.in.h: "a integer"
14816         * lib/userspec.c: "a owner"
14817         * doc/gnulib.texi: Fix "a idea", and reword.
14818
14819 2011-05-19  Jim Meyering  <meyering@redhat.com>
14820
14821         maint: correct misuse of "a" and "an"
14822         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14823         * lib/argp-help.c: "an docum...": s/an/a/
14824         * lib/argp-parse.c: "An vector": s/An/A/
14825         * lib/execute.c: "an native": s/an/a/
14826         * lib/spawn-pipe.c: Likewise.
14827         * lib/gc.h: "an Gc_rc": s/an/a/
14828         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14829         * lib/fts.c: "an stat.st_dev": s/an/a/
14830
14831 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14832
14833         intprops-tests: work around HP-UX 11.23 cc bug with constants
14834         * tests/test-intprops.c (VERIFY): New macro.
14835         (main): Use it, instead of verify, to work around the compiler bug; see
14836         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14837
14838         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14839         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14840         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14841         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14842         (_GL_REMAINDER_OVERFLOW): Use it.
14843
14844         intprops-tests: revert unsigned part of previous change
14845         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14846         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14847         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14849
14850 2011-05-19  Bruno Haible  <bruno@clisp.org>
14851
14852         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14853         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14854         strerror_r() returned without filling the buffer.
14855         Reported by Eric Blake.
14856
14857 2011-05-19  Eric Blake  <eblake@redhat.com>
14858
14859         strerror_r: guarantee unchanged errno
14860         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14861         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14862         failure.
14863         * tests/test-strerror_r.c (main): Enhance test.
14864
14865 2011-05-19  Bruno Haible  <bruno@clisp.org>
14866
14867         strerror_r: Reorder #if blocks.
14868         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14869         for consistency with the previous commit.
14870
14871 2011-05-19  Bruno Haible  <bruno@clisp.org>
14872
14873         perror: Avoid clobbering the strerror buffer when possible.
14874         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14875         * lib/strerror.c: Include it.
14876         * modules/strerror (Files): Add lib/strerror-impl.h.
14877         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14878         (my_strerror): New function, defined through lib/strerror-impl.h.
14879         (perror): Use it instead of strerror.
14880         * modules/perror (Files): Add lib/strerror-impl.h.
14881         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14882
14883 2011-05-19  Eric Blake  <eblake@redhat.com>
14884
14885         strerror_r: fix on newer cygwin
14886         * lib/strerror_r.c (strerror_r): Cygwin now has
14887         __xpg_strerror_r, use it.
14888
14889 2011-05-19  Bruno Haible  <bruno@clisp.org>
14890
14891         strerror_r: Avoid clobbering the strerror buffer when possible.
14892         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14893         (sys_nerr, sys_errlist): New declarations.
14894         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14895         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14896         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14897
14898 2011-05-19  Bruno Haible  <bruno@clisp.org>
14899
14900         strerror_r: Fix test failure on mingw.
14901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14902         EXTEND_STRERROR_R.
14903         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14904         macros from errno.in.h instead.
14905
14906 2011-05-19  Eric Blake  <eblake@redhat.com>
14907
14908         strerror: relax test for Solaris
14909         * tests/test-strerror.c (main): Permit Solaris behavior.
14910         * tests/test-strerror_r.c (main): Likewise.
14911
14912         strerror: enforce POSIX ruling on strerror(0)
14913         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14914         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14915         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14916         * doc/posix-functions/strerror.texi (strerror): Document it.
14917         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14918         * tests/test-strerror.c (main): Strengthen test.
14919         * tests/test-strerror_r.c (main): Likewise.
14920
14921 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14922
14923         intprop-tests: port to older and more-pedantic compilers
14924         * modules/intprops-tests (Files): Add tests/macros.h.
14925         * tests/test-intprops.c: Include macros.h.
14926         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14927         it's no longer documented to expand to an integer constant expression.
14928         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14929         argument is floating point, as it's no longer documented to expand
14930         to an integer constant expression in that case.
14931         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14932         compiler bugs reported by Bruno Haible.  See
14933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14934         (U0, U1): New constants, to work around the same bugs.  Also,
14935         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14936
14937         intprops: work around C compiler bugs
14938         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14939         bug in Sun C 5.11 2010/08/13 and other compilers; see
14940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14941
14942         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14943         * doc/intprops.texi (Integer Type Determination): Fix
14944         documentation for TYPE_IS_INTEGER: it returns an constant
14945         expression, not an integer constant expression.  Fix doc for
14946         TYPE_SIGNED: it returns an integer constant expression only if its
14947         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14948         hardly worth documented that way....)
14949
14950 2011-05-18  Bruno Haible  <bruno@clisp.org>
14951
14952         strerror_r: Avoid clobbering the strerror buffer when possible.
14953         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14954         Handle gnulib defined errno values here. When strerror() returns NULL
14955         or an empty string, return EINVAL.
14956         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14957         gnulib defined errno values here.
14958         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14959
14960 2011-05-18  Eric Blake  <eblake@redhat.com>
14961
14962         fnmatch: avoid compiler warning
14963         * lib/fnmatch_loop.c (FCT): Use correct type.
14964         Reported by Matthias Bolte.
14965
14966 2011-05-13  Jim Meyering  <meyering@redhat.com>
14967
14968         maint.mk: three new prohibit_<HDR>_without_use rules
14969         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14970         (sc_prohibit_stdio-safer_without_use): Likewise.
14971         (sc_prohibit_xfreopen_without_use): Likewise.
14972
14973 2011-05-17  Jim Meyering  <meyering@redhat.com>
14974
14975         announce-gen: fail if the NEWS delta is empty
14976         If there's nothing noteworthy in NEWS, then either you forgot
14977         or you shouldn't be releasing.
14978         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14979
14980 2011-05-17  Pádraig Brady <P@draigBrady.com>
14981
14982         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14983         reserved symbols starting with double underscore from the check.
14984
14985 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14986
14987         intprops: add doc
14988         * doc/intprops.texi: New file, documenting intprops.
14989         * doc/gnulib.texi (Particular Modules): Include it.
14990
14991         verify: add doc to gnulib manual and fix example
14992         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14993         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14994         (Compile-time Assertions): Fix example so it can't overflow.
14995
14996 2011-05-17  Jim Meyering  <meyering@redhat.com>
14997
14998         warnings.m4: don't usurp save_CPPFLAGS variable name
14999         * m4/warnings.m4: Prefix local temporary variable name with gl_.
15000
15001         doc: fix typo
15002         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
15003
15004 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15005             Bruno Haible  <bruno@clisp.org>
15006
15007         doc: Tweak recent change.
15008         * README (Portability guidelines): Tweak new text.
15009         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
15010         Interix 6.1.
15011
15012 2011-05-16  Eric Blake  <eblake@redhat.com>
15013
15014         inttypes: avoid autoconf warning
15015         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
15016         * m4/stdint.m4 (gl_STDINT_H): Likewise.
15017
15018 2011-05-16  Sam Steingold <sds@gnu.org>
15019         and Eric Blake  <eblake@redhat.com>
15020
15021         vc-list-files: accept multiple directory operands
15022         * build-aux/vc-list-files: Iterate over all remaining operands.
15023
15024 2011-05-16  Bruno Haible  <bruno@clisp.org>
15025
15026         Fix confusion regarding deprecated modules.
15027         * modules/calloc (Status, Notice): Mark module as deprecated, not
15028         obsolete.
15029         * modules/fnmatch-posix (Status, Notice): Likewise.
15030         * modules/getdate (Status, Notice): Likewise.
15031         * modules/getopt (Status, Notice): Likewise.
15032         * modules/malloc (Status, Notice): Likewise.
15033         * modules/pipe (Status, Notice): Likewise.
15034         * modules/realloc (Status, Notice): Likewise.
15035         * modules/rename-dest-slash (Status, Notice): Likewise.
15036         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
15037         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
15038         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
15039         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
15040         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
15041
15042 2011-05-16  Bruno Haible  <bruno@clisp.org>
15043
15044         doc: List the target platforms.
15045         * doc/gnulib-intro.texi (Target Platforms): New section.
15046         * doc/gnulib.texi (Introduction): Update menu.
15047         * README (Portability guidelines): Refer to the new section. Update
15048         statement about oldest supported environment. Remove rationale why
15049         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
15050         unportable C89 function.
15051         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
15052         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
15053
15054 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15055
15056         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
15057
15058 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15059
15060         intprops-tests: new module
15061         * modules/intprops-tests, tests/test-intprops.c: New files.
15062
15063         intprops: add safe, portable integer overflow checking
15064         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
15065         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
15066         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
15067         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
15068         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
15069         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
15070         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
15071         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
15072         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
15073         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
15074         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
15075
15076 2011-05-12  James Youngman  <jay@gnu.org>
15077
15078         Add a test for glibc's Bugzilla bug #12378.
15079         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
15080         doesn't allow the literal matching of a lone "[" (which is
15081         required by POSIX).
15082         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
15083
15084 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
15085
15086         Sync glibc change fixing Bugzilla bug #12378.
15087         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
15088         beginning and fall back to matching as normal character if the
15089         string ends before the matching ']' is found.  This is what POSIX
15090         requires.
15091
15092 2011-05-13  Eric Blake  <eblake@redhat.com>
15093
15094         getcwd-lgpl: relax test for FreeBSD
15095         * doc/posix-functions/getcwd.texi (getcwd): Document portability
15096         issue.
15097         * tests/test-getcwd-lgpl.c (main): Relax test.
15098         Reported by Matthias Bolte.
15099
15100 2011-05-11  Eric Blake  <eblake@redhat.com>
15101
15102         test-fflush: silence compiler warning
15103         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
15104
15105 2011-05-11  Bruno Haible  <bruno@clisp.org>
15106
15107         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
15108         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
15109         * modules/canonicalize (Depends-on): Add 'nocrash'.
15110         * modules/canonicalize-lgpl (Depends-on): Likewise.
15111         * doc/posix-functions/realpath.texi: Update platforms list.
15112         Reported by Ryan Schmidt <ryandesign@macports.org>.
15113
15114 2011-05-11  Bruno Haible  <bruno@clisp.org>
15115
15116         group-member: Declare function in <unistd.h>.
15117         * lib/unistd.in.h (group_member): New declaration.
15118         * lib/group-member.h: Remove file.
15119         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
15120         * tests/test-unistd-c++.cc: Check signature of group_member.
15121         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
15122         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
15123         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
15124         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
15125         HAVE_GROUP_MEMBER.
15126         * modules/group-member (Files): Remove lib/group-member.h.
15127         (Depends-on): Add unistd. Specify conditions.
15128         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
15129         (Include): Change to <unistd.h>.
15130         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
15131         HAVE_GROUP_MEMBER.
15132         * NEWS: Mention the change.
15133         * lib/euidaccess.c: Don't include group-member.h.
15134
15135 2011-05-11  Bruno Haible  <bruno@clisp.org>
15136
15137         group-member: Document module.
15138         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
15139         module.
15140
15141 2011-05-11  Bruno Haible  <bruno@clisp.org>
15142
15143         fclose: Fix mistake earlier today.
15144         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
15145
15146 2011-05-11  Eric Blake  <eblake@redhat.com>
15147
15148         fclose: preserve fflush errors
15149         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
15150         Reported by Jim Meyering.
15151
15152         bootstrap: support a prereq of 'rpcgen -' on RHEL5
15153         * build-aux/bootstrap (check_versions): When no specific version
15154         is required, merely check that the app produces an exit status
15155         that indicates its existence.
15156
15157         maint.mk: drop redundant check
15158         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
15159         the same but better.
15160
15161 2011-05-11  Bruno Haible  <bruno@clisp.org>
15162
15163         fclose: Fix possible link error.
15164         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
15165         unregister_shadow_fd. Improve comments.
15166         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
15167         Eric Blake.
15168
15169 2011-05-11  Jim Meyering  <meyering@redhat.com>
15170
15171         maint.mk: improve "can not" detection and generalize rule name
15172         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
15173         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
15174         Use the same technique as in sc_prohibit_doubled_word, so that
15175         we recognize "can not" also when the words are separated by a newline.
15176         Suggested by Eric Blake.
15177         (perl_filename_lineno_text_): Define.  Factored out of...
15178         (prohibit_doubled_word_): ...here.  Use the new definition.
15179         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
15180         (prohibit_undesirable_word_seq_RE_): New overridable variable.
15181         (ignore_undesirable_word_sequence_RE_): New overridable variable.
15182
15183 2011-05-10  Eric Blake  <eblake@redhat.com>
15184
15185         fclose: avoid double close race when possible
15186         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
15187         all but WINDOWS_SOCKETS.
15188
15189 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
15190
15191         openat: correct new comment
15192         * lib/openat-proc.c (openat_proc_name): Correct the comment.
15193
15194 2011-05-10  Jim Meyering  <meyering@redhat.com>
15195
15196         openat: add comments
15197         * lib/openat-proc.c (openat_proc_name): Add comments,
15198         mostly from Eric Blake.
15199
15200 2011-05-09  Eric Blake  <eblake@redhat.com>
15201
15202         openat: reduce syscalls in first probe of /proc
15203         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
15204         be a directory.  Simplify the probe for .. bugs.
15205         * modules/openat (Depends-on): Drop same-inode.
15206         Reported by Bastien ROUCARIES.
15207
15208 2011-05-09  Jim Meyering  <meyering@redhat.com>
15209
15210         maint.mk: change semantics/name of tight_scope variables
15211         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
15212         Rename variables to align with semantics that make them more useful.
15213
15214         maint.mk: tweak new rule's name not to impinge
15215         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
15216         (sc_tight_scope): Use new rule name rather than $@-0.
15217
15218         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
15219         * top/maint.mk (sc_tight_scope): New rule.
15220         (sc_tight_scope-0): New rule, ifdef'd out.
15221         (_gl_TS_dir): Default.
15222         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
15223         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
15224
15225 2011-05-09  Simon Josefsson  <simon@josefsson.org>
15226
15227         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
15228         Haible <bruno@clisp.org>.
15229
15230 2011-05-08  Bruno Haible  <bruno@clisp.org>
15231
15232         Comments.
15233         * m4/isnanf.m4: Add comment.
15234         * m4/isnanl.m4: Likewise.
15235
15236 2011-05-08  Bruno Haible  <bruno@clisp.org>
15237
15238         glob: Remove obsolete macro.
15239         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
15240
15241 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
15242
15243         intprops: Sun C 5.11 supports __typeof__
15244         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
15245         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
15246         which is new.
15247         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
15248
15249         intprops: switch to usual gnulib indenting and naming
15250         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
15251         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
15252
15253         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
15254
15255 2011-05-08  Jim Meyering  <meyering@redhat.com>
15256
15257         maint.mk: suppress "Entering/Leaving directory" diag in announcement
15258         * top/maint.mk (release-prep): Use make's --no-print-directory
15259         option when generating the announcement.  This eliminates the
15260         pesky "make[2]: Entering/Leaving directory" diagnostics in the
15261         generated announcement template.
15262
15263 2011-05-08  Bruno Haible  <bruno@clisp.org>
15264
15265         tzset: Fix gettimeofday wrapper on Solaris 2.6.
15266         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
15267         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
15268
15269 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         ignore-value, verify: Omit include files from lib_SOURCES.
15272         * modules/ignore-value, modules/verify (Makefile.am):
15273         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
15274         that leads Automake to duplicate use of am__objects_... variables
15275         in Makefile.in.  See
15276         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
15277
15278 2011-05-07  Bruno Haible  <bruno@clisp.org>
15279
15280         fclose: Simplify autoconf macro.
15281         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
15282         defined.
15283
15284 2011-05-07  Bruno Haible  <bruno@clisp.org>
15285
15286         canonicalize-lgpl: Fix autoconf macro ordering bug.
15287         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
15288         gl_STDLIB_H_DEFAULTS.
15289
15290 2011-05-06  Eric Blake  <eblake@redhat.com>
15291
15292         maintainer-makefile: make sc_po_check easier to tune
15293         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
15294         to probe for strings, such as an alternate location for gnulib.
15295
15296         fclose: guarantee behavior on seekable stdin
15297         * modules/fclose (Depends-on): Add fflush.
15298         * doc/posix-functions/fclose.texi (fclose): Document this.
15299         * tests/test-fclose.c (main): Make test for this unconditional.
15300
15301 2011-05-06  Bruno Haible  <bruno@clisp.org>
15302
15303         fflush, fpurge: Relicense under LGPLv2+.
15304         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
15305         * modules/fpurge (License): Likewise.
15306         With permission from Eric Blake and Jim Meyering.
15307         Suggested by Eric Blake.
15308
15309 2011-05-06  Karl Berry  <karl@gnu.org>
15310
15311         * MODULES.html.sh (func_all_modules): remove exit.
15312
15313 2011-05-06  Jim Meyering  <meyering@redhat.com>
15314
15315         maint.mk: use info-gnu@ as the default only for a stable release
15316         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
15317         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
15318         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
15319         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
15320
15321 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15322
15323         assert-h: new module, which supports C1X-style static_assert
15324         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
15325         * lib/verify.h: Revamp so that this can be copied into assert.h,
15326         while retaining the ability to use it standalone as before.
15327         Rename private identifiers so as not to encroach on the
15328         standard C namespace, since this is now used by assert.h.
15329         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
15330         the old verify_true.
15331         (_GL_VERIFY_TRUE): New macro, with much of the contents of
15332         the old verify_true.  Use _GL_VERIFY_TYPE.
15333         (_GL_VERIFY): New macro, with much of the contents of the old verify.
15334         (static_assert): New macro, if _GL_STATIC_ASSERT_H
15335         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
15336         defined when this file is copied into the replacement assert.h.
15337         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
15338         and _Static_assert is not built in.
15339         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
15340         defined, and use the new macros mentioned above.
15341         * doc/posix-headers/assert.texi: Document this.
15342
15343 2011-05-05  Bruno Haible  <bruno@clisp.org>
15344
15345         fclose, fflush: Respect rules for use of AC_LIBOBJ.
15346         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
15347         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
15348         gl_REPLACE_FCLOSE here.
15349         * modules/fflush (Depends-on): Remove fclose.
15350         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
15351         combination with module 'fclose'.
15352
15353 2011-05-05  Bruno Haible  <bruno@clisp.org>
15354
15355         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
15356         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
15357         gl_FUNC_FFLUSH.
15358         (gl_FUNC_FFLUSH): Use it.
15359         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
15360         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
15361         gl_REPLACE_FSEEKO here.
15362
15363 2011-05-05  Bruno Haible  <bruno@clisp.org>
15364
15365         tzset: Relicense under LGPL.
15366         * modules/tzset (License): Change to LGPL.
15367         No agreement needed; it's a no-op.
15368
15369         strtoimax, strtoumax: Relicense under LGPL.
15370         * modules/strtoimax (License): Change to LGPL.
15371         * modules/strtoumax (License): Likewise.
15372         With permission from Jim Meyering, Paul Eggert:
15373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
15374         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
15375
15376         getgroups: Relicense under LGPL.
15377         * modules/getgroups (License): Change to LGPL.
15378         With permission from Jim Meyering, Paul Eggert, Eric Blake:
15379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15380         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15381         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15382
15383         nanosleep: Relicense under LGPL.
15384         * modules/nanosleep (License): Change to LGPL.
15385         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
15386         Haible:
15387         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
15388         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
15389         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15390         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15391
15392         futimens: Relicense under LGPL.
15393         * modules/futimens (License): Change to LGPL.
15394         With permission from Eric Blake:
15395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15396
15397         fflush: Relicense under LGPL.
15398         * modules/fflush (License): Change to LGPL.
15399         With permission from Eric Blake, Bruno Haible, Jim Meyering:
15400         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
15401         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
15402         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
15403
15404         tmpfile: Relicense under LGPL.
15405         * modules/tmpfile (License): Change to LGPL.
15406         With permission from Ben Pfaff:
15407         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15408
15409         isfinite: Relicense under LGPL.
15410         * modules/isfinite (License): Change to LGPL.
15411         With permission from Ben Pfaff, Bruno Haible:
15412         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
15413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
15414
15415         acosl..tanl: Relicense under LGPL.
15416         * modules/acosl (License): Change to LGPL.
15417         * modules/asinl (License): Likewise.
15418         * modules/atanl (License): Likewise.
15419         * modules/cosl (License): Likewise.
15420         * modules/expl (License): Likewise.
15421         * modules/logl (License): Likewise.
15422         * modules/sinl (License): Likewise.
15423         * modules/sqrtl (License): Likewise.
15424         * modules/tanl (License): Likewise.
15425         Source code originally from glibc and Paolo Bonzini. Agreements:
15426         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
15427         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
15428
15429 2011-05-05  Bruno Haible  <bruno@clisp.org>
15430
15431         signal: Define sighandler_t.
15432         * lib/signal.in.h (sighandler_t): New type.
15433         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
15434         whether sighandler_t is defined.
15435         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
15436         * modules/signal (Depends-on): Add extensions.
15437         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
15438         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
15439         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
15440
15441 2011-05-05  Eric Blake  <eblake@redhat.com>
15442
15443         maint: remove useless REPLACE_*_H macros
15444         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15445         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15446         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15447         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15448         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15449         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15450         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15451         * m4/btowc.m4: Update callers.
15452         * m4/dirfd.m4: Likewise.
15453         * m4/duplocale.m4: Likewise.
15454         * m4/fchdir.m4: Likewise.
15455         * m4/fdopendir.m4: Likewise.
15456         * m4/inet_ntop.m4: Likewise.
15457         * m4/inet_pton.m4: Likewise.
15458         * m4/ioctl.m4: Likewise.
15459         * m4/mbrlen.m4: Likewise.
15460         * m4/mbrtowc.m4: Likewise.
15461         * m4/mbsinit.m4: Likewise.
15462         * m4/mbsnrtowcs.m4: Likewise.
15463         * m4/mbsrtowcs.m4: Likewise.
15464         * m4/poll.m4: Likewise.
15465         * m4/setlocale.m4: Likewise.
15466         * m4/wcrtomb.m4: Likewise.
15467         * m4/wcsnrtombs.m4: Likewise.
15468         * m4/wcsrtombs.m4: Likewise.
15469         * m4/wctob.m4: Likewise.
15470         * m4/wcwidth.m4: Likewise.
15471         * modules/posix_spawn: Likewise.
15472         * modules/posix_spawn_file_actions_addclose: Likewise.
15473         * modules/posix_spawn_file_actions_adddup2: Likewise.
15474         * modules/posix_spawn_file_actions_addopen: Likewise.
15475         * modules/posix_spawn_file_actions_destroy: Likewise.
15476         * modules/posix_spawn_file_actions_init: Likewise.
15477         * modules/posix_spawnattr_destroy: Likewise.
15478         * modules/posix_spawnattr_getflags: Likewise.
15479         * modules/posix_spawnattr_getpgroup: Likewise.
15480         * modules/posix_spawnattr_getschedparam: Likewise.
15481         * modules/posix_spawnattr_getschedpolicy: Likewise.
15482         * modules/posix_spawnattr_getsigdefault: Likewise.
15483         * modules/posix_spawnattr_getsigmask: Likewise.
15484         * modules/posix_spawnattr_init: Likewise.
15485         * modules/posix_spawnattr_setflags: Likewise.
15486         * modules/posix_spawnattr_setpgroup: Likewise.
15487         * modules/posix_spawnattr_setschedparam: Likewise.
15488         * modules/posix_spawnattr_setschedpolicy: Likewise.
15489         * modules/posix_spawnattr_setsigdefault: Likewise.
15490         * modules/posix_spawnattr_setsigmask: Likewise.
15491         * modules/posix_spawnp: Likewise.
15492
15493 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15494
15495         Add option to do-release-commit-and-tag to specify branch.
15496         * build-aux/do-release-commit-and-tag: Add --branch.
15497
15498 2011-05-03  Bruno Haible  <bruno@clisp.org>
15499
15500         Avoid unnecessary compilation units, through conditional dependencies.
15501         * modules/accept (Depends-on): Add conditions to the dependencies.
15502         * modules/acosl (Depends-on): Likewise.
15503         * modules/argz (Depends-on): Likewise.
15504         * modules/asinl (Depends-on): Likewise.
15505         * modules/atanl (Depends-on): Likewise.
15506         * modules/atoll (Depends-on): Likewise.
15507         * modules/bind (Depends-on): Likewise.
15508         * modules/btowc (Depends-on): Likewise.
15509         * modules/canonicalize-lgpl (Depends-on): Likewise.
15510         * modules/ceil (Depends-on): Likewise.
15511         * modules/ceilf (Depends-on): Likewise.
15512         * modules/ceill (Depends-on): Likewise.
15513         * modules/chdir-long (Depends-on): Likewise.
15514         * modules/chown (Depends-on): Likewise.
15515         * modules/close (Depends-on): Likewise.
15516         * modules/connect (Depends-on): Likewise.
15517         * modules/cosl (Depends-on): Likewise.
15518         * modules/dirfd (Depends-on): Likewise.
15519         * modules/dprintf (Depends-on): Likewise.
15520         * modules/dprintf-posix (Depends-on): Likewise.
15521         * modules/error (Depends-on): Likewise.
15522         * modules/euidaccess (Depends-on): Likewise.
15523         * modules/expl (Depends-on): Likewise.
15524         * modules/faccessat (Depends-on): Likewise.
15525         * modules/fchdir (Depends-on): Likewise.
15526         * modules/fclose (Depends-on): Likewise.
15527         * modules/fcntl (Depends-on): Likewise.
15528         * modules/fdopendir (Depends-on): Likewise.
15529         * modules/fflush (Depends-on): Likewise.
15530         * modules/floor (Depends-on): Likewise.
15531         * modules/floorf (Depends-on): Likewise.
15532         * modules/floorl (Depends-on): Likewise.
15533         * modules/fnmatch (Depends-on): Likewise.
15534         * modules/fopen (Depends-on): Likewise.
15535         * modules/fprintf-posix (Depends-on): Likewise.
15536         * modules/frexp (Depends-on): Likewise.
15537         * modules/frexp-nolibm (Depends-on): Likewise.
15538         * modules/frexpl (Depends-on): Likewise.
15539         * modules/frexpl-nolibm (Depends-on): Likewise.
15540         * modules/fseek (Depends-on): Likewise.
15541         * modules/fsusage (Depends-on): Likewise.
15542         * modules/ftell (Depends-on): Likewise.
15543         * modules/ftello (Depends-on): Likewise.
15544         * modules/futimens (Depends-on): Likewise.
15545         * modules/getcwd (Depends-on): Likewise.
15546         * modules/getcwd-lgpl (Depends-on): Likewise.
15547         * modules/getdelim (Depends-on): Likewise.
15548         * modules/getdomainname (Depends-on): Likewise.
15549         * modules/getgroups (Depends-on): Likewise.
15550         * modules/gethostname (Depends-on): Likewise.
15551         * modules/getline (Depends-on): Likewise.
15552         * modules/getlogin_r (Depends-on): Likewise.
15553         * modules/getopt-posix (Depends-on): Likewise.
15554         * modules/getpeername (Depends-on): Likewise.
15555         * modules/getsockname (Depends-on): Likewise.
15556         * modules/getsockopt (Depends-on): Likewise.
15557         * modules/getsubopt (Depends-on): Likewise.
15558         * modules/getusershell (Depends-on): Likewise.
15559         * modules/glob (Depends-on): Likewise.
15560         * modules/grantpt (Depends-on): Likewise.
15561         * modules/iconv_open (Depends-on): Likewise.
15562         * modules/iconv_open-utf (Depends-on): Likewise.
15563         * modules/inet_ntop (Depends-on): Likewise.
15564         * modules/inet_pton (Depends-on): Likewise.
15565         * modules/ioctl (Depends-on): Likewise.
15566         * modules/isapipe (Depends-on): Likewise.
15567         * modules/isfinite (Depends-on): Likewise.
15568         * modules/isinf (Depends-on): Likewise.
15569         * modules/lchown (Depends-on): Likewise.
15570         * modules/ldexpl (Depends-on): Likewise.
15571         * modules/link (Depends-on): Likewise.
15572         * modules/linkat (Depends-on): Likewise.
15573         * modules/listen (Depends-on): Likewise.
15574         * modules/logl (Depends-on): Likewise.
15575         * modules/lstat (Depends-on): Likewise.
15576         * modules/mbrlen (Depends-on): Likewise.
15577         * modules/mbrtowc (Depends-on): Likewise.
15578         * modules/mbsinit (Depends-on): Likewise.
15579         * modules/mbsnrtowcs (Depends-on): Likewise.
15580         * modules/mbsrtowcs (Depends-on): Likewise.
15581         * modules/mbtowc (Depends-on): Likewise.
15582         * modules/memcmp (Depends-on): Likewise.
15583         * modules/mkdir (Depends-on): Likewise.
15584         * modules/mkdtemp (Depends-on): Likewise.
15585         * modules/mkfifo (Depends-on): Likewise.
15586         * modules/mkfifoat (Depends-on): Likewise.
15587         * modules/mknod (Depends-on): Likewise.
15588         * modules/mkostemp (Depends-on): Likewise.
15589         * modules/mkostemps (Depends-on): Likewise.
15590         * modules/mkstemp (Depends-on): Likewise.
15591         * modules/mkstemps (Depends-on): Likewise.
15592         * modules/mktime (Depends-on): Likewise.
15593         * modules/nanosleep (Depends-on): Likewise.
15594         * modules/open (Depends-on): Likewise.
15595         * modules/openat (Depends-on): Likewise.
15596         * modules/perror (Depends-on): Likewise.
15597         * modules/poll (Depends-on): Likewise.
15598         * modules/popen (Depends-on): Likewise.
15599         * modules/posix_spawn (Depends-on): Likewise.
15600         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15601         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15602         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15603         * modules/posix_spawnp (Depends-on): Likewise.
15604         * modules/pread (Depends-on): Likewise.
15605         * modules/printf-posix (Depends-on): Likewise.
15606         * modules/ptsname (Depends-on): Likewise.
15607         * modules/putenv (Depends-on): Likewise.
15608         * modules/pwrite (Depends-on): Likewise.
15609         * modules/readline (Depends-on): Likewise.
15610         * modules/readlink (Depends-on): Likewise.
15611         * modules/readlinkat (Depends-on): Likewise.
15612         * modules/recv (Depends-on): Likewise.
15613         * modules/recvfrom (Depends-on): Likewise.
15614         * modules/regex (Depends-on): Likewise.
15615         * modules/remove (Depends-on): Likewise.
15616         * modules/rename (Depends-on): Likewise.
15617         * modules/renameat (Depends-on): Likewise.
15618         * modules/rmdir (Depends-on): Likewise.
15619         * modules/round (Depends-on): Likewise.
15620         * modules/roundf (Depends-on): Likewise.
15621         * modules/roundl (Depends-on): Likewise.
15622         * modules/rpmatch (Depends-on): Likewise.
15623         * modules/select (Depends-on): Likewise.
15624         * modules/send (Depends-on): Likewise.
15625         * modules/sendto (Depends-on): Likewise.
15626         * modules/setenv (Depends-on): Likewise.
15627         * modules/setlocale (Depends-on): Likewise.
15628         * modules/setsockopt (Depends-on): Likewise.
15629         * modules/shutdown (Depends-on): Likewise.
15630         * modules/sigaction (Depends-on): Likewise.
15631         * modules/signbit (Depends-on): Likewise.
15632         * modules/sigprocmask (Depends-on): Likewise.
15633         * modules/sinl (Depends-on): Likewise.
15634         * modules/sleep (Depends-on): Likewise.
15635         * modules/snprintf (Depends-on): Likewise.
15636         * modules/snprintf-posix (Depends-on): Likewise.
15637         * modules/socket (Depends-on): Likewise.
15638         * modules/sprintf-posix (Depends-on): Likewise.
15639         * modules/sqrtl (Depends-on): Likewise.
15640         * modules/stat (Depends-on): Likewise.
15641         * modules/strchrnul (Depends-on): Likewise.
15642         * modules/strdup-posix (Depends-on): Likewise.
15643         * modules/strerror (Depends-on): Likewise.
15644         * modules/strerror_r-posix (Depends-on): Likewise.
15645         * modules/strndup (Depends-on): Likewise.
15646         * modules/strnlen (Depends-on): Likewise.
15647         * modules/strptime (Depends-on): Likewise.
15648         * modules/strsep (Depends-on): Likewise.
15649         * modules/strsignal (Depends-on): Likewise.
15650         * modules/strstr-simple (Depends-on): Likewise.
15651         * modules/strtod (Depends-on): Likewise.
15652         * modules/strtoimax (Depends-on): Likewise.
15653         * modules/strtok_r (Depends-on): Likewise.
15654         * modules/strtoumax (Depends-on): Likewise.
15655         * modules/symlink (Depends-on): Likewise.
15656         * modules/symlinkat (Depends-on): Likewise.
15657         * modules/tanl (Depends-on): Likewise.
15658         * modules/tcgetsid (Depends-on): Likewise.
15659         * modules/tmpfile (Depends-on): Likewise.
15660         * modules/trunc (Depends-on): Likewise.
15661         * modules/truncf (Depends-on): Likewise.
15662         * modules/truncl (Depends-on): Likewise.
15663         * modules/uname (Depends-on): Likewise.
15664         * modules/unlink (Depends-on): Likewise.
15665         * modules/unlockpt (Depends-on): Likewise.
15666         * modules/unsetenv (Depends-on): Likewise.
15667         * modules/usleep (Depends-on): Likewise.
15668         * modules/utimensat (Depends-on): Likewise.
15669         * modules/vasprintf (Depends-on): Likewise.
15670         * modules/vdprintf (Depends-on): Likewise.
15671         * modules/vdprintf-posix (Depends-on): Likewise.
15672         * modules/vfprintf-posix (Depends-on): Likewise.
15673         * modules/vprintf-posix (Depends-on): Likewise.
15674         * modules/vsnprintf (Depends-on): Likewise.
15675         * modules/vsnprintf-posix (Depends-on): Likewise.
15676         * modules/vsprintf-posix (Depends-on): Likewise.
15677         * modules/wcrtomb (Depends-on): Likewise.
15678         * modules/wcscasecmp (Depends-on): Likewise.
15679         * modules/wcscspn (Depends-on): Likewise.
15680         * modules/wcsdup (Depends-on): Likewise.
15681         * modules/wcsncasecmp (Depends-on): Likewise.
15682         * modules/wcsnrtombs (Depends-on): Likewise.
15683         * modules/wcspbrk (Depends-on): Likewise.
15684         * modules/wcsrtombs (Depends-on): Likewise.
15685         * modules/wcsspn (Depends-on): Likewise.
15686         * modules/wcsstr (Depends-on): Likewise.
15687         * modules/wcstok (Depends-on): Likewise.
15688         * modules/wcswidth (Depends-on): Likewise.
15689         * modules/wctob (Depends-on): Likewise.
15690         * modules/wctomb (Depends-on): Likewise.
15691         * modules/wctype (Depends-on): Likewise.
15692         * modules/wcwidth (Depends-on): Likewise.
15693         * modules/write (Depends-on): Likewise.
15694
15695 2011-05-03  Bruno Haible  <bruno@clisp.org>
15696
15697         Support for conditional dependencies.
15698         * doc/gnulib.texi (Module description): Document the syntax of
15699         conditional dependencies.
15700         * gnulib-tool: New option --conditional-dependencies.
15701         (func_usage): Document it.
15702         (cond_dependencies): New variable.
15703         (func_get_automake_snippet_conditional,
15704         func_get_automake_snippet_unconditional): New functions, extracted from
15705         func_get_automake_snippet.
15706         (func_get_automake_snippet): Use them.
15707         (sed_first_32_chars): New variable.
15708         (func_module_shellfunc_name): New function.
15709         (func_module_shellvar_name): New function.
15710         (func_module_conditional_name): New function.
15711         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15712         func_cond_module_condition): New functions.
15713         (func_modules_transitive_closure): Add support for conditional
15714         dependencies.
15715         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15716         conditional automake snippet in an automake conditional.
15717         (func_emit_autoconf_snippets): Emit shell functions that contain the
15718         code for conditional modules.
15719         (func_import, func_create_testdir): Update specification.
15720
15721 2011-05-03  Eric Blake  <eblake@redhat.com>
15722
15723         test-getaddrinfo: report error information
15724         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15725
15726 2011-05-03  Jim Meyering  <meyering@redhat.com>
15727
15728         bootstrap: avoid build failure when $GZIP is set
15729         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15730         program name.  If defined at all, it is supposed to list gzip options.
15731         Reported by Alan Curry in http://debbugs.gnu.org/8609
15732
15733 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15734
15735         readme-release: new module with release instructions
15736         * modules/readme-release: New module.
15737         * top/README-release: New file, from coreutils, grep, diffutils.
15738         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15739
15740 2011-05-02  Eric Blake  <eblake@redhat.com>
15741
15742         fflush: also replace fclose when fixing fflush
15743         * modules/fflush (Depends-on): Add fclose.
15744         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15745         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15746         memstreams with no backing fd.
15747         * doc/posix-functions/fclose.texi (fclose): Document the use of
15748         fflush module to fix the bug.
15749         * tests/test-fclose.c (main): Relax test when fclose is used in
15750         isolation.
15751
15752         fclose: add some tests
15753         * modules/fclose-tests: New test module.
15754         * tests/test-fclose.c: New file.
15755         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15756
15757         fclose: reduced dependencies
15758         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15759         simpler lseek.
15760         * lib/fclose.c (rpl_fclose): Likewise.
15761         Reported by Simon Josefsson.
15762
15763         exit: drop remaining clients
15764         * modules/argmatch (Depends-on): Replace exit with stdlib.
15765         * modules/copy-file (Depends-on): Likewise.
15766         * modules/execute (Depends-on): Likewise.
15767         * modules/exitfail (Depends-on): Likewise.
15768         * modules/obstack (Depends-on): Likewise.
15769         * modules/pagealign_alloc (Depends-on): Likewise.
15770         * modules/pipe-filter-gi (Depends-on): Likewise.
15771         * modules/pipe-filter-ii (Depends-on): Likewise.
15772         * modules/savewd (Depends-on): Likewise.
15773         * modules/spawn-pipe (Depends-on): Likewise.
15774         * modules/wait-process (Depends-on): Likewise.
15775         * modules/xsetenv (Depends-on): Likewise.
15776         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15777         * modules/git-merge-changelog (Depends-on): Likewise.
15778         * modules/long-options (Depends-on): Likewise.
15779         * modules/pt_chown (Depends-on): Likewise.
15780         * modules/sysexits (Depends-on): Likewise.
15781
15782         freading: relax license from LGPLv3+ to LGPLv2+
15783         * modules/freading (License): Relax LGPL version.
15784
15785 2011-05-02  Bruno Haible  <bruno@clisp.org>
15786
15787         fchdir: Remove unused dependencies.
15788         * modules/fchdir (Depends-on): Remove include_next.
15789
15790 2011-05-02  Bruno Haible  <bruno@clisp.org>
15791
15792         gnulib-tool: Refactor.
15793         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15794         from func_emit_autoconf_snippets.
15795         (func_emit_autoconf_snippets): Use it.
15796
15797 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15798
15799         * NEWS: Document removal of 'exit'.
15800         * modules/exit: Remove file.
15801
15802 2011-05-01  Bruno Haible  <bruno@clisp.org>
15803
15804         Update DEPENDENCIES.
15805         * DEPENDENCIES (gettext): Recommend the newest release.
15806         Reported by Simon Josefsson.
15807
15808 2011-05-01  Bruno Haible  <bruno@clisp.org>
15809
15810         gnulib-tool: Reduce code duplication.
15811         * gnulib-tool (func_emit_autoconf_snippets): New function.
15812         (func_import, func_create_testdir): Use it.
15813
15814 2011-04-30  Eric Blake  <eblake@redhat.com>
15815
15816         fclose: don't fail on non-seekable input stream
15817         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15818         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15819         since fflush is allowed to fail in that case.
15820
15821 2011-04-30  Bruno Haible  <bruno@clisp.org>
15822
15823         dup3: cleanup
15824         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15825
15826 2011-04-30  Bruno Haible  <bruno@clisp.org>
15827
15828         netdb: Make it work in C++ mode.
15829         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15830         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15831         module.
15832         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15833         gl_MODULE_INDICATOR_FOR_TESTS.
15834         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15835         * modules/netdb-c++-tests: New file.
15836         * tests/test-netdb-c++.cc: New file.
15837
15838 2011-04-30  Bruno Haible  <bruno@clisp.org>
15839
15840         New modules 'vfscanf', 'vscanf'.
15841         * modules/vfscanf: New file.
15842         * modules/vscanf: New file.
15843         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15844         here.
15845         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15846         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15847
15848 2011-04-30  Bruno Haible  <bruno@clisp.org>
15849
15850         passfd: Add comments.
15851         * lib/passfd.c: Add comments about platforms.
15852
15853 2011-04-30  Bruno Haible  <bruno@clisp.org>
15854
15855         sys_uio: Make <sys/uio.h> self-contained.
15856         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15857         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15858
15859 2011-04-30  Bruno Haible  <bruno@clisp.org>
15860
15861         sys_socket: Ensure 'struct iovec' definition.
15862         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15863         <sys/socket.h>.
15864         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15865
15866 2011-04-30  Bruno Haible  <bruno@clisp.org>
15867
15868         sys_uio: Protect definition of 'struct iovec'.
15869         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15870         it as a C struct.
15871
15872 2011-04-30  Bruno Haible  <bruno@clisp.org>
15873
15874         manywarnings: fix indentation
15875         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15876
15877 2011-04-30  Pádraig Brady <P@draigBrady.com>
15878
15879         manywarnings: add -Wno-missing-field-initializers if needed.
15880         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15881         option if it's needed to allow initialization with { 0, }
15882
15883 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15884
15885         announce-gen: cosmetic improvement
15886         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15887
15888 2011-04-29  Jim Meyering  <meyering@redhat.com>
15889
15890         vc-list-files: indent with spaces, not TABs
15891         * build-aux/vc-list-files: Convert leading TABs to spaces,
15892         to match the style of most other files in gnulib.
15893
15894         announce-gen: indent with spaces, not TABs
15895         * build-aux/announce-gen: Convert all TABs to spaces, to match
15896         the style of most other files in gnulib.
15897
15898 2011-04-29  Eric Blake  <eblake@redhat.com>
15899
15900         quotearg: avoid uninitialized variable use
15901         * lib/quotearg.c (quoting_options_from_style): Initialize
15902         remaining fields, and ensure that custom styles are only used via
15903         quoting_options rather than quoting_style.
15904
15905 2011-04-29  Jim Meyering  <meyering@redhat.com>
15906
15907         maint.mk: remove unused VC-tag variable
15908         * top/maint.mk (VC-tag): Remove unused variable.
15909
15910 2011-04-29  Bruno Haible  <bruno@clisp.org>
15911
15912         netdb: fix gai_strerror replacements
15913         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15914         * modules/netdb: Substitute it.
15915
15916 2011-04-29  Jim Meyering  <meyering@redhat.com>
15917
15918         test-getcwd.c: avoid new set-but-not-used warning
15919         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15920         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15921         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15922         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15923
15924         test-hash.c: avoid a new shadowing warning
15925         * tests/test-hash.c (main): Don't shadow "dup".
15926
15927 2011-04-28  Eric Blake  <eblake@redhat.com>
15928
15929         getaddrinfo: fix gai_strerror signature
15930         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15931         and work around mingw with UNICODE defined.
15932         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15933         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15934         * modules/netdb (Makefile.am): Substitute it.
15935         * lib/netdb.in.h (gai_strerror): Declare replacement.
15936         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15937         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15938         the fix.
15939
15940         getsockopt: avoid compiler warning
15941         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15942         Reported by Matthias Bolte.
15943
15944         tests: drop unused link dependency
15945         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15946         * modules/dirent-safer-tests (Makefile.am): Likewise.
15947         * modules/fdopendir-tests (Makefile.am): Likewise.
15948         * modules/mkfifoat-tests (Makefile.am): Likewise.
15949         * modules/openat-safer-tests (Makefile.am): Likewise.
15950         * modules/openat-tests (Makefile.am): Likewise.
15951         * modules/readlinkat-tests (Makefile.am): Likewise.
15952         * modules/symlinkat-tests (Makefile.am): Likewise.
15953         * modules/linkat-tests (Makefile.am): Likewise.
15954         (Depends-on): Switch to filenamecat-lgpl.
15955         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15956         LIBINTL.
15957         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15958         * tests/test-linkat.c (main): Don't require xalloc.
15959
15960         hash, mgetgroups: drop xalloc dependency
15961         * lib/hash.c (includes): Adjust includes.
15962         * lib/mgetgroups.c (includes): Likewise.
15963         (xgetgroups): Move...
15964         * lib/xgetgroups.c: ...to new file.
15965         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15966         * modules/xgetgroups: New file, split from...
15967         * modules/mgetgroups: ...here.
15968         (Depends-on): Add xalloc-oversized.
15969         * modules/hash (Depends-on): Likewise.
15970         * modules/hash-tests (Depends-on): Drop xalloc.
15971         (test_hash_LDADD): Drop unused library.
15972         * tests/test-hash.c (main): Break xalloc dependency.
15973         (includes): Drop unused include.
15974
15975         xalloc-oversized: new module
15976         * modules/xalloc-oversized: New module.
15977         * modules/xalloc (Depends-on): Add it.
15978         * lib/xalloc.h (xalloc_oversized): Move...
15979         * lib/xalloc-oversized.h: ...into new file.
15980
15981         utimecmp: drop dependency on xmalloc
15982         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15983         due to memory pressure.
15984         * modules/utimecmp (Depends-on): Drop xalloc.
15985
15986 2011-04-27  Eric Blake  <eblake@redhat.com>
15987
15988         getcwd: fix mingw bugs
15989         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15990         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15991         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15992
15993 2011-04-27  Bruno Haible  <bruno@clisp.org>
15994
15995         mkstemps: Ensure declaration on MacOS X 10.5.
15996         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15997         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15998         MacOS X.
15999
16000 2011-04-27  Bruno Haible  <bruno@clisp.org>
16001
16002         mkstemp: More documentation.
16003         * doc/posix-functions/mkstemp.texi: Document header file problem on
16004         MacOS X.
16005
16006 2011-04-27  Bruno Haible  <bruno@clisp.org>
16007
16008         mkstemp: Tweak configure message when cross-compiling.
16009         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
16010         result as a guess.
16011
16012 2011-04-27  Bruno Haible  <bruno@clisp.org>
16013
16014         clean-temp: Clarify what it does.
16015         * lib/clean-temp.h: Add more comments.
16016         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
16017         module.
16018         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
16019         * doc/glibc-functions/mkstemps.texi: Likewise.
16020         * doc/glibc-functions/mkostemps.texi: Likewise.
16021
16022 2011-04-27  Eric Blake  <eblake@redhat.com>
16023
16024         fchdir: avoid extra chdir and fix test
16025         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
16026         getcwd-lgpl.
16027         * lib/fchdir.c (get_name): Any absolute name will do; it does not
16028         have to be canonical.
16029         (canonicalize_file_name): Drop unused macro.
16030         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
16031
16032         filenamecat-lgpl: fix licence
16033         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
16034         when it was first created.
16035
16036         linkat, renameat: add missing dependency
16037         * modules/linkat (Depends-on): Require getcwd-lgpl.
16038         * modules/renameat (Depends-on): Likewise.
16039
16040         tests: reduce dependencies
16041         * tests/test-linkat.c (main): Use lighter-weight getcwd.
16042         * tests/test-renameat.c (main): Likewise.
16043         * modules/linkat-tests (Depends-on): Relax dependency.
16044         * modules/renameat-tests (Depends-on): Likewise.
16045         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
16046         dependency explicit.
16047
16048         save-cwd: reduce default dependency
16049         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
16050         * lib/save-cwd.c: Update comments.
16051         * NEWS: Document the semantic change.
16052
16053         getcwd: enhance tests
16054         * tests/test-getcwd-lgpl.c: New file, taken from...
16055         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
16056         repeat long path stress tests from m4 probe.
16057         * modules/getcwd-lgpl-tests: New module.
16058         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
16059         * m4/getcwd-abort-bug.m4: Update comment.
16060         * m4/getcwd-path-max.m4: Likewise.
16061
16062         getcwd-lgpl: new module
16063         * modules/getcwd-lgpl: New module.
16064         * lib/getcwd-lgpl.c: New file.
16065         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16066         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16067         * modules/getcwd (configure.ac): Set C witness.
16068         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
16069
16070         getcwd: tweak comments
16071         * m4/getcwd-abort-bug.m4: Fix comments.
16072         * m4/getcwd-path-max.m4: Likewise.
16073         * m4/getcwd.m4: Likewise.
16074
16075 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16076         and Eric Blake  <eblake@redhat.com>
16077
16078         mkstemp: replace if system version uses wrong permissions
16079         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
16080         read/write mode bits set in file created by mkstemp.
16081         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
16082
16083 2011-04-27  Eric Blake  <eblake@redhat.com>
16084
16085         passfd: avoid compiler warning
16086         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
16087         Reported by Laine Stump.
16088
16089 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
16090
16091         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
16092         required by the NetBSD (and perhaps other 4.4BSD derived) join.
16093
16094 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
16095         and Eric Blake  <eblake@redhat.com>
16096
16097         mkstemp: mention clean-temp module
16098         * lib/mkstemp.c: Add comment.
16099         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
16100
16101 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
16102
16103         inttypes: also provide default values for 32-bit tests
16104         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
16105         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
16106
16107 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
16108
16109         strtoumax: remove dependency on strtoimax
16110         This is like the strtoull change of yesterday.
16111         * modules/strtoumax (Files): Add lib/strtoimax.c.
16112         (Depends-on): Remove strtoimax and add verify.
16113
16114         inttypes-incomplete: new module
16115         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
16116         all but the PRI* and SCN* parts of gl_INTTYPES_H.
16117         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
16118         of gl_INTTYPES_H.
16119         (gl_INTTYPES_H): Rewrite in terms of these new macros.
16120         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
16121         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
16122         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
16123         * modules/strtoumax, modules/xstrtol (Depends-on):
16124         Depend on inttypes-incomplete, not inttypes.
16125         * modules/inttypes-incomplete: New module, containing the contents
16126         of the old modules/inttypes module, except that the Files: section
16127         omits m4/inttypes-pri.m4, and the configure.ac section invokes
16128         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
16129         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
16130         (Depends-on): Depend only on inttypes-incomplete.
16131         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
16132
16133         inttypes: omit now-redundant strtoimax and strtoumax work
16134         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
16135         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
16136
16137         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
16138         This supports apps that need pointers to strtoimax and strtoumax,
16139         and ports to HP-UX 11.00 64.bit, which has macros that expand to
16140         nonexistent functions.  See
16141         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
16142         et seq.
16143         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
16144         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
16145         a macro.
16146         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
16147
16148 2011-04-25  Simon Josefsson  <simon@josefsson.org>
16149
16150         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
16151
16152 2011-04-25  Bruno Haible  <bruno@clisp.org>
16153
16154         strtol, strtoul: Mark modules as obsolete.
16155         * modules/strtol (Status, Notice): New sections.
16156         * modules/strtoul (Status, Notice): New sections.
16157
16158 2011-04-25  Bruno Haible  <bruno@clisp.org>
16159
16160         strtod: Remove check for strtod, unless supporting old platforms.
16161         * modules/strtod-obsolete: New file.
16162         * m4/strtod-obsolete.m4: New file.
16163         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
16164         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
16165         * modules/strtod (Depends-on): Add strtod-obsolete.
16166         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
16167
16168 2011-04-25  Bruno Haible  <bruno@clisp.org>
16169
16170         strcase: Make module obsolete.
16171         * modules/strcase (Status, Notice): New sections.
16172
16173 2011-04-25  Bruno Haible  <bruno@clisp.org>
16174
16175         dup2: Remove check for dup2, unless supporting old obsolete platforms.
16176         * modules/dup2-obsolete: New file.
16177         * m4/dup2-obsolete.m4: New file.
16178         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
16179         gl_FUNC_DUP2_OBSOLETE is not also defined.
16180         * modules/dup2 (Depends-on): Add dup2-obsolete.
16181         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
16182
16183 2011-04-25  Bruno Haible  <bruno@clisp.org>
16184
16185         strnlen: Avoid memchr related link error on old obsolete platforms.
16186         * modules/memchr-obsolete: New file.
16187         * m4/memchr-obsolete.m4: New file.
16188         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
16189         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
16190         * modules/memchr (Depends-on): Add memchr-obsolete.
16191         * modules/strnlen (Depends-on): Likewise.
16192         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
16193
16194 2011-04-25  Jim Meyering  <meyering@redhat.com>
16195
16196         maint.mk: makefile_at_at_check extend and clean up
16197         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
16198         in addition to */Makefile.am.
16199         Exempt legitimate uses of @VAR@ notation, e.g.,
16200         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
16201         Remove obsolete coreutils-specific comment.
16202         Prompted by discussion here:
16203         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
16204
16205 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
16206
16207         strtoul: remove dependency on strtol
16208         This is so that 'configure' need not check for strtol merely because
16209         the application needs strtoul.
16210         * modules/strtoul (Files): Add lib/strtol.c.
16211         (Depends-on): Remove strtol.
16212
16213         strtoull: remove dependency on strtoul
16214         This is like the strtoll change.
16215         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
16216         (Depends-on): Remove strtoul.
16217
16218         strtoll: remove dependency on strtol
16219         This is so that 'configure' need not check for strtol merely because
16220         the application needs strtoll.
16221         * modules/strtoll (Files): Add lib/strtol.c.
16222         (Depends-on): Remove strtol.
16223
16224 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16225
16226         inttypes: Move some configure check to module 'imaxdiv'.
16227         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
16228         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
16229         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
16230
16231 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16232
16233         inttypes: Move some configure check to module 'imaxabs'.
16234         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
16235         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
16236         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
16237
16238 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16239
16240         inttypes: Remove configure tests that are not needed since 2009-12-31.
16241         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
16242         gl_cv_header_working_inttypes_h.
16243
16244 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16245
16246         * modules/strnlen (Depends-on): Remove memchr.
16247         The strnlen implementation doesn't need the memchr module's fixes; see
16248         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
16249
16250         strtol: remove dependency on wchar
16251         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
16252         * modules/strtol (Depends-on): Remove wchar.
16253
16254 2011-04-21  Eric Blake  <eblake@redhat.com>
16255
16256         passfd: fix test regression on Linux
16257         * modules/passfd-tests (configure.ac): Correct socketpair check.
16258
16259         passfd: speed up configure and drop unused code
16260         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
16261         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
16262         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
16263         Instead of probing at configure for unix_scm_rights_bsd44_way,
16264         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
16265         check to a struct member probe.
16266         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
16267         (sendfd, recvfd): Update preprocessor checks.
16268         * modules/passfd (Files): Reflect rename, and drop unused file.
16269         (Depends-on): Drop unused dependency.
16270
16271         passfd: allow compilation on mingw
16272         * modules/sys_socket (Depends-on): Add sys_uio.
16273         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
16274         iovec and a minimal struct msghdr.
16275         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
16276         * tests/test-sys_socket.c (main): Enhance test.
16277         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
16278         guaranteed to provide what we need.
16279         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
16280         * modules/passfd-tests (Depends-on): Add sys_wait.
16281         * tests/test-passfd.c (main): Skip test on mingw, for now.
16282         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
16283         partial 'struct msghdr' implementation.
16284
16285         sys_uio: new module
16286         * modules/sys_uio: New module.
16287         * modules/sys_uio-tests: Likewise.
16288         * lib/sys_uio.in.h: New file.
16289         * m4/sys_uio_h.m4: Likewise.
16290         * tests/test-sys_uio.c: Likewise.
16291         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
16292         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
16293
16294 2011-04-20  Jim Meyering  <meyering@redhat.com>
16295
16296         useless-if-before-free: avoid false-positive
16297         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
16298         disjunct so that it too requires a terminating ";".  Without that,
16299         this script would identify as useless one statement from gcc that
16300         was not:
16301           if (aligned_ptr)
16302             free (((void **) aligned_ptr) [-1]);
16303
16304 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
16305
16306         doc: update users.txt.
16307         * users.txt: Add barcode.
16308
16309 2011-04-19  Bruno Haible  <bruno@clisp.org>
16310
16311         ioctl: Remove link dependency on native Windows.
16312         * lib/fd-hook.h: Renamed from lib/close-hook.h.
16313         (gl_close_fn, gl_ioctl_fn): New types.
16314         (struct fd_hook): Renamed from struct close_hook. Change type of
16315         private_close_fn field. Add private_ioctl_fn field.
16316         (close_hook_fn): Add parameter for primary close method.
16317         (execute_close_hooks, execute_all_close_hooks): Likewise.
16318         (ioctl_hook_fn): New type.
16319         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
16320         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16321         argument.
16322         (unregister_fd_hook): Renamed from unregister_close_hook.
16323         * lib/fd-hook.c: Renamed from lib/close-hook.c.
16324         Don't include <unistd.h>.
16325         (close): Remove undef.
16326         (anchor): Update.
16327         (execute_close_hooks): Add argument for primary close method.
16328         (execute_all_close_hooks): Likewise.
16329         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
16330         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
16331         argument. Allow each argument to be NULL.
16332         (unregister_fd_hook): Renamed from unregister_close_hook.
16333         * lib/close.c (rpl_close): Pass 'close' function pointer to
16334         execute_all_close_hooks.
16335         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
16336         (primary_ioctl): New function.
16337         (ioctl): Don't call ioctlsocket here. Instead, call
16338         execute_all_ioctl_hooks.
16339         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
16340         close method.
16341         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
16342         (fd_sockets_hook): Renamed from close_sockets_hook.
16343         (gl_sockets_startup, gl_sockets_cleanup): Update.
16344         * modules/fd-hook: Renamed from modules/close-hook. Update.
16345         * modules/close (Depends-on): Add fd-hook, remove close-hook.
16346         * modules/sockets (Depends-on): Likewise.
16347         * modules/ioctl (Depends-on): Add fd-hook.
16348         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
16349         GNULIB_SOCKET.
16350
16351 2011-04-19  Bruno Haible  <bruno@clisp.org>
16352
16353         Move the support of O_NONBLOCK in open() to the 'open' module.
16354         * modules/nonblocking (Depends-on): Remove 'open'.
16355         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
16356         gl_cv_have_open_O_NONBLOCK.
16357         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
16358         O_NONBLOCK support.
16359         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
16360
16361 2011-04-17  Bruno Haible  <bruno@clisp.org>
16362
16363         pipe2: Simplify code.
16364         * lib/pipe2.c (pipe2): Reduce code duplication.
16365
16366 2011-04-17  Bruno Haible  <bruno@clisp.org>
16367
16368         nonblocking: Add comment.
16369         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
16370
16371 2011-04-17  Bruno Haible  <bruno@clisp.org>
16372
16373         nonblocking: Add tests for sockets.
16374         * tests/test-nonblocking-socket.sh: New file.
16375         * tests/test-nonblocking-socket-main.c: New file.
16376         * tests/test-nonblocking-socket-child.c: New file.
16377         * tests/test-nonblocking-socket.h: New file.
16378         * tests/socket-server.h: New file.
16379         * tests/socket-client.h: New file.
16380         * modules/nonblocking-socket-tests: New file.
16381         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
16382
16383 2011-04-17  Bruno Haible  <bruno@clisp.org>
16384
16385         nonblocking: Add tests for pipes.
16386         * tests/test-nonblocking-pipe.sh: New file.
16387         * tests/test-nonblocking-pipe-main.c: New file.
16388         * tests/test-nonblocking-pipe-child.c: New file.
16389         * tests/test-nonblocking-pipe.h: New file.
16390         * tests/test-nonblocking-writer.h: New file.
16391         * tests/test-nonblocking-reader.h: New file.
16392         * tests/test-nonblocking-misc.h: New file.
16393         * modules/nonblocking-pipe-tests: New file.
16394         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
16395
16396 2011-04-16  Bruno Haible  <bruno@clisp.org>
16397
16398         gettext: Clarify the needed programmer actions.
16399         * modules/gettext (Notice): New field.
16400         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
16401
16402 2011-04-16  Bruno Haible  <bruno@clisp.org>
16403
16404         strchrnul: Tweak last commit.
16405         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
16406         bug.
16407         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
16408         as in _GL_FUNCDECL_SYS.
16409         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
16410         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
16411
16412 2011-04-15  Eric Blake  <eblake@redhat.com>
16413
16414         strchrnul: work around cygwin bug
16415         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
16416         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
16417         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
16418         * modules/string (Makefile.am): Substitute it.
16419         * lib/string.in.h (strchrnul): Use it.
16420
16421 2011-04-15  Bruno Haible  <bruno@clisp.org>
16422
16423         Don't require lib/stdio-write.c when only module 'stdio' is used.
16424         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
16425         invocation.
16426         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
16427
16428 2011-04-14  Bruno Haible  <bruno@clisp.org>
16429
16430         Support non-blocking pipe I/O in read() on native Windows.
16431         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
16432         (read): New declaration.
16433         * lib/read.c: New file.
16434         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
16435         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
16436         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
16437         vscanf): New declarations.
16438         * lib/stdio-read.c: New file.
16439         * m4/read.m4: New file.
16440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16441         REPLACE_READ.
16442         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16443         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16444         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16445         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16446         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16447         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16448         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16449         * modules/read: New file.
16450         * modules/nonblocking (Files): Add lib/stdio-read.c.
16451         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16452         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16453         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16454         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16455         * modules/pread (Depends-on): Add read.
16456         * modules/safe-read (Depends-on): Likewise.
16457         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16458         gets, scanf, vfscanf, vscanf): Verify signatures.
16459         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16460         problem with non-blocking pipes.
16461         * doc/posix-functions/fgetc.texi: Likewise.
16462         * doc/posix-functions/fgets.texi: Likewise.
16463         * doc/posix-functions/fread.texi: Likewise.
16464         * doc/posix-functions/fscanf.texi: Likewise.
16465         * doc/posix-functions/getc.texi: Likewise.
16466         * doc/posix-functions/getchar.texi: Likewise.
16467         * doc/posix-functions/gets.texi: Likewise.
16468         * doc/posix-functions/scanf.texi: Likewise.
16469         * doc/posix-functions/vfscanf.texi: Likewise.
16470         * doc/posix-functions/vscanf.texi: Likewise.
16471
16472 2011-04-14  Bruno Haible  <bruno@clisp.org>
16473
16474         Support non-blocking pipe I/O in write() on native Windows.
16475         * lib/write.c (rpl_write): Split a write request that failed merely
16476         because the byte count was larger than the pipe buffer's size.
16477         * doc/posix-functions/write.texi: Mention the problem with large byte
16478         counts.
16479
16480 2011-04-14  Bruno Haible  <bruno@clisp.org>
16481
16482         wchar: Ensure that wchar_t gets defined on uClibc.
16483         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16484         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16485
16486 2011-04-13  Bruno Haible  <bruno@clisp.org>
16487
16488         safe-write, full-read: Avoid unnecessary compilation units.
16489         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16490         (Depends-on): Remove safe-read. Add ssize_t.
16491         * modules/full-read (Files): Add lib/full-write.c.
16492         (Depends-on): Add full-write.
16493
16494 2011-04-13  Bruno Haible  <bruno@clisp.org>
16495
16496         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16497         * modules/pwrite (Depends-on): Add 'write'.
16498
16499 2011-04-13  Bruno Haible  <bruno@clisp.org>
16500
16501         Support non-blocking pipe I/O in write() on native Windows.
16502         * lib/unistd.in.h (write): Enable replacement also if
16503         GNULIB_UNISTD_H_NONBLOCKING is 1.
16504         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16505         (rpl_write): When failing to write on a non-blocking pipe, change
16506         errno from ENOSPC to EAGAIN.
16507         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16508         putchar, puts, vfprintf, vprintf): Enable replacement also if
16509         GNULIB_STDIO_H_NONBLOCKING is 1.
16510         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16511         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16512         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16513         CALL_WITH_SIGPIPE_EMULATION.
16514         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16515         * m4/nonblocking.m4: New file.
16516         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16517         for non-blocking I/O support.
16518         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16519         GNULIB_UNISTD_H_NONBLOCKING.
16520         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16521         required for non-blocking I/O support.
16522         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16523         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16524         lib/stdio-write.c, m4/asm-underscore.m4.
16525         (Depends-on): Add stdio, unistd.
16526         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16527         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16528         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16529         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16530         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16531         problem with non-blocking pipes.
16532         * doc/posix-functions/fputc.texi: Likewise.
16533         * doc/posix-functions/fputs.texi: Likewise.
16534         * doc/posix-functions/fwrite.texi: Likewise.
16535         * doc/posix-functions/printf.texi: Likewise.
16536         * doc/posix-functions/putc.texi: Likewise.
16537         * doc/posix-functions/putchar.texi: Likewise.
16538         * doc/posix-functions/puts.texi: Likewise.
16539         * doc/posix-functions/vfprintf.texi: Likewise.
16540         * doc/posix-functions/vprintf.texi: Likewise.
16541         * doc/posix-functions/write.texi: Likewise.
16542
16543 2011-04-10  Jim Meyering  <meyering@redhat.com>
16544
16545         maint.mk: prohibit doubled words
16546         Detect them also when they're separated by a newline.
16547         There are 3 ways to customize it:
16548           - disable the test on a per file basis, as usual with rules using
16549             $(VC_LIST_EXCEPT)
16550           - replace the default doubled-word-selecting regexp (affects all files)
16551           - ignore a particular file-vs-doubled-word match
16552         I nearly used that last one to ignore the "is is" match in
16553         coreutils' NEWS file, since the text was "ls -is is ..."
16554         To do that, I would have added this line to cfg.mk:
16555           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16556         but it would have ignored any "is is" match in NEWS.
16557         Low probability, but still...
16558         Instead, I changed the text, slightly:
16559           -  ls -is is now consistent with ls -lis in ignoring values returned
16560           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16561         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16562         (prohibit_doubled_word_): Define.
16563         (sc_prohibit_doubled_word): New rule.
16564         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16565
16566 2011-04-10  Jim Meyering  <meyering@redhat.com>
16567
16568         maint: fix doubled-word typo in comment
16569         * m4/gethostname.m4: s/is is/it is/
16570         * m4/getdomainname.m4: Likewise.
16571
16572 2011-04-10  Jim Meyering  <meyering@redhat.com>
16573
16574         maint: remove doubled word: s/it it/it/
16575         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16576
16577 2011-04-10  Jim Meyering  <meyering@redhat.com>
16578
16579         maint.mk: remove useless semicolon and backslash
16580         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16581         semicolon and backslash.
16582
16583 2011-04-10  Bruno Haible  <bruno@clisp.org>
16584
16585         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16586         * modules/stdint-tests (Depends-on): Add wchar.
16587
16588 2011-04-10  Jim Meyering  <meyering@redhat.com>
16589
16590         maint: remove doubled words in comments, e.g., s/a a/a/
16591         * lib/strptime.c (day_of_the_week): s/the the/the/
16592         * tests/test-chown.h (test_chown): s/a a/a/
16593
16594         test-chown.h: correct a cast
16595         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16596         when the destination is a stat.st_gid.
16597
16598 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16599
16600         getaddrinfo: Fix test for sa_len member.
16601         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16602         include <sys/types.h> before <sys/socket.h>.
16603
16604 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16605
16606         maint: change "can not" to "cannot"
16607         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16608         boundaries.
16609
16610 2011-04-09  Jim Meyering  <meyering@redhat.com>
16611
16612         maint: change "a a" to "a"
16613         * tests/test-lchown.h (test_lchown): s/a a/a/
16614
16615         maint.mk: prohibit \<the the\>
16616         * top/maint.mk (sc_prohibit_the_the): New rule.
16617
16618         maint: fix "the the" in comment
16619         * lib/count-one-bits.h: s/the the/the/
16620
16621         maint: change "can not" to "cannot"
16622         But do not change the occurrences in maintain.texi or in
16623         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16624         * doc/gnulib-tool.texi: s/can not/cannot/
16625         * doc/posix-functions/accept.texi (accept): Likewise.
16626         * doc/posix-functions/socket.texi (socket): Likewise.
16627         * lib/mbrtowc.c: Likewise.
16628
16629         maint.mk: prohibit use of "can not"
16630         * top/maint.mk (sc_prohibit_can_not): New rule.
16631         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16632
16633 2011-04-09  Bruno Haible  <bruno@clisp.org>
16634
16635         careadlinkat: Guard against misuse of careadlinkatcwd.
16636         * lib/careadlinkat.c: Include <stdlib.h>.
16637         (careadlinkatcwd): Check that the fd argument is as expected.
16638
16639 2011-04-09  Bruno Haible  <bruno@clisp.org>
16640
16641         careadlinkat: Use common coding style.
16642         * lib/careadlinkat.c: Move gnulib includes after system includes.
16643
16644 2011-04-09  Bruno Haible  <bruno@clisp.org>
16645
16646         careadlinkat: Clarify specification.
16647         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16648         (careadlinkatcwd): Add comment.
16649         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16650
16651 2011-04-09  Bruno Haible  <bruno@clisp.org>
16652
16653         areadlinkat: Avoid link error on many platforms.
16654         * modules/areadlinkat (Depends-on): Add areadlink.
16655
16656 2011-04-09  Bruno Haible  <bruno@clisp.org>
16657
16658         allocator, careadlinkat: Fix double-inclusion guard.
16659         * lib/allocator.h: Fix double-inclusion guard.
16660         * lib/careadlinkat.h: Likewise.
16661
16662 2011-04-09  Bruno Haible  <bruno@clisp.org>
16663
16664         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16665         * lib/relocwrapper.c: Update dependencies hierarchy.
16666         * build-aux/install-reloc: Update list of files to be compiled.
16667         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16668         lib/allocator.[hc].
16669
16670 2011-04-08  Eric Blake  <eblake@redhat.com>
16671
16672         strftime: silence gnulib-tool warning
16673         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16674
16675 2011-04-08  Bruno Haible  <bruno@clisp.org>
16676
16677         verify: Fix syntax error with GCC 4.6 in C++ mode.
16678         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16679         (HAVE_STATIC_ASSERT): New macro.
16680         (verify_true, verify): Use 'static_assert' if it is supported and
16681         '_Static_assert' is not supported.
16682
16683 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16684
16685         allocator: New module.
16686         * modules/allocator, lib/allocator.c: New files.
16687         * lib/allocator.h (stdlib_allocator): New decl.
16688         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16689         Remove.  Do not include <stdlib.h>.
16690         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16691         * modules/careadlinkat (Files): Remove lib/allocator.h.
16692         (Depends-on): Add allocator.
16693
16694         stdlib: let modules use system malloc, realloc
16695         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16696         if !_GL_USE_STDLIB_ALLOC.
16697         (malloc, realloc): Limit this change to a smaller scope.
16698
16699         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16700         (malloc, realloc): Don't #undef; no longer needed.
16701         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16702         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16703         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16704         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16705         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16706         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16707         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16708         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16709
16710         careadlinkat: rename members to avoid problem
16711         * lib/allocator.h (struct allocator): Rename members from
16712         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16713         and realloc are #define'd.  Reported by Eric Blake in
16714         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16715         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16716
16717 2011-04-08  Eric Blake  <eblake@redhat.com>
16718
16719         nonblocking: reduce dependency
16720         * tests/test-nonblocking.c: Only test sockets when in use.
16721         * modules/nonblocking-tests (Depends-on): Drop socket.
16722         (Makefile.am): Link even if sockets are not present.
16723         * modules/pipe2-tests (Makefile.am): Likewise.
16724         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16725
16726         pipe2: fix O_NONBLOCK support on mingw
16727         * modules/pipe2 (Depends-on): Add nonblocking.
16728         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16729         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16730         * tests/test-nonblocking.c (main): Likewise.
16731         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16732
16733         fcntl-h: fix O_ACCMODE on cygwin
16734         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16735         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16736
16737         pipe-filter: drop O_NONBLOCK workarounds
16738         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16739         * modules/pipe-filter-ii (Depends-on): Likewise.
16740         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16741
16742         nonblocking: provide O_NONBLOCK for mingw
16743         * modules/nonblocking (Depends-on): Add open.
16744         (configure.ac): Set new witness macro.
16745         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16746         * modules/fcntl-h (Makefile.am): Substitute it.
16747         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16748         nonblocking module is in use.
16749         * lib/nonblocking.c: Adjust portability test.
16750         * lib/open.c (open): Don't let native open see gnulib flag.
16751         * tests/test-fcntl-h.c (main): Enhance test.
16752         * tests/test-open.h (test_open): Likewise.
16753         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16754
16755         careadlinkat: fix compilation error on mingw
16756         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16757         within struct allocator.
16758
16759 2011-04-06  Eric Blake  <eblake@redhat.com>
16760
16761         binary-io: relicense under LGPLv2+
16762         * modules/binary-io (License): Relax to LGPLv2+.
16763         Requested for libvirt, and required by pipe2.
16764
16765 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16766
16767         verify: use _Static_assert if available
16768         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16769         (verify_true, verify): Use it if available.  This generates better
16770         diagnostics with GCC 4.6.0 and later.
16771
16772 2011-04-05  Bruno Haible  <bruno@clisp.org>
16773
16774         Remove leftover generated .h files after config.status changed.
16775
16776         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16777         GL_GENERATE_ALLOCA_H.
16778         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16779         GL_GENERATE_ALLOCA_H evaluates to false.
16780
16781         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16782         GL_GENERATE_ARGZ_H.
16783         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16784         evaluates to false.
16785
16786         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16787         GL_GENERATE_BYTESWAP_H.
16788         * modules/byteswap (Makefile.am): Remove byteswap.h if
16789         GL_GENERATE_BYTESWAP_H evaluates to false.
16790
16791         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16792         GL_GENERATE_ERRNO_H.
16793         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16794         evaluates to false.
16795
16796         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16797         GL_GENERATE_FLOAT_H.
16798         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16799         evaluates to false.
16800
16801         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16802         GL_GENERATE_FNMATCH_H.
16803         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16804         GL_GENERATE_FNMATCH_H evaluates to false.
16805
16806         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16807         GL_GENERATE_GLOB_H.
16808         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16809         evaluates to false.
16810
16811         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16812         automake conditional GL_GENERATE_ICONV_H.
16813         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16814         evaluates to false.
16815
16816         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16817         GL_GENERATE_NETINET_IN_H.
16818         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16819         GL_GENERATE_NETINET_IN_H evaluates to false.
16820
16821         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16822         conditional GL_GENERATE_PTHREAD_H.
16823         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16824         * modules/pthread (Makefile.am): Remove pthread.h if
16825         GL_GENERATE_PTHREAD_H evaluates to false.
16826
16827         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16828         GL_GENERATE_SCHED_H.
16829         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16830         evaluates to false.
16831
16832         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16833         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16834         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16835         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16836
16837         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16838         GL_GENERATE_STDARG_H.
16839         * modules/stdarg (Makefile.am): Remove stdarg.h if
16840         GL_GENERATE_STDARG_H evaluates to false.
16841
16842         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16843         GL_GENERATE_STDBOOL_H.
16844         * modules/stdbool (Makefile.am): Remove stdbool.h if
16845         GL_GENERATE_STDBOOL_H evaluates to false.
16846
16847         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16848         conditional GL_GENERATE_STDDEF_H.
16849         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16850         * modules/stddef (Makefile.am): Remove stddef.h if
16851         GL_GENERATE_STDDEF_H evaluates to false.
16852
16853         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16854         GL_GENERATE_STDINT_H.
16855         * modules/stdint (Makefile.am): Remove stdint.h if
16856         GL_GENERATE_STDINT_H evaluates to false.
16857
16858         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16859         GL_GENERATE_SYSEXITS_H.
16860         * modules/sysexits (Makefile.am): Remove sysexits.h if
16861         GL_GENERATE_SYSEXITS_H evaluates to false.
16862
16863         Reported by Karl Berry and Ralf Wildenhues.
16864
16865 2011-04-05  Bruno Haible  <bruno@clisp.org>
16866
16867         Ensure to rebuild generated .h files when config.status has changed.
16868         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16869         config.status.
16870         * modules/ctype (Makefile.am): Likewise.
16871         * modules/dirent (Makefile.am): Likewise.
16872         * modules/errno (Makefile.am): Likewise.
16873         * modules/fcntl-h (Makefile.am): Likewise.
16874         * modules/float (Makefile.am): Likewise.
16875         * modules/getopt-posix (Makefile.am): Likewise.
16876         * modules/glob (Makefile.am): Likewise.
16877         * modules/iconv-h (Makefile.am): Likewise.
16878         * modules/inttypes (Makefile.am): Likewise.
16879         * modules/langinfo (Makefile.am): Likewise.
16880         * modules/locale (Makefile.am): Likewise.
16881         * modules/math (Makefile.am): Likewise.
16882         * modules/netdb (Makefile.am): Likewise.
16883         * modules/netinet_in (Makefile.am): Likewise.
16884         * modules/poll-h (Makefile.am): Likewise.
16885         * modules/pthread (Makefile.am): Likewise.
16886         * modules/pty (Makefile.am): Likewise.
16887         * modules/sched (Makefile.am): Likewise.
16888         * modules/search (Makefile.am): Likewise.
16889         * modules/selinux-h (Makefile.am): Likewise.
16890         * modules/signal (Makefile.am): Likewise.
16891         * modules/spawn (Makefile.am): Likewise.
16892         * modules/stdarg (Makefile.am): Likewise.
16893         * modules/stdbool (Makefile.am): Likewise.
16894         * modules/stddef (Makefile.am): Likewise.
16895         * modules/stdint (Makefile.am): Likewise.
16896         * modules/stdio (Makefile.am): Likewise.
16897         * modules/stdlib (Makefile.am): Likewise.
16898         * modules/string (Makefile.am): Likewise.
16899         * modules/strings (Makefile.am): Likewise.
16900         * modules/sys_file (Makefile.am): Likewise.
16901         * modules/sys_ioctl (Makefile.am): Likewise.
16902         * modules/sys_select (Makefile.am): Likewise.
16903         * modules/sys_socket (Makefile.am): Likewise.
16904         * modules/sys_stat (Makefile.am): Likewise.
16905         * modules/sys_time (Makefile.am): Likewise.
16906         * modules/sys_times (Makefile.am): Likewise.
16907         * modules/sys_utsname (Makefile.am): Likewise.
16908         * modules/sys_wait (Makefile.am): Likewise.
16909         * modules/sysexits (Makefile.am): Likewise.
16910         * modules/termios (Makefile.am): Likewise.
16911         * modules/time (Makefile.am): Likewise.
16912         * modules/unistd (Makefile.am): Likewise.
16913         * modules/wchar (Makefile.am): Likewise.
16914         * modules/wctype-h (Makefile.am): Likewise.
16915         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16916
16917 2011-04-05  Bruno Haible  <bruno@clisp.org>
16918
16919         pipe2: Relicense under LGPLv2+.
16920         * modules/pipe2 (License): Change to LGPLv2+.
16921         Requested by Eric Blake, for libvirt.
16922
16923 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16924
16925         bootstrap: compute gnulib_extra_files after updating build_aux
16926         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16927         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16928
16929 2011-04-05  Eric Blake  <eblake@redhat.com>
16930
16931         bootstrap: preserve git whitelist item sorting
16932         * build-aux/bootstrap (sort_patterns): New function.
16933         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16934
16935 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16936
16937         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16938         sc_space_tab check.
16939
16940 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16941
16942         areadlink, areadlinkat: rewrite in terms of careadlinkat
16943         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16944         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16945         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16946         (malloc, realloc): Remove #undefs.
16947         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16948         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16949         readlink, ssize_t, stdint, unistd.
16950         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16951         areadlink, stdint.
16952
16953         careadlinkat: new module
16954         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16955         * modules/careadlinkat: New files, written by me with
16956         a review and feedback from Ben Pfaff in
16957         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16958
16959 2011-04-01  Bruno Haible  <bruno@clisp.org>
16960
16961         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16962         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16963         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16964         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16965         Reported by Bruce Korb <bruce.korb@gmail.com>.
16966
16967 2011-04-01  Bruno Haible  <bruno@clisp.org>
16968
16969         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16970         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16971         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16972         * modules/wcpcpy (Depends-on): Add extensions.
16973         * modules/wcpncpy (Depends-on): Likewise.
16974         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16975         systems.
16976         * doc/posix-functions/wcpncpy.texi: Likewise.
16977         * doc/posix-functions/wcwidth.texi: Likewise.
16978
16979 2011-03-31  Eric Blake  <eblake@redhat.com>
16980
16981         nonblocking: fix mingw test failures
16982         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16983         non-blocking flag on regular file.
16984         (get_nonblocking_flag): Set errno on invalid fd.
16985         * tests/test-nonblocking.c (main): Avoid test failure on
16986         directories if fchdir is not active.
16987         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16988
16989 2011-03-31  Bruno Haible  <bruno@clisp.org>
16990
16991         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16992         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16993         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16994         Reported by Simon Josefsson <simon@josefsson.org>.
16995
16996 2011-03-31  Bruno Haible  <bruno@clisp.org>
16997         and Eric Blake  <eblake@redhat.com>
16998
16999         nonblocking: new module
17000         * modules/nonblocking: New module.
17001         * modules/nonblocking-tests: Likewise.
17002         * lib/nonblocking.h: New file.
17003         * lib/nonblocking.c: Likewise.
17004         * tests/test-nonblocking.c: New test.
17005         * lib/ioctl.c (ioctl) [mingw]: Update comment.
17006
17007 2011-03-30  Bruno Haible  <bruno@clisp.org>
17008
17009         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
17010         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
17011         instead of 'printf' format for GCC >= 4.4.
17012         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
17013         (fprintf, printf, vfprintf, vprintf): Declare with
17014         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
17015         the system's vfprintf() function.
17016         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
17017
17018 2011-03-30  Eric Blake  <eblake@redhat.com>
17019
17020         passfd: fix scoping bug
17021         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
17022         before sendmsg/recvmsg.
17023
17024         passfd: standardize coding conventions
17025         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
17026         can be learned at compile time.
17027         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
17028         ifdefs.
17029         (sendfd, recvfd): Follow gnulib code conventions.
17030
17031         passfd: fix incorrect sendmsg arguments
17032         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
17033         incorrect msg_controllen value.
17034         * modules/passfd-tests (Depends-on): Check for alarm.
17035         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
17036         Reported by Bastien ROUCARIES.
17037
17038 2011-03-30  Bruno Haible  <bruno@clisp.org>
17039
17040         c-strcasestr: Relicense under LGPLv2+.
17041         * modules/c-strcasestr (License): Change to LGPLv2+.
17042         Requested by Eric Blake, for libvirt.
17043
17044 2011-03-30  Simon Josefsson  <simon@josefsson.org>
17045
17046         * users.txt: Add libidn2.  Fix libtasn1 link.
17047
17048 2011-03-30  Jim Meyering  <meyering@redhat.com>
17049
17050         tests: readlink* ("",... fails with EINVAL on newer kernels
17051         readlink and readlinkat have typically failed with ENOENT for
17052         the invalid, empty file name,  "".  However, with the advent
17053         of linux-2.6.39, they fail with EINVAL.
17054         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
17055         when operating on the empty file name.
17056         * tests/test-readlink.h (test_readlink): Likewise.
17057
17058 2011-03-29  Bruno Haible  <bruno@clisp.org>
17059
17060         Relicense some modules under LGPLv2+, for libidn2.
17061         * modules/array-mergesort (License): Change to LGPLv2+.
17062         * modules/c-strcaseeq (License): Likewise.
17063         * modules/striconveh (License): Likewise.
17064         * modules/striconveha (License): Likewise.
17065         * modules/uniconv/base (License): Likewise.
17066         * modules/uniconv/u8-conv-from-enc (License): Likewise.
17067         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
17068         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
17069         * modules/unictype/base (License): Likewise.
17070         * modules/unictype/bidiclass-of (License): Likewise.
17071         * modules/unictype/category-M (License): Likewise.
17072         * modules/unictype/category-none (License): Likewise.
17073         * modules/unictype/category-of (License): Likewise.
17074         * modules/unictype/category-test (License): Likewise.
17075         * modules/unictype/category-test-withtable (License): Likewise.
17076         * modules/unictype/combining-class (License): Likewise.
17077         * modules/unictype/joiningtype-of (License): Likewise.
17078         * modules/unictype/scripts (License): Likewise.
17079         * modules/uninorm/base (License): Likewise.
17080         * modules/uninorm/canonical-decomposition (License): Likewise.
17081         * modules/uninorm/composition (License): Likewise.
17082         * modules/uninorm/decompose-internal (License): Likewise.
17083         * modules/uninorm/decomposition-table (License): Likewise.
17084         * modules/uninorm/nfc (License): Likewise.
17085         * modules/uninorm/nfd (License): Likewise.
17086         * modules/uninorm/u32-normalize (License): Likewise.
17087         * modules/unistr/base (License): Likewise.
17088         * modules/unistr/u32-cpy (License): Likewise.
17089         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
17090         * modules/unistr/u32-to-u8 (License): Likewise.
17091         * modules/unistr/u32-uctomb (License): Likewise.
17092         * modules/unistr/u8-check (License): Likewise.
17093         * modules/unistr/u8-mblen (License): Likewise.
17094         * modules/unistr/u8-mbtouc (License): Likewise.
17095         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
17096         * modules/unistr/u8-mbtoucr (License): Likewise.
17097         * modules/unistr/u8-prev (License): Likewise.
17098         * modules/unistr/u8-strlen (License): Likewise.
17099         * modules/unistr/u8-to-u32 (License): Likewise.
17100         * modules/unistr/u8-uctomb (License): Likewise.
17101         * modules/unitypes (License): Likewise.
17102         Requested by Simon Josefsson.
17103
17104 2011-03-29  Simon Josefsson  <simon@josefsson.org>
17105
17106         lib-symbol-visibility: Add a notice.
17107         * modules/lib-symbol-visibility (Notice): New field.
17108
17109 2011-03-29  Bruno Haible  <bruno@clisp.org>
17110
17111         getaddrinfo: Doc fix.
17112         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
17113         section "fixed in Gnulib".
17114
17115 2011-03-28  Simon Josefsson  <simon@josefsson.org>
17116
17117         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
17118         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
17119
17120 2011-03-26  Bruno Haible  <bruno@clisp.org>
17121
17122         unictype/property-byname: Reduce the number of load-time relocations.
17123         * lib/unictype/pr_byname.c: Include <stdlib.h>.
17124         (UC_PROPERTY_INDEX_*): New enumeration values.
17125         (uc_property_byname): Convert an index from the lookup table to an
17126         uc_property_t.
17127         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
17128         values.
17129
17130 2011-03-26  Bruno Haible  <bruno@clisp.org>
17131
17132         unictype/property-byname: Allow omitted word separators and aliases.
17133         * lib/unictype/pr_byname.gperf: Add property names without word
17134         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
17135         for 'space'.
17136
17137 2011-03-26  Bruno Haible  <bruno@clisp.org>
17138
17139         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
17140         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
17141         also hyphens to space.
17142         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
17143         without spaces.
17144         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
17145
17146 2011-03-26  Bruno Haible  <bruno@clisp.org>
17147
17148         unictype/joiningtype-byname: Recognize long names as well.
17149         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
17150         a long name.
17151         * lib/unictype/joiningtype_byname.c: Include <string.h>,
17152         unictype/joiningtype_byname.h.
17153         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
17154         * lib/unictype/joiningtype_byname.gperf: New file.
17155         * modules/unictype/joiningtype-byname (Files): Add
17156         lib/unictype/joiningtype_byname.gperf.
17157         (Depends-on): Add gperf.
17158         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
17159         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
17160         long names.
17161
17162         Tests for module 'unictype/joiningtype-longname'.
17163         * modules/unictype/joiningtype-longname-tests: New file.
17164         * tests/unictype/test-joiningtype_longname.c: New file.
17165
17166         New module 'unictype/joiningtype-longname'.
17167         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
17168         * lib/unictype/joiningtype_longname.c: New file.
17169         * modules/unictype/joiningtype-longname: New file.
17170         * modules/unictype/joiningtype-all (Depends-on): Add
17171         unictype/joiningtype-longname.
17172
17173 2011-03-26  Bruno Haible  <bruno@clisp.org>
17174
17175         unictype/bidiclass-byname: Recognize long names as well.
17176         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
17177         name.
17178         * lib/unictype/bidi_byname.c: Include <string.h>,
17179         unictype/bidi_byname.h.
17180         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
17181         * lib/unictype/bidi_byname.gperf: New file.
17182         * modules/unictype/bidiclass-byname (Files): Add
17183         lib/unictype/bidi_byname.gperf.
17184         (Depends-on): Add gperf.
17185         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
17186         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
17187         long names.
17188
17189         Tests for module 'unictype/bidiclass-longname'.
17190         * modules/unictype/bidiclass-longname-tests: New file.
17191         * tests/unictype/test-bidi_longname.c: New file.
17192
17193         New module 'unictype/bidiclass-longname'.
17194         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
17195         * lib/unictype/bidi_longname.c: New file.
17196         * modules/unictype/bidiclass-longname: New file.
17197         * modules/unictype/bidiclass-all (Depends-on): Add
17198         unictype/bidiclass-longname.
17199
17200 2011-03-26  Bruno Haible  <bruno@clisp.org>
17201
17202         unictype/bidi*: Rename modules.
17203         * modules/unictype/bidiclass-all: Renamed from
17204         modules/unictype/bidicategory-all.
17205         * modules/unictype/bidiclass-name: Renamed from
17206         modules/unictype/bidiclass-name.
17207         (Description): Update.
17208         * modules/unictype/bidiclass-name-tests: Renamed from
17209         modules/unictype/bidicategory-name-tests.
17210         * modules/unictype/bidiclass-byname: Renamed from
17211         modules/unictype/bidicategory-byname.
17212         (Description): Update.
17213         * modules/unictype/bidiclass-byname-tests: Renamed from
17214         modules/unictype/bidicategory-byname-tests.
17215         * modules/unictype/bidiclass-of: Renamed from
17216         modules/unictype/bidicategory-of.
17217         (Description): Update.
17218         * modules/unictype/bidiclass-of-tests: Renamed from
17219         modules/unictype/bidicategory-of-tests.
17220         * modules/unictype/bidiclass-test: Renamed from
17221         modules/unictype/bidicategory-test.
17222         (Description): Update.
17223         * modules/unictype/bidiclass-test-tests: Renamed from
17224         modules/unictype/bidicategory-test-tests.
17225         * modules/unictype/bidicategory-all: New file, a simple redirection.
17226         * modules/unictype/bidicategory-name: Likewise.
17227         * modules/unictype/bidicategory-byname: Likewise.
17228         * modules/unictype/bidicategory-of: Likewise.
17229         * modules/unictype/bidicategory-test: Likewise.
17230         * modules/unictype/property-bidi-* (Dependencies): Update.
17231         * lib/unictype/bidi_*.c: Update comment.
17232
17233 2011-03-26  Bruno Haible  <bruno@clisp.org>
17234
17235         unictype/bidi*: Rename functions, part 2.
17236         * modules/unictype/bidicategory-name (configure.ac): Update required
17237         libunistring version.
17238         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
17239
17240 2011-03-25  Bruno Haible  <bruno@clisp.org>
17241
17242         New module 'unictype/combining-class-all'.
17243         * modules/unictype/combining-class-all: New file.
17244
17245         Tests for module 'unictype/combining-class-byname'.
17246         * modules/unictype/combining-class-byname-tests: New file.
17247         * tests/unictype/test-combiningclass_byname.c: New file.
17248
17249         New module 'unictype/combining-class-byname'.
17250         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
17251         * lib/unictype/combiningclass_byname.c: New file.
17252         * lib/unictype/combiningclass_byname.gperf: New file.
17253         * modules/unictype/combining-class-byname: New file.
17254
17255         Tests for module 'unictype/combining-class-longname'.
17256         * modules/unictype/combining-class-longname-tests: New file.
17257         * tests/unictype/test-combiningclass_longname.c: New file.
17258
17259         New module 'unictype/combining-class-longname'.
17260         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
17261         * lib/unictype/combiningclass_longname.c: New file.
17262         * modules/unictype/combining-class-longname: New file.
17263
17264         Tests for module 'unictype/combining-class-name'.
17265         * modules/unictype/combining-class-name-tests: New file.
17266         * tests/unictype/test-combiningclass_name.c: New file.
17267
17268         New module 'unictype/combining-class-name'.
17269         * lib/unictype.in.h (uc_combining_class_name): New declaration.
17270         * lib/unictype/combiningclass_name.c: New file.
17271         * modules/unictype/combining-class-name: New file.
17272
17273 2011-03-25  Bruno Haible  <bruno@clisp.org>
17274
17275         unictype/combining-class: Rename source files.
17276         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
17277         of unictype/combining.h.
17278         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
17279         Update.
17280         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
17281         * modules/unictype/combining-class (Description): Fix.
17282         (Files, Makefile.am): Update.
17283         * tests/unictype/test-combiningclass.c: Renamed from
17284         tests/unictype/test-combining.c.
17285         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
17286
17287 2011-03-25  Bruno Haible  <bruno@clisp.org>
17288
17289         unictype: Update list of canonical combining classes.
17290         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
17291
17292 2011-03-25  Bruno Haible  <bruno@clisp.org>
17293
17294         unictype/category-byname: Recognize long names as well.
17295         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
17296         a long name.
17297         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
17298         unictype/categ_byname.h.
17299         (UC_CATEGORY_INDEX_*): New enumeration values.
17300         (uc_general_category_byname): Use uc_general_category_lookup and
17301         convert from index to value.
17302         * lib/unictype/categ_byname.gperf: New file.
17303         * modules/unictype/category-byname (Files): Add
17304         lib/unictype/categ_byname.gperf.
17305         (Depends-on): Add gperf.
17306         (Makefile.am): Add rule for generating unictype/categ_byname.h.
17307         * tests/unictype/test-categ_byname.c (main): Test the recognition of
17308         long names.
17309
17310         Tests for module 'unictype/category-longname'.
17311         * modules/unictype/category-longname-tests: New file.
17312         * tests/unictype/test-categ_longname.c: New file.
17313
17314         New module 'unictype/category-longname'.
17315         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
17316         * lib/unictype/categ_longname.c: New file.
17317         * modules/unictype/category-longname: New file.
17318         * modules/unictype/category-all (Depends-on): Add it.
17319
17320 2011-03-25  Bruno Haible  <bruno@clisp.org>
17321
17322         Tests for module 'unictype/category-LC'.
17323         * modules/unictype/category-LC-tests: New file.
17324         * tests/unictype/test-categ_LC.c: New file, automatically generated.
17325
17326         New module 'unictype/category-LC'.
17327         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
17328         (UC_CATEGORY_LC): New declaration.
17329         (UC_CASED_LETTER): New macro.
17330         * lib/gen-uni-tables.c (is_category_LC): New function.
17331         (output_categories): Also handle category LC.
17332         (UC_CATEGORY_MASK_LC): New enumeration value.
17333         (general_category_byname): Also handle category LC.
17334         * lib/unictype/categ_LC.c: New file.
17335         * lib/unictype/categ_LC.h: New file, automatically generated.
17336         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
17337         category LC.
17338         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
17339         * modules/unictype/category-LC: New file.
17340         * modules/unictype/category-byname (Depends-on): Add
17341         unictype/category-LC.
17342         * modules/unictype/category-all (Depends-on): Likewise.
17343
17344 2011-03-25  Eric Blake  <eblake@redhat.com>
17345
17346         xmalloc: revert yesterday's regression
17347         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
17348         realloc's underlying behavior (allowing allocation of zero-size
17349         objects, especially if malloc-gnu is also in use).
17350
17351 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
17352
17353         maint.mk: add missing version to VC-tag
17354         * top/maint.mk: git tag was missing actual tag name; add it.
17355
17356         valgrind: do leak checking, and exit with code 1 on error (not 0)
17357         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
17358         to VALGRIND.
17359
17360 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
17361
17362         posix-modules: say what it does.
17363         * posix-modules: Add a line to the --help output saying what it does.
17364
17365 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17366
17367         xmalloc: Do not leak if underlying realloc is C99 compatible.
17368         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
17369         This avoids a leak on C99-based systems.  See
17370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
17371
17372 2011-03-24  Eric Blake  <eblake@redhat.com>
17373
17374         realloc: document portability problem
17375         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
17376         passing 0 size to realloc.
17377
17378 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
17379
17380         doc: update users.txt
17381         * users.txt: Add cvsps, tmpwatch
17382
17383 2011-03-23  Matt Rice  <ratmice@gmail.com>
17384
17385         doc: update users.txt
17386         * users.txt: Add gdb.
17387
17388 2011-03-23  Jim Meyering  <meyering@redhat.com>
17389
17390         doc: update users.txt
17391         Looking through matches up to the following URL (there are still
17392         several more pages), I found several projects that use gnulib:
17393         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
17394         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
17395         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
17396
17397 2011-03-22  Bruno Haible  <bruno@clisp.org>
17398
17399         unictype/bidi*: Rename functions.
17400         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
17401         uc_bidi_class, uc_is_bidi_class): New declarations.
17402         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
17403         uc_bidi_category_byname.
17404         (uc_bidi_category_byname): New function.
17405         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
17406         u_bidi_category_name.
17407         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
17408         (uc_bidi_category_name): New function.
17409         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
17410         uc_bidi_category.
17411         (uc_bidi_category): New function.
17412         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
17413         uc_is_bidi_category. Invoke uc_bidi_class.
17414         (uc_is_bidi_category): New function.
17415         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
17416         instead of uc_bidi_category_byname.
17417         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
17418         instead of uc_bidi_category_name.
17419         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
17420         uc_bidi_category.
17421         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
17422         instead of uc_is_bidi_category.
17423
17424 2011-03-21  Bruno Haible  <bruno@clisp.org>
17425
17426         New module 'unictype/joininggroup-all'.
17427         * modules/unictype/joininggroup-all: New file.
17428
17429         Tests for module 'unictype/joininggroup-of'.
17430         * modules/unictype/joininggroup-of-tests: New file.
17431         * tests/unictype/test-joininggroup_of.c: New file.
17432         * tests/unictype/test-joininggroup_of.h: New file, automatically
17433         generated by gen-uni-tables.
17434
17435         New module 'unictype/joininggroup-of'.
17436         * modules/unictype/joininggroup-of: New file.
17437         * lib/unictype/joininggroup_of.c: New file.
17438         * lib/unictype/joininggroup_of.h: New file, automatically generated by
17439         gen-uni-tables.
17440
17441         Tests for module 'unictype/joininggroup-byname'.
17442         * modules/unictype/joininggroup-byname-tests: New file.
17443         * tests/unictype/test-joininggroup_byname.c: New file.
17444
17445         New module 'unictype/joininggroup-byname'.
17446         * modules/unictype/joininggroup-byname: New file.
17447         * lib/unictype/joininggroup_byname.c: New file.
17448         * lib/unictype/joininggroup_byname.gperf: New file.
17449
17450         Tests for module 'unictype/joininggroup-name'.
17451         * modules/unictype/joininggroup-name-tests: New file.
17452         * tests/unictype/test-joininggroup_name.c: New file.
17453
17454         New module 'unictype/joininggroup-name'.
17455         * modules/unictype/joininggroup-name: New file.
17456         * lib/unictype/joininggroup_name.c: New file.
17457         * lib/unictype/joininggroup_name.h: New file.
17458
17459         New module 'unictype/joiningtype-all'.
17460         * modules/unictype/joiningtype-all: New file.
17461
17462         Tests for module 'unictype/joiningtype-of'.
17463         * modules/unictype/joiningtype-of-tests: New file.
17464         * tests/unictype/test-joiningtype_of.c: New file.
17465         * tests/unictype/test-joiningtype_of.h: New file, automatically
17466         generated by gen-uni-tables.
17467
17468         New module 'unictype/joiningtype-of'.
17469         * modules/unictype/joiningtype-of: New file.
17470         * lib/unictype/joiningtype_of.c: New file.
17471         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17472         gen-uni-tables.
17473
17474         Tests for module 'unictype/joiningtype-byname'.
17475         * modules/unictype/joiningtype-byname-tests: New file.
17476         * tests/unictype/test-joiningtype_byname.c: New file.
17477
17478         New module 'unictype/joiningtype-byname'.
17479         * modules/unictype/joiningtype-byname: New file.
17480         * lib/unictype/joiningtype_byname.c: New file.
17481
17482         Tests for module 'unictype/joiningtype-name'.
17483         * modules/unictype/joiningtype-name-tests: New file.
17484         * tests/unictype/test-joiningtype_name.c: New file.
17485
17486         New module 'unictype/joiningtype-name'.
17487         * modules/unictype/joiningtype-name: New file.
17488         * lib/unictype/joiningtype_name.c: New file.
17489
17490         unictype: Add support for Arabic shaping properties.
17491         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17492         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17493         declarations.
17494         (UC_JOINING_GROUP_*): New enumeration values.
17495         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17496         declarations.
17497         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17498         (unicode_joining_type): New variable.
17499         (UC_JOINING_GROUP_*): New enumeration values.
17500         (unicode_joining_group): New variable.
17501         (fill_arabicshaping, joining_type_as_c_identifier,
17502         output_joining_type_test, output_joining_type,
17503         joining_group_as_c_identifier, output_joining_group_test,
17504         output_joining_group): New functions.
17505         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17506         fill_arabicshaping and output_joining_type_test, output_joining_type,
17507         output_joining_group_test, output_joining_group.
17508         Reported by Simon Josefsson.
17509
17510 2011-03-21  Jim Meyering  <meyering@redhat.com>
17511
17512         strftime: fix a bug in yesterday's change
17513         * lib/strftime.c (add): Accommodate width's initial value of -1.
17514         Otherwise, nstrftime would copy uninitialized data into
17515         the result buffer.
17516
17517 2011-03-21  Jim Meyering  <meyering@redhat.com>
17518
17519         tests: add strftime-tests module
17520         * tests/test-strftime.c: New file.
17521         * modules/strftime-tests: New module.
17522
17523 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17524
17525         strftime: don't assume a byte count fits in 'int'
17526         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17527         found this problem by static analysis, using gcc -Wstrict-overflow
17528         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17529         on an integer overflow having undefined behavior, but it turns out
17530         that the argument is a size, which might not fit in 'int' anyway,
17531
17532 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17533
17534         stdio: don't require ignore_value around fwrite
17535
17536         This patch works around libc bug 11959
17537         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17538         Without this patch, applications must often write
17539         ignore_value (fwrite (...)) even though the ignore_value is
17540         not helpful here.  It's common to write many objects, using
17541         fwrite/printf/etc., and then use ferror to detect output error.
17542
17543         I considered making this patch optional, but decided against it,
17544         because libc is obviously being inconsistent here: there is no
17545         reason libc should insist that user code must inspect fwrite
17546         return's value without also insisting that it inspect printf's,
17547         putchar's, etc.  If user code wants to have a strict style where
17548         all these functions' values are checked (so that ferror need not
17549         be checked), we could add support for that style in a new gnulib
17550         module, but in the meantime it's better to be consistent and to
17551         support common usage.
17552
17553         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17554         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17555         that we are compiling in checking mode, and if not C++, and
17556         if not already wrapping fwrite for some other reason.
17557         (fwrite): #define to rpl_fwrite if the latter is defined.
17558
17559 2011-03-20  Bruno Haible  <bruno@clisp.org>
17560
17561         verror: Fix compilation error introduced on 2011-02-13.
17562         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17563         instead of __attribute__.
17564         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17565
17566 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17567             Bruno Haible  <bruno@clisp.org>
17568
17569         socklen: do not depend on sys_socket
17570         While trying to modify Emacs to use gnulib's socklen module,
17571         I discovered a circular dependency: socklen depends on sys_socket
17572         and vice versa.  Emacs can use socklen, but it does not need
17573         sys_socket because it has its own substitute for sys/socket.h.
17574         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17575         gl_TYPE_SOCKLEN_T.
17576         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17577         gl_PREREQ_SYS_H_SOCKET.
17578         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17579         gl_PREREQ_SYS_H_SOCKET.
17580         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17581         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17582         * modules/socklen (Depends-on): Do not depend on sys_socket.
17583         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17584
17585 2011-03-20  Jim Meyering  <meyering@redhat.com>
17586
17587         maint.mk: sort file names *after* new transformation
17588         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17589         prefix would have led to an unwarranted failure in GNU parted.
17590         Sort after that transformation.
17591
17592 2011-03-19  Jim Meyering  <meyering@redhat.com>
17593
17594         maint.mk: fix po-file syntax-check rule
17595         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17596         Patch by Bruno Haible.
17597
17598 2011-03-19  Bruno Haible  <bruno@clisp.org>
17599
17600         socklen: Update comment.
17601         * m4/socklen.m4: Update comment about platforms.
17602
17603 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17604             Bruno Haible  <bruno@clisp.org>
17605
17606         inet_ntop, inet_pton: Simplify.
17607         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17608         documented to provide socklen_t and we already depend on sys_socket.
17609         * modules/inet_pton (Depends-on): Likewise.
17610         * lib/arpa_inet.in.h: Adjust comment.
17611
17612 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17613             Bruno Haible  <bruno@clisp.org>
17614
17615         netdb: Simplify.
17616         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17617         documented to provide socklen_t and we already depend on sys_socket.
17618         * lib/netdb.in.h: Adjust comment.
17619
17620 2011-03-19  Bruno Haible  <bruno@clisp.org>
17621
17622         sys_socket, netdb: Document problem with socklen_t.
17623         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17624         platforms.
17625         * doc/posix-headers/netdb.texi: Likewise.
17626
17627 2011-03-18  Eric Blake  <eblake@redhat.com>
17628
17629         maint.mk: let po check work in VPATH build
17630         * top/maint.mk (po_file): Allow cfg.mk override.
17631         (sc_po_check): Allow VPATH use.
17632         Reported by Jiri Denemark.
17633
17634 2011-03-16  Jim Meyering  <meyering@redhat.com>
17635
17636         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17637         Before, you would have had to create one .x-sc_ file per rule in order
17638         to exempt offending files.  Now, you may instead use a Make variable --
17639         usually defined in cfg.mk -- whose name identifies the affected rule.
17640         * top/maint.mk (_sc_excl): Define.
17641         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17642         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17643
17644 2011-03-13  Bruno Haible  <bruno@clisp.org>
17645
17646         ignore-value tests: Avoid warnings.
17647         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17648         empty for gcc < 3.4.
17649
17650 2011-03-13  Bruno Haible  <bruno@clisp.org>
17651
17652         passfd: Fix link error on Solaris.
17653         * modules/passfd (Description): Correct.
17654         (Depends-on): Add socketlib.
17655         (Link): New section.
17656         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17657
17658 2011-03-13  Bruno Haible  <bruno@clisp.org>
17659
17660         passfd: Fix link error on AIX 5.2.
17661         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17662
17663 2011-03-13  Bruno Haible  <bruno@clisp.org>
17664
17665         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17666         * lib/sys_socket.in.h: Include <stddef.h>.
17667         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17668         CMSG_FIRSTHDR. Remove unused variable.
17669
17670 2011-03-13  Bruno Haible  <bruno@clisp.org>
17671
17672         passfd: Fix compilation error on OpenBSD.
17673         * lib/passfd.c: Include <sys/uio.h>.
17674
17675 2011-03-13  Bruno Haible  <bruno@clisp.org>
17676
17677         passfd test: Fix warnings.
17678         * tests/test-passfd.c: Include <sys/wait.h>.
17679         (main): Fix typo.
17680
17681 2011-03-13  Bruno Haible  <bruno@clisp.org>
17682
17683         passfd module, part 4, tweaks.
17684         * tests/test-passfd.c: Reorder includes.
17685         (main): Fix perror and printf calls.
17686
17687 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17688
17689         passfd module, part 4.
17690         * modules/passfd-tests: New file.
17691         * tests/test-passfd.c: New file.
17692
17693 2011-03-13  Jim Meyering  <meyering@redhat.com>
17694
17695         Makefile: rely on GNU make; derive syntax-check rule names
17696         Rather than requiring that each sc_ rule be listed as a dependent
17697         of "check", use features of GNU make to derive the list.
17698         * Makefile (syntax-check-rules): Define.
17699         (check): Depend on the new variable, not the hard-coded list.
17700
17701 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17702             Bruno Haible  <bruno@clisp.org>
17703
17704         passfd module, part 3.
17705         * lib/passfd.h (recvfd): Add a flags argument.
17706         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17707         (recvfd): Add a flags argument.
17708         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17709         exists.
17710         * modules/passfd (Depends-on): Add cloexec.
17711         Suggested by Eric Blake.
17712
17713 2011-03-13  Bruno Haible  <bruno@clisp.org>
17714
17715         passfd module, part 2, tweaks.
17716         * modules/passfd (Files): Reorder.
17717         (Depends-on): Remove errno.
17718         (Include): Remove <sys/socket.h>, <sys/un.h>.
17719         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17720         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17721         specification header. Include <sys/socket.h> always. Don't include
17722         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17723         (sendfd): Clarify that it sets errno when it fails.
17724         (recvfd): Fix specification.
17725
17726 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17727
17728         passfd module, part 2.
17729         * modules/passfd: New file.
17730         * lib/passfd.h: New file.
17731         * lib/passfd.c: New file.
17732
17733 2011-03-12  Bruno Haible  <bruno@clisp.org>
17734
17735         wcswidth, mbswidth: Avoid integer overflow.
17736         * lib/wcswidth.c: Include <limits.h>.
17737         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17738         * lib/mbswidth.c: Include <limits.h>.
17739         (mbsnwidth): Avoid 'int' overflow.
17740         Reported by Jim Meyering.
17741
17742 2011-03-12  Bruno Haible  <bruno@clisp.org>
17743
17744         futimens, utimensat: Avoid endless recursion on Solaris 10.
17745         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17746         Solaris.
17747         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17748         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17749
17750 2011-03-11  Jim Meyering  <meyering@redhat.com>
17751
17752         maint.mk: relax a regexp to accommodate other formatting styles
17753         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17754         between "ngettext" and the following "(".
17755
17756 2011-03-11  Pádraig Brady <P@draigBrady.com>
17757
17758         maint.mk: suppress a false positive warning
17759         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17760         diagnostics are marked with ngettext.
17761
17762 2011-03-10  Eric Blake  <eblake@redhat.com>
17763
17764         wchar: add explicit dependencies, for Tru64
17765         * modules/mbmemcasecoll (Depends-on): Add wchar.
17766         * modules/mbtowc (Depends-on): Likewise.
17767         * modules/vasnprintf (Depends-on): Likewise.
17768         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17769         * modules/wctomb (Depends-on): Likewise.
17770         Reported by Peter O'Gorman.
17771
17772 2011-03-08  Bruno Haible  <bruno@clisp.org>
17773
17774         passfd module, part 1, tweaks.
17775         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17776         Improve indentation. Improve AC_MSG_CHECKING messages.
17777         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17778         gl_SOCKET_FAMILIES.
17779
17780 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17781
17782         passfd module, part 1.
17783         * m4/afunix.m4: New file.
17784         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17785         sockets.
17786
17787 2011-03-08  Bruno Haible  <bruno@clisp.org>
17788
17789         regex-quote: New API.
17790         * lib/regex-quote.h: Include <stdbool.h>.
17791         (struct regex_quote_spec): New type.
17792         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17793         New declarations.
17794         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17795         'const struct regex_quote_spec *' argument.
17796         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17797         (pcre_special): New constant.
17798         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17799         New functions.
17800         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17801         'const struct regex_quote_spec *' argument.
17802         * modules/regex-quote (Depends-on): Add stdbool.
17803         * tests/test-regex-quote.c (check): Update for new API. Add test for
17804         anchored results.
17805         * NEWS: Mention the API change.
17806         Reported by Reuben Thomas and Eric Blake.
17807
17808 2011-03-06  Bruno Haible  <bruno@clisp.org>
17809
17810         regex-quote: Fix creation of POSIX extended regular expressions.
17811         * lib/regex-quote.c (ere_special): Add grouping and alternation
17812         operators.
17813
17814 2011-03-05  Bruno Haible  <bruno@clisp.org>
17815
17816         doc: Improve doc regarding autopoint vs. gnulib.
17817         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17818         disable autopoint while running autoreconf.
17819         Suggested by Ralf Wildenhues.
17820
17821 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17822
17823         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17824         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17825
17826 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17827
17828         parse-duration: remove xalloc.h dependency
17829         * lib/parse-duration.c (parse_period): handle NULL return from
17830         strdup instead of calling xstrdup().
17831         * modules/parse-duration: remove "xalloc" dependency
17832
17833 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17834
17835         bootstrap: honor m4_base when running aclocal
17836         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17837
17838 2011-03-02  Jim Meyering  <meyering@redhat.com>
17839
17840         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17841         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17842         on request from Matt Booth.
17843
17844 2011-03-01  Eric Blake  <eblake@redhat.com>
17845
17846         test-link: work on Hurd
17847         * tests/test-link.h (test_link): Hurd rejects linking directories
17848         with EISDIR instead of the POSIX-mandated EPERM.
17849
17850 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17851
17852         stdio: simplify by moving files to printf-posix, sigpipe
17853         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17854         since this symbol is needed only if printf is replaced.
17855         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17856         Require gl_ASM_SYMBOL_PREFIX.
17857         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17858         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17859         (Depends-on): Add 'raise'.
17860         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17861         * modules/stdio (Files): Remove lib/stdio-write.c,
17862         m4/asm-underscore.m4.
17863         (Depends-on): Remove 'raise'.
17864
17865         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17866         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17867         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17868         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17869
17870 2011-02-28  Bruno Haible  <bruno@clisp.org>
17871
17872         localcharset: Assume ANSI C behaviour of free().
17873         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17874         calling free().
17875         Suggested by Simon Josefsson <simon@josefsson.org>.
17876
17877 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17878             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17879             Bruno Haible  <bruno@clisp.org>  (tiny change)
17880
17881         On Cygwin, use /proc file system instead of win32 API.
17882         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17883         Win32 file names.
17884         (DllMain): Simplify by removing Cygwin specific code.
17885         (find_shared_library_fullname): Use Linux specific implementation also
17886         for Cygwin.
17887         (get_shared_library_fullname): Update accordingly.
17888         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17889         Win32 file names.
17890         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17891         Cygwin specific code.
17892
17893 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17894             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17895
17896         Fix OpenMP flag detection for various Fortran compilers.
17897         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17898         OpenMP-conditional compilation construct, to force compile
17899         failure with missing OpenMP flag.
17900         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17901
17902 2011-02-25  Eric Blake  <eblake@redhat.com>
17903
17904         strstr: expand test coverage
17905         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17906         compilation.
17907         * tests/test-memmem.c (main): Duplicate tests.
17908         * tests/test-strcasestr.c (main): Likewise.
17909         * tests/test-c-strcasestr.c (main): Likewise.
17910
17911 2011-02-25  Jim Meyering  <meyering@redhat.com>
17912
17913         maint.mk: detect missing-NL-at-EOF, too
17914         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17915         it also detects when a file lacks a newline at EOF.
17916         (require_exactly_one_NL_at_EOF_): Renamed from
17917         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17918         since people may well have .x-sc_... file names tied to the
17919         existing name.  Suggested by Eric Blake.
17920
17921 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17922
17923         dirname: move m4/dos.m4 functionality into lib/dosname.h
17924
17925         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17926         extracts symbols from it, puts them into config.h; but it's much
17927         easier to use the symbols directly.  filename.h already does this,
17928         but it disagrees with dos.m4 in some respects.  This patch
17929         introduces a different include file dosname.h that packages up
17930         dos.m4, and then later we can work on merging filename.h and
17931         dosname.h.  Applications that need only the easy-to-configure
17932         symbols should consider including dosname.h rather than dirname.h.
17933         * NEWS: Mention incompatible changes.
17934         * m4/dos.m4: Remove.
17935         * lib/dosname.h, modules/dosname: New files.
17936         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17937         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17938         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17939         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17940         Include dosname.h, not dirname.h.
17941         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17942         Include dosname.h, for definitions of symbols like ISSLASH
17943         that used to be in config.h.
17944         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17945         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17946         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17947         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17948         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17949         * modules/rmdir (Files): Likewise.
17950         * modules/stat (Files): Likewise.
17951         * modules/unlink (Files): Likewise.
17952         * modules/dirname-lgpl (Depends-on): Add dosname.
17953         * modules/lstat (Depends-on): Likewise.
17954         * modules/openat (Depends-on): Likewise.
17955         * modules/rmdir (Depends-on): Likewise.
17956         * modules/savewd (Depends-on): Likewise.
17957         * modules/stat (Depends-on): Likewise.
17958         * modules/unlink (Depends-on): Likewise.
17959         * modules/openat (Depends-on): Remove dirname-lgpl.
17960         * modules/savewd (Depends-on): Likewise.
17961         * tests/test-dirname.c: Do not use removed symbols like
17962         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17963         the remaining symbols, e.g., ISSLASH ('\\').
17964
17965 2011-02-25  Eric Blake  <eblake@redhat.com>
17966
17967         strstr: revert patches that introduced bug and pessimization
17968         * lib/str-two-way.h: Add another reference.
17969         (two_way_short_needle, two_way_long_needle): Revert changes from
17970         2011-02-24; they pessimize search speed.
17971         (critical_factorization): Partially revert changes from
17972         2010-06-22; they violate the requirement that the left half of the
17973         needle be smaller than the period of the needle.
17974
17975 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17976
17977         filenamecat: remove unnecessary dependency on dirname-lgpl
17978         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17979         is no direct dependency, just an indirect one via filenamecat-lgpl.
17980
17981         remove: remove unnecessary use of m4/dos.m4
17982         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17983         * modules/remove (FILES): Remove m4/dos.m4.
17984
17985         * lib/openat-proc.c: Don't include dirname.h; not needed.
17986
17987         backupfile: remove unnecessary use of m4/dos.m4
17988         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17989         of its symbols are used by the backupfile code.  backupfile.c does
17990         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17991         for the rare case of programs that want all their backup file
17992         names to live within 8+3 limits, and dos.m4 doesn't address that.
17993         * modules/backupfile (Files): Remove m4/dos.m4.
17994
17995 2011-02-24  Jim Meyering  <meyering@redhat.com>
17996
17997         strstr: fix a bug whereby strstr would mistakenly return NULL
17998         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17999         in period calculation.
18000         (two_way_long_needle): Likewise.
18001         The original problem was reported by Mike Stump in
18002         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
18003         Ralf Wildenhues provided the short needle and haystack.
18004         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
18005         Add a more involved test to trigger the bug in two_way_long_needle.
18006
18007 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
18008
18009         gnulib-tool: remove use of bold display in help screen
18010         * gnulib-tool (func_usage): Do not use bold display anymore in the
18011         help screen.  That was just meant to be a temporary emphasis for a
18012         backward-incompatible change.
18013
18014 2011-02-23  Bruno Haible  <bruno@clisp.org>
18015
18016         Fix misindentation of preprocessor directives.
18017         * lib/argp-namefrob.h: Reindent preprocessor directives.
18018         * lib/getopt_int.h (struct _getopt_data): Likewise.
18019         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
18020         * lib/vasnprintf.c (decode_long_double): Likewise.
18021         * tests/test-argmatch.c: Insert blank lines, for clarity.
18022         * tests/test-exclude.c: Likewise.
18023
18024 2011-02-22  Bruno Haible  <bruno@clisp.org>
18025
18026         ioctl: Fix for MacOS X in 64-bit mode.
18027         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
18028         value.
18029         Suggested by Eric Blake.
18030         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
18031
18032 2011-02-22  Jim Meyering  <meyering@redhat.com>
18033
18034         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
18035         * Makefile (sc_cpp_indent_check): Don't limit the check to files
18036         in lib/.
18037
18038 2011-02-22  Eric Blake  <eblake@redhat.com>
18039
18040         maint: avoid any CDPATH issue
18041         * Makefile (sc_cpp_indent_check): Anchor cd argument.
18042
18043         maint: adjust cpp indentation for my modules, as well
18044         * Makefile (sc_cpp_indent_check): Add my name.
18045         * lib/fbufmode.c: Filter through cppi.
18046         * lib/fpurge.c: Likewise.
18047         * lib/freadable.c: Likewise.
18048         * lib/freading.c: Likewise.
18049         * lib/fwritable.c: Likewise.
18050         * lib/fwriting.c: Likewise.
18051         * lib/sigaction.c: Likewise.
18052
18053 2011-02-22  Jim Meyering  <meyering@redhat.com>
18054
18055         maint: adjust cpp indentation to reflect nesting depth
18056         I.e., in a block of code that begins with an unnested "#if",
18057         put one space between the "#" in column 1 and following token.
18058         For example,
18059         -#include <sys/vfs.h>
18060         +# include <sys/vfs.h>
18061         Do this only in .c files that are part of a module I maintain.
18062         * lib/linkat.c: Filter through cppi.
18063         * lib/nanosleep.c: Likewise.
18064         * lib/openat.c: Likewise.
18065         * lib/openat-die.c: Likewise.
18066         * lib/dup3.c: Likewise.
18067         * lib/fchownat.c: Likewise.
18068         * lib/flock.c: Likewise.
18069         * lib/fsync.c: Likewise.
18070         * lib/fts.c: Likewise.
18071         * lib/getpass.c: Likewise.
18072         * lib/gettimeofday.c: Likewise.
18073         * lib/userspec.c: Likewise.
18074         * Makefile (sc_cpp_indent_check): New rule, to check this.
18075
18076 2011-02-22  Bruno Haible  <bruno@clisp.org>
18077
18078         New module 'wctomb'.
18079         * lib/stdlib.in.h (wctomb): New declaration.
18080         * lib/wctomb.c: New file.
18081         * lib/wctomb-impl.h: New file.
18082         * m4/wctomb.m4: New file.
18083         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
18084         REPLACE_WCTOMB.
18085         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
18086         REPLACE_WCTOMB.
18087         * modules/wctomb: New file.
18088         * tests/test-stdlib-c++.cc: Test signature of wctomb.
18089         * doc/posix-functions/wctomb.texi: Mention the new module.
18090         * modules/wctob (Depends-on): Add wctomb.
18091
18092 2011-02-22  Bruno Haible  <bruno@clisp.org>
18093
18094         New module 'mbtowc'.
18095         * lib/stdlib.in.h (mbtowc): New declaration.
18096         * lib/mbtowc.c: New file.
18097         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
18098         * m4/mbtowc.m4: New file.
18099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
18100         REPLACE_MBTOWC.
18101         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
18102         REPLACE_MBTOWC.
18103         * modules/mbtowc: New file.
18104         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
18105         * doc/posix-functions/mbtowc.texi: Mention the new module.
18106         * modules/btowc (Depends-on): Add mbtowc.
18107
18108 2011-02-22  Bruno Haible  <bruno@clisp.org>
18109
18110         wcrtomb: Add more tests for native Windows platforms.
18111         * tests/test-wcrtomb-w32-1.sh: New file.
18112         * tests/test-wcrtomb-w32-2.sh: New file.
18113         * tests/test-wcrtomb-w32-3.sh: New file.
18114         * tests/test-wcrtomb-w32-4.sh: New file.
18115         * tests/test-wcrtomb-w32-5.sh: New file.
18116         * tests/test-wcrtomb-w32.c: New file.
18117         * modules/wcrtomb-tests (Files): Add them.
18118         (Makefile.am): Arrange to run these tests.
18119         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
18120         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
18121
18122 2011-02-20  Bruno Haible  <bruno@clisp.org>
18123
18124         wcrtomb: Enhance test.
18125         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
18126
18127 2011-02-20  Bruno Haible  <bruno@clisp.org>
18128
18129         mbrtowc: Tiny optimization.
18130         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
18131
18132 2011-02-20  Jim Meyering  <meyering@redhat.com>
18133
18134         test-exclude.c: remove unmatched #endif
18135         * tests/test-exclude.c: Remove stray #endif, left over from
18136         the change of a week ago.
18137
18138 2011-02-19  Jim Meyering  <meyering@redhat.com>
18139
18140         git-version-gen: skip "-dirty" check when appropriate
18141         * build-aux/git-version-gen: Don't run any git commands when the
18142         version string comes from .tarball-version.  Prior to this, we
18143         would run git update-index --refresh even from a just-unpacked
18144         tarball directory, and that could affect a .git/ directory in a
18145         parent of the build directory.  Reported by Mike Frysinger.
18146
18147 2011-02-19  Bruno Haible  <bruno@clisp.org>
18148
18149         unictype/property-byname: Reduce the size of the 'data' segment.
18150         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
18151
18152 2011-02-19  Bruno Haible  <bruno@clisp.org>
18153
18154         unictype/scripts: Reduce the size of the 'data' segment.
18155         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
18156         '%pic'.
18157         * lib/unictype/scripts_byname.gperf: Regenerated.
18158
18159 2011-02-19  Bruno Haible  <bruno@clisp.org>
18160
18161         stdint: Update documentation.
18162         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
18163
18164 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18165
18166         stdint: omit redundant check for wchar.h
18167         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
18168         always tests whether wchar.h exists, so remove the now-redundant test.
18169
18170 2011-02-18  Bruno Haible  <bruno@clisp.org>
18171
18172         stdint: Cut dependency to module 'wchar'.
18173         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
18174         include the necessary prerequisites.
18175         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
18176         * modules/stdint (Depends-on): Remove wchar.
18177         (Makefile.am): Substitute HAVE_WCHAR_H.
18178         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
18179
18180 2011-02-18  Eric Blake  <eblake@redhat.com>
18181
18182         longlong: skip, rather than fail, on cross-compilation
18183         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
18184         when cross-compiling; regression from 2011-02-16.
18185
18186 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18187
18188         * NEWS: Mention 2011-02-08 change to stdlib.
18189
18190 2011-02-17  Bruno Haible  <bruno@clisp.org>
18191
18192         getloadavg: Add comments about platforms.
18193         * m4/getloadavg.m4: Add comment.
18194         * lib/getloadavg.c: Likewise.
18195
18196 2011-02-17  Bruno Haible  <bruno@clisp.org>
18197
18198         getloadavg: Fix link error on Solaris 2.6.
18199         * modules/getloadavg (Link): New section.
18200         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
18201         linking test-getloadavg.
18202         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
18203         getloadavg.
18204
18205 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
18206
18207         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
18208         It was 'int', but this doesn't match the IRIX 6.5 manual.
18209         Suggested by Bruno Haible in
18210         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
18211
18212 2011-02-17  Bruno Haible  <bruno@clisp.org>
18213
18214         havelib: Fix comments.
18215         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
18216         change.
18217
18218 2011-02-17  Bruno Haible  <bruno@clisp.org>
18219
18220         havelib: Update config.rpath.
18221         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
18222
18223 2011-02-17  Bruno Haible  <bruno@clisp.org>
18224
18225         getloadavg test: Add some plausibility checks.
18226         * tests/test-getloadavg.c (check_avg): Print a warning when the value
18227         is improbable.
18228
18229 2011-02-16  Eric Blake  <eblake@redhat.com>
18230
18231         maintainer-makefile: make syntax-check a no-op from tarballs
18232         * top/maint.mk (no-vc-detected): New rule.
18233         (local-checks-available): Use it to avoid hanging if someone tries
18234         'make syntax-check' from a tarball.  Also append to any non-syntax
18235         checks already defined in cfg.mk.
18236
18237 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
18238
18239         longlong: tune, particularly for common case of c99
18240
18241         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
18242         or running anything if c99, or if unsigned long long int does not
18243         work.  In either case, we know the answer without further tests.
18244         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
18245         it at most once, and use its results for both long long int and
18246         unsigned long long int.  This is more likely to be efficient in
18247         the common case where the program wants to check for both long
18248         long int and unsigned long long int.
18249         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
18250         since the answer is already known.
18251
18252 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
18253
18254         getloadavg: set errno
18255         * lib/getloadavg.c: Set errno when returning -1.  If no other
18256         error number looks appropriate, set it to ENOSYS if the getloadavg
18257         looks like it can't possibly ever work, ENOTSUP otherwise.
18258         Suggested by Bruno Haible in
18259         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
18260
18261         getloadavg: trim unused parts and speed up 'configure'
18262         * NEWS: Document this.
18263         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
18264         always compiled if getloadavg is absent.
18265         Move test code to ...
18266         * tests/test-getloadavg.c: New file, containing previous
18267         contents of test from lib/getloadavg.c.  It also contains
18268         suggestions by Bruno Haible in
18269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
18270         * modules/getloadavg-tests: New file.
18271         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
18272         Do tests in the same order as they're needed for getloadavg.c.
18273         Omit setgid-related tests that generate symbols KMEM_GROUP,
18274         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
18275         Do only the tests that are needed to see whether the system has
18276         getloadavg, moving the other tests into ...
18277         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
18278         NLIST_NAME_UNION; nobody should be using it.  Do not define
18279         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
18280         relevant, as the user of this module shouldn't care how getloadavg
18281         is implemented.
18282
18283         getloadavg: omit unused var
18284         * lib/getloadavg.c (getloadavg): Omit unused local variable.
18285
18286 2011-02-15  Jim Meyering  <meyering@redhat.com>
18287
18288         doc: update users.txt
18289         * users.txt: Update iwhd's URL.
18290
18291 2011-02-13  Bruno Haible  <bruno@clisp.org>
18292
18293         Consistent macro naming for macros that use GCC __attribute__.
18294         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
18295         _ATTRIBUTE_NONNULL_.
18296         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
18297         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
18298         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
18299         ATTRIBUTE_DEPRECATED.
18300         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
18301         ATTRIBUTE_NORETURN.
18302         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18303         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18304         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18305         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
18306         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
18307         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
18308         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
18309         ATTRIBUTE_SENTINEL.
18310         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
18311         ATTRIBUTE_RETURN_CHECK.
18312         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
18313         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
18314         ATTRIBUTE_NORETURN.
18315         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
18316         Reported by Paul Eggert.
18317
18318 2011-02-13  Bruno Haible  <bruno@clisp.org>
18319
18320         Don't interfere with a program's definition of __attribute__.
18321         * lib/argp.h (__attribute__): Remove definition.
18322         (_GL_ATTRIBUTE_FORMAT): New macro.
18323         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
18324         * lib/argp-fmtstream.h (__attribute__): Remove definition.
18325         (_GL_ATTRIBUTE_FORMAT): New macro.
18326         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
18327         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
18328         GCC 3 or newer.
18329         * lib/error.h (__attribute__): Remove definition.
18330         (_GL_ATTRIBUTE_FORMAT): New macro.
18331         (error, error_at_line): Use it.
18332         * lib/hash.h (__attribute__): Remove definition.
18333         (ATTRIBUTE_WUR): Update definition. Define always.
18334         * lib/openat.h (__attribute__): Remove definition.
18335         (ATTRIBUTE_NORETURN): Update definition. Define always.
18336         * lib/sigpipe-die.h (__attribute__): Remove definition.
18337         (ATTRIBUTE_NORETURN): Update definition. Define always.
18338         * lib/vasnprintf.h (__attribute__): Remove definition.
18339         (_GL_ATTRIBUTE_FORMAT): New macro.
18340         (asnprintf, vasnprintf): Use it.
18341         * lib/xalloc.h (__attribute__): Remove definition.
18342         (ATTRIBUTE_NORETURN): Update definition. Define always.
18343         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
18344         * lib/xmemdup0.h (__attribute__): Remove definition.
18345         (ATTRIBUTE_NORETURN): Update definition. Define always.
18346         * lib/xprintf.h (__attribute__): Remove definition.
18347         (_GL_ATTRIBUTE_FORMAT): New macro.
18348         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
18349         * lib/xstrtol.h (__attribute__): Remove definition.
18350         (ATTRIBUTE_NORETURN): Update definition. Define always.
18351         * lib/xvasprintf.h (__attribute__): Remove definition.
18352         (_GL_ATTRIBUTE_FORMAT): New macro.
18353         (xasprintf, xvasprintf): Use it.
18354         * tests/test-argmatch.c (__attribute__): Remove definition.
18355         (ATTRIBUTE_NORETURN): Update definition. Define always.
18356         * tests/test-exclude.c (__attribute__): Remove definition.
18357         (ATTRIBUTE_NORETURN): Update definition. Define always.
18358         Reported by Paul Eggert.
18359
18360 2011-02-13  Bruno Haible  <bruno@clisp.org>
18361
18362         mbrtowc: Add more tests for native Windows platforms.
18363         * tests/test-mbrtowc-w32-1.sh: New file.
18364         * tests/test-mbrtowc-w32-2.sh: New file.
18365         * tests/test-mbrtowc-w32-3.sh: New file.
18366         * tests/test-mbrtowc-w32-4.sh: New file.
18367         * tests/test-mbrtowc-w32-5.sh: New file.
18368         * tests/test-mbrtowc-w32.c: New file.
18369         * modules/mbrtowc-tests (Files): Add them.
18370         (Makefile.am): Arrange to run these tests.
18371         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
18372         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
18373
18374 2011-02-13  Bruno Haible  <bruno@clisp.org>
18375
18376         mbrtowc: Work around native Windows bug.
18377         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
18378         guess when no suitable locale for testing was found.
18379         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
18380
18381 2011-02-13  Bruno Haible  <bruno@clisp.org>
18382
18383         mbsinit: Work around mingw bug.
18384         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
18385         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
18386         Windows.
18387         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
18388
18389 2011-02-13  Bruno Haible  <bruno@clisp.org>
18390
18391         mbsinit: Don't crash for a NULL argument.
18392         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
18393         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
18394
18395 2011-02-13  Bruno Haible  <bruno@clisp.org>
18396
18397         Don't interfere with a program's definition of __attribute__.
18398         * lib/stdio.in.h (__attribute__): Remove definition.
18399         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
18400         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
18401         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
18402         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
18403         * lib/string.in.h (__attribute__): Remove definition.
18404         Reported by Paul Eggert.
18405
18406 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18407
18408         stdlib: don't get in the way of non-GCC __attribute__
18409         See thread starting at
18410         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
18411         Revert previous stdlib change, installing the following instead:
18412         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
18413         to get in the way of a non-GCC compiler that supports __attribute__.
18414         (_GL_ATTRIBUTE_RETURN): New macro.
18415         (_Exit): Use it instead of __attribute__.
18416
18417 2011-02-12  Bruno Haible  <bruno@clisp.org>
18418
18419         quotearg test: Avoid test failure on mingw.
18420         * tests/test-quotearg.sh: Convert the locale identifier from native
18421         Windows syntax to Unix syntax.
18422
18423 2011-02-12  Bruno Haible  <bruno@clisp.org>
18424
18425         setlocale: Prefer gnulib's override over libintl's override.
18426         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
18427         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
18428         GNULIB_defined_setlocale is set.
18429
18430 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
18431
18432         stdlib: support non-GCC __attribute__
18433
18434         Fix a serious and tricky problem encountered when attempting to
18435         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
18436         5.5, but it crashed due to memory corruption on Solaris 10 with
18437         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
18438         bits that are otherwise zero.  This tagging is optional inside
18439         Emacs but is preferred and is used when __attribute__ ((__aligned
18440         (8))) works, as it does with both recent-enough GCC and with Sun C
18441         5.11.  However, Sun C 5.11 is not GCC and does not #define
18442         __GNUC__ and __GNUC_MINOR__.
18443
18444         When I added the getloadavg module to Emacs, it brought in
18445         stdlib.in.h, which contained this fragment:
18446
18447            #ifndef __attribute__
18448            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18449            #  define __attribute__(Spec)   /* empty */
18450            # endif
18451            #endif
18452
18453         When files that include <stdlib.h> were compiled with Sun C 5.11,
18454         the above code disabled __attribute__ ((__aligned (8))), which
18455         caused variables to not be properly aligned, which eventually led
18456         to the pointer corruption mentioned above.  (This was a bit hard
18457         to diagnose, unfortunately.)
18458
18459         Several "#define __attribute__(X) /* empty */" code snippets need
18460         to be eradicated from Gnulib to work with non-GCC compilers that
18461         support __attribute__.  The Autoconf way to do this is to test for
18462         each kind of attribute that we want support for, and selectively
18463         enable that in source code.
18464
18465         Fix this problem just for stdlib.h, by adding a test for the
18466         __noreturn__ attribute, and change stdlib.in.h to use that test
18467         when needed.  This technique can be easily generalized to the
18468         other *.in.h files and attributes, and a similar technique can be
18469         used for *.h and *.c files.  This patch is enough to solve the
18470         problem for Emacs + getloadavg, and I thought I'd publish it for
18471         feedback before undertaking further, similar fixes in other
18472         modules.
18473
18474         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18475         because it's not needed for stdlib.h.  It merely substitutes the
18476         value directly into stdlib.h.  We may well need to #define it, or
18477         similar symbols, for other modules, but it's nice to also have an
18478         option to not #define it for applications like Emacs that do not
18479         need it.
18480
18481         * lib/stdlib.in.h (__attribute__): Do not #define.
18482         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18483         be defined only if the _Exit module is also used.
18484         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18486         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18487         platforms.
18488         * modules/_Exit (Files): Add m4/attribute.m4.
18489         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18490         * m4/attribute.m4: New file.
18491
18492 2011-02-12  Bruno Haible  <bruno@clisp.org>
18493
18494         wcsrtombs: Work around bug on native Windows.
18495         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18496         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18497         instead of len.
18498         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18499
18500 2011-02-12  Bruno Haible  <bruno@clisp.org>
18501
18502         mbsrtowcs: Work around bug on native Windows.
18503         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18504         against mingw bug.
18505         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18506
18507 2011-02-12  Bruno Haible  <bruno@clisp.org>
18508
18509         Avoid setlocale bugs in tests.
18510         * modules/btowc (Dependencies): Add setlocale.
18511         * modules/c-strcase (Dependencies): Likewise.
18512         * modules/mbmemcasecmp (Dependencies): Likewise.
18513         * modules/mbmemcasecoll (Dependencies): Likewise.
18514         * modules/mbrtowc (Dependencies): Likewise.
18515         * modules/mbscasecmp (Dependencies): Likewise.
18516         * modules/mbscasestr (Dependencies): Likewise.
18517         * modules/mbschr (Dependencies): Likewise.
18518         * modules/mbscspn (Dependencies): Likewise.
18519         * modules/mbsinit (Dependencies): Likewise.
18520         * modules/mbsncasecmp (Dependencies): Likewise.
18521         * modules/mbsnrtowcs (Dependencies): Likewise.
18522         * modules/mbspbrk (Dependencies): Likewise.
18523         * modules/mbspcasecmp (Dependencies): Likewise.
18524         * modules/mbsrchr (Dependencies): Likewise.
18525         * modules/mbsrtowcs (Dependencies): Likewise.
18526         * modules/mbsspn (Dependencies): Likewise.
18527         * modules/mbsstr (Dependencies): Likewise.
18528         * modules/nl_langinfo (Dependencies): Likewise.
18529         * modules/quotearg (Dependencies): Likewise.
18530         * modules/unicase/locale-language (Dependencies): Likewise.
18531         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18532         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18533         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18534         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18535         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18536         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18537         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18538         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18539         * modules/vasnprintf-posix (Dependencies): Likewise.
18540         * modules/wcrtomb (Dependencies): Likewise.
18541         * modules/wcsnrtombs (Dependencies): Likewise.
18542         * modules/wcsrtombs (Dependencies): Likewise.
18543
18544 2011-02-12  Bruno Haible  <bruno@clisp.org>
18545
18546         setlocale: Workaround native Windows bug.
18547         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18548         succeeds but sets LC_CTYPE to "C", report a failure.
18549         * tests/test-setlocale2.sh: New file.
18550         * tests/test-setlocale2.c: New file.
18551         * modules/setlocale-tests (Files): Add the new files.
18552         (Makefile.am): Enable test-setlocale2.sh test.
18553         * doc/posix-functions/setlocale.texi: Mention workaround.
18554
18555 2011-02-11  Bruno Haible  <bruno@clisp.org>
18556
18557         Tests for module 'setlocale'.
18558         * modules/setlocale-tests: New file.
18559         * tests/test-setlocale1.sh: New file.
18560         * tests/test-setlocale1.c: New file.
18561
18562         New module 'setlocale'.
18563         * lib/locale.in.h (setlocale): New declaration.
18564         * lib/setlocale.c: New file, based on
18565         gettext/gettext-runtime/intl/setlocale.c.
18566         * m4/setlocale.m4: New file.
18567         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18568         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18569         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18570         REPLACE_SETLOCALE.
18571         * modules/setlocale: New file.
18572         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18573         * doc/posix-functions/setlocale.texi: Mention the new module.
18574
18575 2011-02-11  Bruno Haible  <bruno@clisp.org>
18576
18577         Prepare for locale dependent tests on mingw.
18578         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18579         because it has the wrong locale encoding.
18580         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18581         French_France.1252 instead of "fr".
18582         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18583         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18584         because it has the wrong locale encoding.
18585         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18586         native Windows, try Turkish_Turkey.65001.
18587         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18588         Chinese_China.54936.
18589
18590         Prepare for locale dependent tests on mingw.
18591         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18592         differently.
18593         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18594         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18595         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18596         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18597
18598 2011-02-11  Eric Blake  <eblake@redhat.com>
18599
18600         strptime: avoid compiler warnings
18601         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18602         compiler warnings about dead code.
18603         Reported by Daniel P. Berrange.
18604
18605 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18606
18607         doc: update users.txt
18608         * users.txt: Add rcs.
18609
18610 2011-02-10  John W. Eaton  <jwe@gnu.org>
18611
18612         doc: update users.txt
18613         * users.txt: Add octave.
18614
18615 2011-02-10  Jim Meyering  <meyering@redhat.com>
18616
18617         doc: update users.txt
18618         * users.txt: Add iwhd.
18619
18620 2011-02-09  Bruno Haible  <bruno@clisp.org>
18621
18622         gnulib-tool: Make copyright notice adjustment more robust.
18623         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18624         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18625         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18626         License".
18627         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18628
18629 2011-02-06  Bruno Haible  <bruno@clisp.org>
18630
18631         New module 'towctrans'.
18632         * modules/towctrans: New file.
18633         * lib/wctype.in.h (towctrans): New declaration.
18634         * lib/towctrans.c: New file.
18635         * lib/towctrans-impl.h: New file.
18636         * m4/towctrans.m4: New file.
18637         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18638         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18639         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18640         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18641         * doc/posix-functions/towctrans.texi: Mention the new module.
18642
18643 2011-02-06  Bruno Haible  <bruno@clisp.org>
18644
18645         New module 'wctrans'.
18646         * modules/wctrans: New file.
18647         * lib/wctype.in.h (wctrans): New declaration.
18648         * lib/wctrans.c: New file.
18649         * lib/wctrans-impl.h: New file.
18650         * m4/wctrans.m4: New file.
18651         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18652         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18653         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18654         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18655         * doc/posix-functions/wctrans.texi: Mention the new module.
18656
18657 2011-02-06  Bruno Haible  <bruno@clisp.org>
18658
18659         New module 'iswctype'.
18660         * modules/iswctype: New file.
18661         * lib/wctype.in.h (iswctype): New declaration.
18662         * lib/iswctype.c: New file.
18663         * lib/iswctype-impl.h: New file.
18664         * m4/iswctype.m4: New file.
18665         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18666         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18667         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18668         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18669         * doc/posix-functions/iswctype.texi: Mention the new module and the
18670         HP-UX 11.00 problem.
18671
18672 2011-02-06  Bruno Haible  <bruno@clisp.org>
18673
18674         New module 'wctype'.
18675         * modules/wctype: Change to represent the wctype() substitute.
18676         * lib/wctype.in.h (wctype): New declaration.
18677         * lib/wctype.c: New file.
18678         * lib/wctype-impl.h: New file.
18679         * m4/wctype.m4: New file.
18680         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18681         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18682         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18683         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18684         * doc/posix-functions/wctype.texi: Mention the new module and the
18685         HP-UX 11.00 problem.
18686
18687 2011-02-06  Bruno Haible  <bruno@clisp.org>
18688
18689         wctype-h: Ensure wctype_t and wctrans_t are defined.
18690         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18691         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18692         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18693         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18694         HAVE_WCTRANS_T.
18695         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18696
18697 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18698
18699         flock: fix license typo
18700
18701         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18702         omitted.
18703
18704 2011-02-08  Bruno Haible  <bruno@clisp.org>
18705
18706         Split large sed scripts, for HP-UX sed.
18707         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18708         to avoid HP-UX limit of 99 commands, in the near future.
18709         * modules/stdlib (Makefile.am): Likewise.
18710         * modules/unistd (Makefile.am): Likewise.
18711         * modules/wchar (Makefile.am): Likewise.
18712         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18713         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18714         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18715
18716 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18717             Bruno Haible  <bruno@clisp.org>
18718
18719         stdlib: improve random_r modularization
18720         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18721         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18722         you also need the random_r module to get this material right.
18723         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18724         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18725         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18726
18727 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18728
18729         stdlib: don't depend on stdint
18730         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18731         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18732         be independent of whether stdint.h is needed.
18733         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18734         here, instead of ...
18735         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18736         struct random_data should be using the random_r module, not just
18737         the stdlib module (which wouldn't make sense: what package needs
18738         just struct random_data without also needing random_r?).
18739         * modules/stdlib (Depends-on): Remove stdint.
18740
18741         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18742         See the thread rooted at
18743         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18744         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18745         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18746         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18747         __VMS)); previously it was always included (via fcntl--.h).
18748         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18749         hand; this is good enough for load averages.  Also, do not use
18750         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18751         flags directly if available and don't bother otherwise.  (Packages
18752         that need the extra reliability should use the modules that define
18753         these flags on older platforms that lack them.)
18754         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18755         fcntl-safer.
18756
18757 2011-02-08  Jim Meyering  <meyering@redhat.com>
18758
18759         di-set.h, ino-map.h: add multiple-inclusion guard
18760         Technically, the guard is required only for ino-map.h, due to its
18761         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18762         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18763         * lib/ino-map.h: Likewise.
18764
18765 2011-02-06  Bruno Haible  <bruno@clisp.org>
18766
18767         iswblank: Ensure declaration on glibc systems.
18768         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18769         * modules/iswblank (Dependencies): Add 'extensions'.
18770         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18771
18772 2011-02-06  Bruno Haible  <bruno@clisp.org>
18773
18774         New module 'iswblank'.
18775         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18776         * modules/iswblank: New file.
18777         * modules/wctype-h (Files): Remove lib/iswblank.c.
18778         (Makefile.am): Substitute GNULIB_ISWBLANK.
18779         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18780         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18781         (gl_WCTYPE_H_DEFAULTS): New macro.
18782         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18783         * modules/iswblank-tests: New file.
18784         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18785         * tests/test-wctype-h.c (main): Remove iswblank tests.
18786         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18787         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18788         of 'wctype-h'.
18789         * NEWS: Mention the change.
18790         * modules/mbchar (Depends-on): Add iswblank.
18791
18792 2011-02-08  Bruno Haible  <bruno@clisp.org>
18793
18794         di-set tests: Refactor.
18795         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18796         unnecessary includes.
18797         (ASSERT): Remove macro.
18798         (main): Make C90 compliant by avoiding variable declaration after
18799         statement.
18800         * modules/di-set-tests (Files): Add tests/macros.h.
18801
18802 2011-02-08  Bruno Haible  <bruno@clisp.org>
18803
18804         ino-map tests: Refactor.
18805         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18806         unnecessary includes.
18807         (ASSERT): Remove macro.
18808         (main): Make C90 compliant by avoiding variable declaration after
18809         statement.
18810         * modules/ino-map-tests (Files): Add tests/macros.h.
18811
18812 2011-02-08  Jim Meyering  <meyering@redhat.com>
18813
18814         di-set: add "const" to a cast
18815         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18816         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18817
18818 2011-02-06  Bruno Haible  <bruno@clisp.org>
18819
18820         Rename module 'wctype' to 'wctype-h'.
18821         * modules/wctype-h: Renamed from modules/wctype.
18822         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18823         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18824         (Files, Depends-on, Makefile.am): Update.
18825         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18826         (Files, Makefile.am): Update.
18827         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18828         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18829         * doc/posix-headers/wctype.texi: Update.
18830         * doc/posix-functions/iswalnum.texi: Update.
18831         * doc/posix-functions/iswalpha.texi: Update.
18832         * doc/posix-functions/iswblank.texi: Update.
18833         * doc/posix-functions/iswcntrl.texi: Update.
18834         * doc/posix-functions/iswdigit.texi: Update.
18835         * doc/posix-functions/iswgraph.texi: Update.
18836         * doc/posix-functions/iswlower.texi: Update.
18837         * doc/posix-functions/iswprint.texi: Update.
18838         * doc/posix-functions/iswpunct.texi: Update.
18839         * doc/posix-functions/iswspace.texi: Update.
18840         * doc/posix-functions/iswupper.texi: Update.
18841         * doc/posix-functions/iswxdigit.texi: Update.
18842         * doc/posix-functions/towlower.texi: Update.
18843         * doc/posix-functions/towupper.texi: Update.
18844         * NEWS: Mention the change.
18845         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18846         * modules/mbchar (Dependencies): Likewise.
18847         * modules/mbswidth (Dependencies): Likewise.
18848         * modules/quotearg (Dependencies): Likewise.
18849         * modules/regex (Dependencies): Likewise.
18850         * modules/wcscasecmp (Dependencies): Likewise.
18851         * modules/wcsncasecmp (Dependencies): Likewise.
18852         * modules/wcwidth (Dependencies): Likewise.
18853
18854 2011-02-06  Bruno Haible  <bruno@clisp.org>
18855
18856         New module 'wcswidth'.
18857         * modules/wcswidth: New file.
18858         * lib/wchar.in.h (wcswidth): New declaration.
18859         * lib/wcswidth.c: New file.
18860         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18861         * m4/wcswidth.m4: New file.
18862         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18863         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18864         REPLACE_WCSWIDTH.
18865         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18866         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18867         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18868         * doc/posix-functions/wcswidth.texi: Mention the new module.
18869
18870 2011-02-06  Bruno Haible  <bruno@clisp.org>
18871
18872         New module 'wcstok'.
18873         * modules/wcstok: New file.
18874         * lib/wchar.in.h (wcstok): New declaration.
18875         * lib/wcstok.c: New file.
18876         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18877         * m4/wcstok.m4: New file.
18878         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18879         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18880         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18881         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18882         * doc/posix-functions/wcstok.texi: Mention the new module.
18883
18884 2011-02-06  Bruno Haible  <bruno@clisp.org>
18885
18886         New module 'wcsstr'.
18887         * modules/wcsstr: New file.
18888         * lib/wchar.in.h (wcsstr): New declaration.
18889         * lib/wcsstr.c: New file.
18890         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18891         * m4/wcsstr.m4: New file.
18892         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18893         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18894         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18895         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18896         * doc/posix-functions/wcsstr.texi: Mention the new module.
18897
18898 2011-02-06  Bruno Haible  <bruno@clisp.org>
18899
18900         New module 'wcspbrk'.
18901         * modules/wcspbrk: New file.
18902         * lib/wchar.in.h (wcspbrk): New declaration.
18903         * lib/wcspbrk.c: New file.
18904         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18905         * m4/wcspbrk.m4: New file.
18906         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18907         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18908         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18909         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18910         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18911
18912 2011-02-06  Bruno Haible  <bruno@clisp.org>
18913
18914         New module 'wcsspn'.
18915         * modules/wcsspn: New file.
18916         * lib/wchar.in.h (wcsspn): New declaration.
18917         * lib/wcsspn.c: New file.
18918         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18919         * m4/wcsspn.m4: New file.
18920         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18921         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18922         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18923         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18924         * doc/posix-functions/wcsspn.texi: Mention the new module.
18925
18926 2011-02-06  Bruno Haible  <bruno@clisp.org>
18927
18928         New module 'wcscspn'.
18929         * modules/wcscspn: New file.
18930         * lib/wchar.in.h (wcscspn): New declaration.
18931         * lib/wcscspn.c: New file.
18932         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18933         * m4/wcscspn.m4: New file.
18934         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18935         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18936         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18937         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18938         * doc/posix-functions/wcscspn.texi: Mention the new module.
18939
18940 2011-02-06  Bruno Haible  <bruno@clisp.org>
18941
18942         New module 'wcsrchr'.
18943         * modules/wcsrchr: New file.
18944         * lib/wchar.in.h (wcsrchr): New declaration.
18945         * lib/wcsrchr.c: New file.
18946         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18947         * m4/wcsrchr.m4: New file.
18948         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18949         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18950         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18951         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18952         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18953
18954 2011-02-06  Bruno Haible  <bruno@clisp.org>
18955
18956         New module 'wcschr'.
18957         * modules/wcschr: New file.
18958         * lib/wchar.in.h (wcschr): New declaration.
18959         * lib/wcschr.c: New file.
18960         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18961         * m4/wcschr.m4: New file.
18962         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18963         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18964         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18965         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18966         * doc/posix-functions/wcschr.texi: Mention the new module.
18967
18968 2011-02-06  Bruno Haible  <bruno@clisp.org>
18969
18970         New module 'wcsdup'.
18971         * modules/wcsdup: New file.
18972         * lib/wchar.in.h (wcsdup): New declaration.
18973         * lib/wcsdup.c: New file.
18974         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18975         * m4/wcsdup.m4: New file.
18976         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18977         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18978         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18979         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18980         * doc/posix-functions/wcsdup.texi: Mention the new module.
18981
18982 2011-02-06  Bruno Haible  <bruno@clisp.org>
18983
18984         New module 'wcsxfrm'.
18985         * modules/wcsxfrm: New file.
18986         * lib/wchar.in.h (wcsxfrm): New declaration.
18987         * lib/wcsxfrm.c: New file.
18988         * lib/wcsxfrm-impl.h: New file.
18989         * m4/wcsxfrm.m4: New file.
18990         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18991         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18992         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18993         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18994         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18995
18996 2011-02-06  Bruno Haible  <bruno@clisp.org>
18997
18998         New module 'wcscoll'.
18999         * modules/wcscoll: New file.
19000         * lib/wchar.in.h (wcscoll): New declaration.
19001         * lib/wcscoll.c: New file.
19002         * lib/wcscoll-impl.h: New file.
19003         * m4/wcscoll.m4: New file.
19004         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
19005         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
19006         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
19007         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
19008         * doc/posix-functions/wcscoll.texi: Mention the new module.
19009
19010 2011-02-06  Bruno Haible  <bruno@clisp.org>
19011
19012         New module 'wcsncasecmp'.
19013         * modules/wcsncasecmp: New file.
19014         * lib/wchar.in.h (wcsncasecmp): New declaration.
19015         * lib/wcsncasecmp.c: New file.
19016         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
19017         * m4/wcsncasecmp.m4: New file.
19018         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
19019         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
19020         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
19021         HAVE_WCSNCASECMP.
19022         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
19023         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
19024
19025 2011-02-06  Bruno Haible  <bruno@clisp.org>
19026
19027         New module 'wcscasecmp'.
19028         * modules/wcscasecmp: New file.
19029         * lib/wchar.in.h (wcscasecmp): New declaration.
19030         * lib/wcscasecmp.c: New file.
19031         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
19032         * m4/wcscasecmp.m4: New file.
19033         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
19034         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
19035         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
19036         HAVE_WCSCASECMP.
19037         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
19038         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
19039
19040 2011-02-05  Bruno Haible  <bruno@clisp.org>
19041
19042         New module 'wcsncmp'.
19043         * modules/wcsncmp: New file.
19044         * lib/wchar.in.h (wcsncmp): New declaration.
19045         * lib/wcsncmp.c: New file.
19046         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
19047         * m4/wcsncmp.m4: New file.
19048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
19049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
19050         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
19051         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
19052         * doc/posix-functions/wcsncmp.texi: Mention the new module.
19053
19054 2011-02-05  Bruno Haible  <bruno@clisp.org>
19055
19056         New module 'wcscmp'.
19057         * modules/wcscmp: New file.
19058         * lib/wchar.in.h (wcscmp): New declaration.
19059         * lib/wcscmp.c: New file.
19060         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
19061         * m4/wcscmp.m4: New file.
19062         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
19063         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
19064         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
19065         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
19066         * doc/posix-functions/wcscmp.texi: Mention the new module.
19067
19068 2011-02-05  Bruno Haible  <bruno@clisp.org>
19069
19070         New module 'wcsncat'.
19071         * modules/wcsncat: New file.
19072         * lib/wchar.in.h (wcsncat): New declaration.
19073         * lib/wcsncat.c: New file.
19074         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
19075         * m4/wcsncat.m4: New file.
19076         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
19077         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
19078         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
19079         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
19080         * doc/posix-functions/wcsncat.texi: Mention the new module.
19081
19082 2011-02-05  Bruno Haible  <bruno@clisp.org>
19083
19084         New module 'wcscat'.
19085         * modules/wcscat: New file.
19086         * lib/wchar.in.h (wcscat): New declaration.
19087         * lib/wcscat.c: New file.
19088         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
19089         * m4/wcscat.m4: New file.
19090         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
19091         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
19092         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
19093         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
19094         * doc/posix-functions/wcscat.texi: Mention the new module.
19095
19096 2011-02-05  Bruno Haible  <bruno@clisp.org>
19097
19098         New module 'wcpncpy'.
19099         * modules/wcpncpy: New file.
19100         * lib/wchar.in.h (wcpncpy): New declaration.
19101         * lib/wcpncpy.c: New file.
19102         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
19103         * m4/wcpncpy.m4: New file.
19104         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
19105         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
19106         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
19107         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
19108         * doc/posix-functions/wcpncpy.texi: Mention the new module.
19109
19110 2011-02-05  Bruno Haible  <bruno@clisp.org>
19111
19112         New module 'wcsncpy'.
19113         * modules/wcsncpy: New file.
19114         * lib/wchar.in.h (wcsncpy): New declaration.
19115         * lib/wcsncpy.c: New file.
19116         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
19117         * m4/wcsncpy.m4: New file.
19118         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
19119         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
19120         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
19121         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
19122         * doc/posix-functions/wcsncpy.texi: Mention the new module.
19123
19124 2011-02-05  Bruno Haible  <bruno@clisp.org>
19125
19126         New module 'wcpcpy'.
19127         * modules/wcpcpy: New file.
19128         * lib/wchar.in.h (wcpcpy): New declaration.
19129         * lib/wcpcpy.c: New file.
19130         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
19131         * m4/wcpcpy.m4: New file.
19132         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
19133         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
19134         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
19135         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
19136         * doc/posix-functions/wcpcpy.texi: Mention the new module.
19137
19138 2011-02-05  Bruno Haible  <bruno@clisp.org>
19139
19140         New module 'wcscpy'.
19141         * modules/wcscpy: New file.
19142         * lib/wchar.in.h (wcscpy): New declaration.
19143         * lib/wcscpy.c: New file.
19144         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
19145         * m4/wcscpy.m4: New file.
19146         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
19147         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
19148         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
19149         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
19150         * doc/posix-functions/wcscpy.texi: Mention the new module.
19151
19152 2011-02-05  Bruno Haible  <bruno@clisp.org>
19153
19154         New module 'wcsnlen'.
19155         * modules/wcsnlen: New file.
19156         * lib/wchar.in.h (wcsnlen): New declaration.
19157         * lib/wcsnlen.c: New file.
19158         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
19159         * m4/wcsnlen.m4: New file.
19160         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
19161         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
19162         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
19163         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
19164         * doc/posix-functions/wcsnlen.texi: Mention the new module.
19165
19166 2011-02-05  Bruno Haible  <bruno@clisp.org>
19167
19168         New module 'wcslen'.
19169         * modules/wcslen: New file.
19170         * lib/wchar.in.h (wcslen): New declaration.
19171         * lib/wcslen.c: New file.
19172         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
19173         * m4/wcslen.m4: New file.
19174         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
19175         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
19176         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
19177         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
19178         * doc/posix-functions/wcslen.texi: Mention the new module.
19179
19180 2011-02-05  Bruno Haible  <bruno@clisp.org>
19181
19182         New module 'wmemset'.
19183         * modules/wmemset: New file.
19184         * lib/wchar.in.h (wmemset): New declaration.
19185         * lib/wmemset.c: New file.
19186         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
19187         * m4/wmemset.m4: New file.
19188         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
19189         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
19190         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
19191         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
19192         * doc/posix-functions/wmemset.texi: Mention the new module.
19193
19194 2011-02-05  Bruno Haible  <bruno@clisp.org>
19195
19196         New module 'wmemmove'.
19197         * modules/wmemmove: New file.
19198         * lib/wchar.in.h (wmemmove): New declaration.
19199         * lib/wmemmove.c: New file.
19200         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
19201         * m4/wmemmove.m4: New file.
19202         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
19203         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
19204         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
19205         HAVE_WMEMMOVE.
19206         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
19207         * doc/posix-functions/wmemmove.texi: Mention the new module.
19208
19209 2011-02-05  Bruno Haible  <bruno@clisp.org>
19210
19211         New module 'wmemcpy'.
19212         * modules/wmemcpy: New file.
19213         * lib/wchar.in.h (wmemcpy): New declaration.
19214         * lib/wmemcpy.c: New file.
19215         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
19216         * m4/wmemcpy.m4: New file.
19217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
19218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
19219         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
19220         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
19221         * doc/posix-functions/wmemcpy.texi: Mention the new module.
19222
19223 2011-02-05  Bruno Haible  <bruno@clisp.org>
19224
19225         New module 'wmemcmp'.
19226         * modules/wmemcmp: New file.
19227         * lib/wchar.in.h (wmemcmp): New declaration.
19228         * lib/wmemcmp.c: New file.
19229         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
19230         * m4/wmemcmp.m4: New file.
19231         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
19232         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
19233         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
19234         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
19235         * doc/posix-functions/wmemcmp.texi: Mention the new module.
19236
19237 2011-02-07  Jim Meyering  <meyering@redhat.com>
19238
19239         di-set, ino-map: new modules, from coreutils
19240         * lib/di-set.c: New file.
19241         * lib/di-set.h: Likewise.
19242         * lib/ino-map.c: Likewise.
19243         * lib/ino-map.h: Likewise.
19244         * modules/di-set: Likewise.
19245         * modules/di-set-tests: Likewise.
19246         * modules/ino-map: Likewise.
19247         * modules/ino-map-tests: Likewise.
19248         * tests/test-di-set.c: Likewise.
19249         * tests/test-ino-map.c: Likewise.
19250
19251 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19252
19253         getloadavg: merge minor changes from Emacs
19254
19255         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
19256         (getloadavg): Use memset, not bzero.
19257
19258         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
19259         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
19260         clash (bug#86).
19261
19262 2010-11-14  Bruno Haible  <bruno@clisp.org>
19263
19264         Allow multiple gnulib generated replacements to coexist.
19265         * lib/getopt.in.h (struct option): Avoid identical redefinition.
19266         * lib/inttypes.in.h (imaxdiv_t): Likewise.
19267         * lib/langinfo.in.h (nl_item): Likewise.
19268         * lib/math.in.h (_NaN, NAN): Likewise.
19269         * lib/netdb.in.h (struct addrinfo): Likewise.
19270         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
19271         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
19272         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
19273         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
19274         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
19275         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
19276         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
19277         pthread_mutexattr_init, pthread_mutexattr_settype,
19278         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
19279         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
19280         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
19281         pthread_spin_trylock, pthread_spin_unlock): Likewise.
19282         * lib/sched.in.h (struct sched_param): Likewise.
19283         * lib/se-selinux.in.h (security_class_t, security_context_t,
19284         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
19285         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
19286         lsetfilecon, fsetfilecon, security_check_context,
19287         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
19288         Likewise.
19289         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
19290         Likewise.
19291         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
19292         _gl_function_taking_int_returning_void_t, union sigval,
19293         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
19294         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
19295         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
19296         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
19297         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
19298         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
19299         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
19300         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
19301         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
19302         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
19303         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
19304         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
19305         socklen_t, rpl_fd_isset): Likewise.
19306         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
19307         * lib/sys_time.in.h (struct timeval): Likewise.
19308         * lib/sys_times.in.h (struct tms): Likewise.
19309         * lib/sys_utsname.in.h (struct utsname):
19310         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
19311         * lib/unistd.in.h (getpagesize): Likewise.
19312         * lib/wchar.in.h (mbstate_t): Likewise.
19313         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
19314         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
19315         towlower, towupper): Likewise.
19316         Reported by Sam Steingold <sds@gnu.org>.
19317
19318 2011-02-05  Eric Blake  <eblake@redhat.com>
19319
19320         unsetenv: work around Haiku issues
19321         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
19322         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
19323
19324 2010-12-30  Bruce Korb  <bkorb@gnu.org>
19325
19326         libposix: avoid calling error() within libposix
19327         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
19328         is defined.
19329
19330 2011-02-05  Eric Blake  <eblake@redhat.com>
19331
19332         strerror_r-posix: port to cygwin
19333         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
19334         implementation.
19335         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
19336         * tests/test-strerror_r.c (main): Fix test.
19337         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19338         issue.
19339
19340 2011-02-05  Bruno Haible  <bruno@clisp.org>
19341
19342         New module 'wmemchr'.
19343         * modules/wmemchr: New file.
19344         * lib/wchar.in.h (wmemchr): New declaration.
19345         * lib/wmemchr.c: New file.
19346         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
19347         * m4/wmemchr.m4: New file.
19348         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
19349         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
19350         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
19351         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
19352         * doc/posix-functions/wmemchr.texi: Mention the new module.
19353
19354 2011-02-04  Eric Blake  <eblake@redhat.com>
19355
19356         fdopendir: detect FreeBSD bug
19357         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
19358         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
19359
19360 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19361
19362         stdbool: do not define HAVE_STDBOOL_H
19363         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
19364         AC_HEADER_STDBOOL.  All uses changed.  Do not define
19365         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
19366         imported from the latest Autoconf git.  It was motivated by Emacs,
19367         which uses gnulib but does not need HAVE_STDBOOL_H.
19368
19369 2011-02-04  Bruno Haible  <bruno@clisp.org>
19370
19371         wcsnrtombs: Prepare for new module wwcsnrtombs.
19372         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
19373         * lib/wcsnrtombs.c: Include it.
19374         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
19375
19376         wcsrtombs: Prepare for new module wwcsrtombs.
19377         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
19378         * lib/wcsrtombs.c: Include it.
19379         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
19380
19381         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
19382         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
19383         * lib/mbsnrtowcs.c: Include it.
19384         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
19385
19386         mbsrtowcs: Prepare for new module mbsrtowwcs.
19387         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
19388         * lib/mbsrtowcs.c: Include it.
19389         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
19390
19391 2011-02-04  Bruno Haible  <bruno@clisp.org>
19392
19393         vasnprintf: Reduce use of malloc for small format strings.
19394         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
19395         (arguments): Add room for the first 7 arguments.
19396         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
19397         (char_directives, u8_directives, u16_directives, u32_directives): Add
19398         room for the first 7 directives.
19399         * lib/printf-parse.c: Include <string.h>.
19400         (PRINTF_PARSE): Change memory handling code so that it uses the first
19401         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
19402         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
19403         Reported by Pádraig Brady <P@draigbrady.com>.
19404
19405 2011-01-31  Eric Blake  <eblake@redhat.com>
19406
19407         dup2: work around Haiku bug
19408         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
19409         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
19410         * doc/posix-functions/dup2.texi (dup2): Document the bug.
19411         * tests/test-dup2.c (main): Enhance test.
19412
19413 2011-01-31  Simon Josefsson  <simon@josefsson.org>
19414
19415         doc: off_t is not available in eglibc 2.11.2 stdio.h.
19416         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
19417         declared by eglibc 2.11.2.
19418         * lib/stdio.in.h: Likewise.
19419
19420 2011-01-31  Eric Blake  <eblake@redhat.com>
19421
19422         ignore-value: add missing test dependency
19423         * tests/test-ignore-value.c: Revert previous change; stdio.h
19424         provides off_t.
19425         * modules/ignore-value-tests (Depends-on): Add missing dependency.
19426
19427 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19428
19429         mktime: clarify long_int width checking
19430         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
19431         the top level, to make it clearer that the assumption about
19432         long_int width is being checked.  See
19433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
19434
19435 2011-01-30  Simon Josefsson  <simon@josefsson.org>
19436
19437         ignore-value: Fix self-test.
19438         * tests/test-ignore-value.c: Include sys/types.h for off_t.
19439
19440 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19441
19442         TYPE_MAXIMUM: avoid theoretically undefined behavior
19443         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19444         negative number, which the C Standard says has undefined behavior.
19445         In practice this is not a problem, but might as well do it by the book.
19446         Reported by Rich Felker and Eric Blake; see
19447         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19448         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19449         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19450         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19451         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19452         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19453         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19454
19455         mktime: #undef mktime before #defining it
19456         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19457
19458         mktime: systematically normalize tm_isdst comparisons
19459         * lib/mktime.c (isdst_differ): New function.
19460         (__mktime_internal): Use it systematically for all isdst comparisons.
19461         This completes the fix for libc BZ #6723, and removes the need for
19462         normalizing tm_isdst.  See
19463         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19464         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19465
19466         mktime: fix some integer overflow issues and sidestep the rest
19467
19468         This was prompted by a bug report by Benjamin Lindner for MinGW
19469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19470         His bug is due to signed integer overflow (0 - INT_MIN), and I
19471         I scanned through mktime.c looking for other integer overflow
19472         problems, fixing all the bugs I found.
19473
19474         Although the C Standard says the resulting code is still not safe
19475         in the presence of integer overflow, in practice it should be good
19476         enough for all real-world two's-complement implementations, except
19477         for debugging environments that deliberately trap on integer
19478         overflow (e.g., gcc -ftrapv).
19479
19480         * lib/mktime.c (WRAPV): New macro.
19481         (SHR): Also check that long_int and time_t shift right in the
19482         usual way, before using the fast-but-unportable method.
19483         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19484         used.  The code already assumed two's complement, so there's
19485         no need to test for alternatives.  All uses removed.
19486         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19487         the C standard.  Problem reported by Rich Felker in
19488         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19489         (twos_complement_arithmetic): Also check long_int and time_t.
19490         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19491         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19492         (__mktime_internal): Avoid integer overflow with unary subtraction
19493         in two instances where -1 - X is an adequate replacement for -X,
19494         since the calculations are approximate.
19495
19496 2011-01-29  Eric Blake  <eblake@redhat.com>
19497
19498         mktime: avoid infinite loop
19499         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19500         type; behavior is still undefined but portable to all known targets.
19501         Reported by Rich Felker.
19502
19503 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19504
19505         rename, unlink, same-inode: Relicense.
19506         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19507         * modules/unlink (License): Likewise.
19508         * modules/same-inode (License): Likewise.
19509
19510 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19511
19512         mktime: avoid problems on NetBSD 5 / i386
19513         * lib/mktime.c (long_int): New type.  This works around a problem
19514         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19515         but time_t is 64 bits, and where I expect the existing code is
19516         wrong in some cases.
19517         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19518         (ydhms_diff): Bring back the compile-time check for wide-enough
19519         year and yday.
19520
19521         mktime: fix misspelling in comment
19522         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19523         This merges all recent glibc changes of importance.
19524
19525 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19526
19527         move-if-change: cope with concurrent mv of identical file.
19528         * build-aux/move-if-change (CMPPROG): Accept environment
19529         variable as an override for `cmp'.
19530         (usage): Document CMPPROG.
19531         Adjust comparison to drop stdout.  Cope with failure of mv if
19532         the target file exists and is identical to the source, for
19533         parallel builds.
19534         Report from H.J. Lu against binutils in PR binutils/12283.
19535
19536 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19537
19538         * users.txt: Mention sharutils.
19539
19540 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19541
19542         * users.txt: Mention OATH Toolkit.
19543
19544 2011-01-27  Bruno Haible  <bruno@clisp.org>
19545
19546         Prepare for supporting FreeBSD 10.
19547         * build-aux/config.libpath: Remove handling of freebsd1*.
19548
19549 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19550
19551         Prepare for supporting FreeBSD 10.
19552         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19553         match FreeBSD 10.0.
19554
19555 2011-01-27  Bruno Haible  <bruno@clisp.org>
19556
19557         vma-iter, get-rusage-as: Add OpenBSD support.
19558         * modules/vma-iter (configure.ac): Test for mquery.
19559         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19560         * lib/vma-iter.c: Include <sys/mman.h>.
19561         (vma_iterate): Add an implementation based on mquery().
19562         * lib/resource-ext.h (get_rusage_as): Update comments.
19563         * lib/get-rusage-as.c: Likewise.
19564         * lib/get-rusage-data.c: Likewise.
19565
19566 2011-01-26  Karl Berry  <karl@gnu.org>
19567
19568         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19569         variables to make it easier to override the makeinfo program used.
19570
19571 2011-01-26  Eric Blake  <eblake@redhat.com>
19572
19573         fcntl: work around Haiku F_DUPFD bugs
19574         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19575         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19576         cloexec bit on duplication.
19577         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19578
19579 2011-01-26  Bruno Haible  <bruno@clisp.org>
19580
19581         Enable memory leak tests on AIX.
19582         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19583         * tests/test-fprintf-posix3.c (main): Likewise.
19584
19585 2011-01-26  Bruno Haible  <bruno@clisp.org>
19586
19587         Tests for module 'get-rusage-data'.
19588         * modules/get-rusage-data-tests: New file.
19589         * tests/test-get-rusage-data.c: New file.
19590
19591         New module 'get-rusage-data'.
19592         * lib/resource-ext.h (get_rusage_data): New declaration.
19593         * lib/get-rusage-data.c: New file.
19594         * modules/get-rusage-data: New file.
19595
19596 2011-01-25  Bruno Haible  <bruno@clisp.org>
19597
19598         get-rusage-as: Allow for easier testing.
19599         * lib/resource-ext.h (get_rusage_as): Add comment.
19600         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19601         (main): New function for interactive testing.
19602
19603 2011-01-25  Bruno Haible  <bruno@clisp.org>
19604
19605         vma-iter: Treat Haiku like BeOS.
19606         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19607         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19608
19609 2011-01-25  Eric Blake  <eblake@redhat.com>
19610
19611         c-stack: fix regression on cygwin when libsigsegv is present
19612         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19613
19614 2011-01-24  Bruno Haible  <bruno@clisp.org>
19615
19616         vma-iter: Avoid empty intervals.
19617         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19618         on an empty interval.
19619
19620 2011-01-24  Jim Meyering  <meyering@redhat.com>
19621
19622         u64: remove unnecessary #include
19623         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19624
19625 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19626
19627         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19628         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19629
19630 2011-01-23  Bruno Haible  <bruno@clisp.org>
19631
19632         New module 'vma-iter'.
19633         * lib/vma-iter.h: New file.
19634         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19635         * modules/vma-iter: New file.
19636         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19637         for get_rusage_as_via_iterator.
19638         (vma_iterate_callback): New function.
19639         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19640         * modules/get-rusage-as (Depends-on): Add vma-iter.
19641
19642 2011-01-23  Bruno Haible  <bruno@clisp.org>
19643
19644         uninorm: Tweak includes.
19645         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19646         Reported by Jim Meyering.
19647
19648 2011-01-23  Bruno Haible  <bruno@clisp.org>
19649
19650         get-rusage-as: Improve on NetBSD.
19651         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19652         /proc, like on FreeBSD.
19653
19654 2011-01-23  Jim Meyering  <meyering@redhat.com>
19655
19656         xreadlink.h: remove unnecessary #include
19657         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19658
19659         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19660         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19661
19662 2011-01-23  Bruno Haible  <bruno@clisp.org>
19663
19664         get-rusage-as: Fix bug.
19665         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19666         original limit when aborting the first loop.
19667
19668 2011-01-23  Bruno Haible  <bruno@clisp.org>
19669
19670         wctype: Ensure valid C syntax.
19671         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19672         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19673
19674 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19675
19676         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19677         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19678         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19679         as they are needed only for configure's test case.
19680         This removes two unnecessary symbols from config.h.
19681
19682         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19683         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19684         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19685         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19686         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19687         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19688         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19689         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19690         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19691         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19692         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19693         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19694         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19695         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19696         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19697         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19698         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19699         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19700
19701 2011-01-21  Eric Blake  <eblake@redhat.com>
19702
19703         maintainer-makefile: work with older git for submodule check
19704         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19705         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19706         Reported by Matthias Bolte.
19707
19708         bootstrap: minor portability fixes
19709         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19710         (usage): Omit leading capital and trailing . on help phrases, per
19711         GNU Coding Standards.
19712         (check_versions, top level): Prefix messages with script name.
19713
19714 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19715
19716         bootstrap: support --no-git option
19717         * build-aux/bootstrap: Add --no-git option, to be used when
19718         --gnulib-srcdir points to the exact desired checkout.
19719
19720 2011-01-21  Eric Blake  <eblake@redhat.com>
19721
19722         strerror_r-posix: work with glibc 2.13
19723         * lib/strerror_r.c (strerror_r): Fix return type.
19724
19725 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19726             Bruno Haible  <bruno@clisp.org>
19727
19728         uN_strstr: New unit tests.
19729         * modules/unistr/u8-strstr-tests: New file.
19730         * modules/unistr/u16-strstr-tests: New file.
19731         * modules/unistr/u32-strstr-tests: New file.
19732         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19733         * tests/unistr/test-u8-strstr.c: New file.
19734         * tests/unistr/test-u16-strstr.c: New file.
19735         * tests/unistr/test-u32-strstr.c: New file.
19736
19737 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19738             Bruno Haible  <bruno@clisp.org>
19739
19740         Make uN_strstr functions O(n) worst-case.
19741         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19742         16-bit and 32-bit unit cases, use the unibyte algorithm from
19743         lib/mbsstr.c.
19744         * lib/unistr/u8-strstr.c: Include <string.h>.
19745         (UNIT_IS_UINT8_T): New macro.
19746         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19747         (U_STRLEN, U_STRNLEN): New macros.
19748         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19749         (U_STRLEN, U_STRNLEN): New macros.
19750         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19751         (configure.ac): Update required libunistring version.
19752         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19753         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19754         malloca.
19755         (configure.ac): Update required libunistring version.
19756         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19757         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19758         malloca.
19759         (configure.ac): Update required libunistring version.
19760
19761 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19762             Bruno Haible  <bruno@clisp.org>
19763
19764         Prepare for faster uN_strstr functions.
19765         * lib/str-kmp.h: Support definable UNITs.
19766         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19767         needle_len argument.
19768         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19769         * lib/mbscasestr.c (mbscasestr): Likewise.
19770
19771 2011-01-21  Pádraig Brady <P@draigBrady.com>
19772
19773         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19774         * tests/test-malloca.c (main): Unset the environment variable
19775         to greatly speed up the test.
19776         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19777         * modules/malloca-tests: Depend on unsetenv.
19778
19779 2011-01-21  Pádraig Brady <P@draigBrady.com>
19780
19781         ignore-value: remove stdint dependency
19782         * lib/ignore-value.h: Remove <stdint.h>
19783         * modules/ignore-value: Remove stdint dependency.
19784
19785 2011-01-21  Jim Meyering  <meyering@redhat.com>
19786
19787         maint.mk: adjust variable name to be consistent with other gl_ vars
19788         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19789         to be lower case.
19790
19791 2011-01-20  Jim Meyering  <meyering@redhat.com>
19792
19793         maint.mk: make "check" depend on public-submodule-commit by default
19794         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19795
19796 2011-01-20  Bruno Haible  <bruno@clisp.org>
19797
19798         mbfile, mbiter: Complete change from 2008-12-21.
19799         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19800         * m4/mbiter.m4 (gl_MBITER): Likewise.
19801
19802 2011-01-20  Jim Meyering  <meyering@redhat.com>
19803
19804         init.sh: insert space between each function name and "()"
19805         * tests/init.sh: Make it a little easier to see that a function's
19806         name is "warn_", and not "warn" when looking at the first part of
19807         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19808
19809 2011-01-20  Jim Meyering  <meyering@redhat.com>
19810
19811         mountlist: clean up code formatting
19812         * lib/mountlist.c (read_file_system_list): Split a long line,
19813         correct bracing style, use NULL in place of "(struct statfs *)0",
19814         don't parenthesize return value, add spaces around "=" and after
19815         ";-in-for-stmt".
19816
19817 2011-01-14  Markus Duft <mduft@gentoo.org>
19818
19819         mountlist: add support for Interix
19820         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19821         Apply statvfs to all entries of /dev/fs.
19822         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19823         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19824
19825 2011-01-20  Jim Meyering  <meyering@redhat.com>
19826
19827         maint.mk: improve the public-submodule-commit rule
19828         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19829         to suppress printing of its commands... unless V=1.
19830         Add git submodule's --quiet option to suppress printing of e.g.,
19831         "Entering gnulib" output.
19832         "cd" into $(srcdir) before running git submodule.
19833
19834 2011-01-20  Bruno Haible  <bruno@clisp.org>
19835
19836         include_next: Fix bug introduced on 2011-01-18.
19837         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19838         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19839         ac_cv_header_... variable if the second argument is not 'check'.
19840         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19841         gl_NEXT_HEADERS_INTERNAL.
19842
19843 2011-01-20  Bruno Haible  <bruno@clisp.org>
19844
19845         Allow the user to avoid the GNULIB_TEST_* macros.
19846         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19847         Suggested by Paul Eggert.
19848
19849 2011-01-14  Jim Meyering  <meyering@redhat.com>
19850
19851         bootstrap: avoid failure when there is no .gitmodules file
19852         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19853         has been assigned to, even when its value is the empty string.
19854         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19855         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19856         Reported by John W. Eaton <jwe@gnu.org>.
19857
19858 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19859
19860         assume <ctype.h>, ..., <time.h> exist
19861         For years gnulib has been assuming the existence of the headers
19862         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19863         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19864         them, since they don't appear to be needed.
19865         * README (Portability guidelines): Document this.
19866         * lib/flock.c: Assume <fcntl.h> exists.
19867         * lib/regex_internal.h: Assume <locale.h> exists.
19868         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19869         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19870         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19871         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19872         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19873         * m4/regex.m4 (gl_REGEX): Likewise.
19874         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19875         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19876         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19877         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19878         * tests/test-argp.c: Likewise.
19879         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19880
19881         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19882         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19883         AA_APPLE_UNIVERSAL_BUILD.  See
19884         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19885         * NEWS: Document this.
19886
19887 2011-01-19  Eric Blake  <eblake@redhat.com>
19888
19889         c-stack: assume stack overflow if SA_SIGINFO unsupported
19890         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19891         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19892         sigaction will work.
19893         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19894         behavior match Linux.
19895         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19896
19897         stdbool-tests: accomodate Haiku
19898         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19899
19900         binary-io: fix O_TEXT on Haiku
19901         * modules/binary-io (Depends-on): Add fcntl-h.
19902         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19903         than blindly undefining O_TEXT.
19904         Reported by Scott McCreary.
19905
19906 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19907
19908         include_next: do not check for standard headers like stddef.h
19909
19910         I found this problem when modifying Emacs to use gnulib.
19911         I noticed that it added HAVE_STDDEF_H to config.h, even though
19912         gnulib always assumes <stddef.h> exists as per README and this
19913         symbol is unnecessary.
19914         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19915         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19916         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19917         faster for headers like stddef.h that are known to exist.
19918         (gl_CHECK_NEXT_HEADERS): Use it.
19919         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19920         rather than gl_CHECK_NEXT_HEADERS.
19921         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19922         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19923
19924 2011-01-18  Eric Blake  <eblake@redhat.com>
19925
19926         ansi-c++-opt: skip C++ dependency style if C++ is unused
19927         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19928         tests when we know C++ compilation is not desired.
19929         Reported by Scott McCreary.
19930
19931 2011-01-18  Bruno Haible  <bruno@clisp.org>
19932
19933         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19934         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19935         (main): Perform test also when getrlimit and setrlimit don't exist or
19936         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19937         limiting the address space size using setrlimit, compare the address
19938         space size before and after the the test.
19939         * tests/test-dprintf-posix2.c: Likewise.
19940         * tests/test-fprintf-posix3.sh: Update skip messages.
19941         * tests/test-dprintf-posix2.sh: Likewise.
19942         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19943         * modules/dprintf-posix-tests (Depends-on): Likewise.
19944         Reported by Bruce Korb <bkorb@gnu.org> and
19945         Gary V. Vaughan <gary@gnu.org>.
19946
19947 2011-01-18  Bruno Haible  <bruno@clisp.org>
19948
19949         get-rusage-as: Improvement for Cygwin.
19950         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19951         areas that are merely reserved.
19952
19953 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19954
19955         strftime: remove dependencies on multibyte modules
19956
19957         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19958         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19959         only if __osf__ is defined, and I suspect OSF doesn't need these
19960         other modules.  If my guess is wrong, we'll need to come up with a
19961         variant of strftime that doesn't need the multibyte modules.
19962
19963         I discovered this problem when attempting modify Emacs to use the
19964         strftime module.  With the previous gnulib, this caused Emacs to
19965         need 31 new files, ranging from lib/config.charset to
19966         m4/wint_t.m4.  This was overkill and I expect would be offputting
19967         to the Emacs maintainers.  After this change, only 6 new files are
19968         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19969         stdbool.m4, and tm_gmtoff.m4.
19970
19971         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19972         Suggested by Bruno Haible in
19973         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19974         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19975         and do not check for wchar.h.
19976         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19977         (Depends-on): Remove mbrlen, mbsinit, wchar.
19978
19979 2011-01-18  Bruno Haible  <bruno@clisp.org>
19980
19981         Tests for module 'get-rusage-as'.
19982         * modules/get-rusage-as-tests: New file.
19983         * tests/test-get-rusage-as.c: New file.
19984
19985         New module 'get-rusage-as'.
19986         * modules/get-rusage-as: New file.
19987         * lib/resource-ext.h: New file.
19988         * lib/get-rusage-as.c: New file.
19989
19990 2011-01-17  Eric Blake  <eblake@redhat.com>
19991
19992         sigaction: relax license from LGPLv3+ to LGPLv2+
19993         * modules/sigaction (License): Relax to LGPLv2+.
19994
19995 2011-01-14  Bruno Haible  <bruno@clisp.org>
19996
19997         filemode: Make function declarations usable in C++ mode.
19998         * lib/filemode.h: Enclose function declarations in extern "C" block.
19999         Reported by John W. Eaton <jwe@gnu.org>.
20000
20001 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
20002
20003         save-cwd: no longer include "xgetcwd.h"
20004         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
20005         This avoids a compilation failure in projects that use save-cwd
20006         without also using the xgetcwd module.
20007
20008 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20009
20010         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
20011         This is so that a program like Emacs, which needs only dtoastr,
20012         does not have to bother with distributing and compiling ftoastr
20013         and ldtoastr.
20014         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
20015         * modules/dtoastr, modules/ldtoastr: New files.
20016         * modules/ftoastr: Now works just for 'float'.
20017         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
20018         (Makefile.am): Remove ftoastr.h (not needed and no effect),
20019         dtoastr.c, ldtoastr.c.
20020
20021 2011-01-11  Jim Meyering  <meyering@redhat.com>
20022
20023         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
20024         There is no need to work around the lack of the fchdir function,
20025         since gnulib can now provide a replacement when required.
20026         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
20027         * modules/save-cwd (Depends-on): Add fchdir.
20028
20029 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
20030
20031         openat, save-cwd: avoid xmalloc
20032
20033         This removes a direct (but undocumented) dependency of openat on
20034         xalloc, along with an indirect dependency via save-cwd.  It also
20035         removes a dependency of save-cwd on xgetcwd, and thereby
20036         indirectly on xalloc.  This change causes the openat substitute
20037         to fall back on save_cwd when memory is tight, and for save_cwd to
20038         fail instead of dying when memory is tight, but that's good enough.
20039         Problem and initial idea for fix reported by Bastien Roucaries in
20040         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
20041
20042         * lib/openat-proc.c: Include stdlib.h (for malloc), not
20043         xalloc.h (for xmalloc).
20044         (openat_proc_name): Use malloc, not xmalloc.
20045         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
20046         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
20047
20048         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
20049         This avoids heap allocation for file names whose lengths are in
20050         the range 512..1023, with the upper bound increasing to at most
20051         4031 depending on the platform's PATH_MAX.  (We do not want
20052         pathmax.h here as it might supply a non-constant PATH_MAX.)
20053         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
20054         Perhaps they should be moved to malloca.h?
20055         (OPENAT_BUFFER_SIZE): Use them.
20056
20057 2011-01-10  Bruno Haible  <bruno@clisp.org>
20058
20059         doc: Update users.txt.
20060         * users.txt: Add recutils.
20061
20062 2011-01-09  Karl Berry  <karl@gnu.org>
20063
20064         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
20065
20066         * doc/configmake.texi: New file.
20067         * doc/gnulib.texi: Include it.
20068         * modules/configmake: Move documentation from here.
20069
20070 2011-01-09  Bruno Haible  <bruno@clisp.org>
20071
20072         Update to Unicode 6.0.0.
20073         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
20074         (get_lbp): Update for Unicode 6.0.0.
20075         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
20076         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
20077         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
20078         U+11001, U+11038..U+11046. Remove U+06DE.
20079         (uc_width): Fix bounds of planes.
20080         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20081         lib/uniwidth/width.c.
20082         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
20083         trailing whitespace removed.
20084         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
20085         without comments, but with the original copyright notice.
20086         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
20087         * lib/unicase/ignorable.h: Likewise.
20088         * lib/unicase/tocasefold.h: Likewise.
20089         * lib/unicase/tolower.h: Likewise.
20090         * lib/unicase/totitle.h: Likewise.
20091         * lib/unicase/toupper.h: Likewise.
20092         * lib/unictype/bidi_of.h: Likewise.
20093         * lib/unictype/blocks.h: Likewise.
20094         * lib/unictype/categ_C.h: Likewise.
20095         * lib/unictype/categ_Cn.h: Likewise.
20096         * lib/unictype/categ_L.h: Likewise.
20097         * lib/unictype/categ_Ll.h: Likewise.
20098         * lib/unictype/categ_Lm.h: Likewise.
20099         * lib/unictype/categ_Lo.h: Likewise.
20100         * lib/unictype/categ_Lu.h: Likewise.
20101         * lib/unictype/categ_M.h: Likewise.
20102         * lib/unictype/categ_Mc.h: Likewise.
20103         * lib/unictype/categ_Me.h: Likewise.
20104         * lib/unictype/categ_Mn.h: Likewise.
20105         * lib/unictype/categ_N.h: Likewise.
20106         * lib/unictype/categ_Nd.h: Likewise.
20107         * lib/unictype/categ_No.h: Likewise.
20108         * lib/unictype/categ_P.h: Likewise.
20109         * lib/unictype/categ_Po.h: Likewise.
20110         * lib/unictype/categ_S.h: Likewise.
20111         * lib/unictype/categ_Sc.h: Likewise.
20112         * lib/unictype/categ_Sk.h: Likewise.
20113         * lib/unictype/categ_Sm.h: Likewise.
20114         * lib/unictype/categ_So.h: Likewise.
20115         * lib/unictype/categ_of.h: Likewise.
20116         * lib/unictype/combining.h: Likewise.
20117         * lib/unictype/ctype_alnum.h: Likewise.
20118         * lib/unictype/ctype_alpha.h: Likewise.
20119         * lib/unictype/ctype_graph.h: Likewise.
20120         * lib/unictype/ctype_lower.h: Likewise.
20121         * lib/unictype/ctype_print.h: Likewise.
20122         * lib/unictype/ctype_punct.h: Likewise.
20123         * lib/unictype/ctype_upper.h: Likewise.
20124         * lib/unictype/decdigit.h: Likewise.
20125         * lib/unictype/digit.h: Likewise.
20126         * lib/unictype/numeric.h: Likewise.
20127         * lib/unictype/pr_alphabetic.h: Likewise.
20128         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20129         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20130         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20131         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20132         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20133         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20134         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20135         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20136         * lib/unictype/pr_case_ignorable.h: Likewise.
20137         * lib/unictype/pr_cased.h: Likewise.
20138         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
20139         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
20140         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
20141         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
20142         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
20143         * lib/unictype/pr_combining.h: Likewise.
20144         * lib/unictype/pr_composite.h: Likewise.
20145         * lib/unictype/pr_currency_symbol.h: Likewise.
20146         * lib/unictype/pr_decimal_digit.h: Likewise.
20147         * lib/unictype/pr_deprecated.h: Likewise.
20148         * lib/unictype/pr_format_control.h: Likewise.
20149         * lib/unictype/pr_grapheme_base.h: Likewise.
20150         * lib/unictype/pr_grapheme_extend.h: Likewise.
20151         * lib/unictype/pr_grapheme_link.h: Likewise.
20152         * lib/unictype/pr_id_continue.h: Likewise.
20153         * lib/unictype/pr_id_start.h: Likewise.
20154         * lib/unictype/pr_ideographic.h: Likewise.
20155         * lib/unictype/pr_lowercase.h: Likewise.
20156         * lib/unictype/pr_math.h: Likewise.
20157         * lib/unictype/pr_numeric.h: Likewise.
20158         * lib/unictype/pr_other_alphabetic.h: Likewise.
20159         * lib/unictype/pr_other_id_continue.h: Likewise.
20160         * lib/unictype/pr_other_math.h: Likewise.
20161         * lib/unictype/pr_punctuation.h: Likewise.
20162         * lib/unictype/pr_sentence_terminal.h: Likewise.
20163         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20164         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20165         * lib/unictype/pr_unified_ideograph.h: Likewise.
20166         * lib/unictype/pr_uppercase.h: Likewise.
20167         * lib/unictype/pr_xid_continue.h: Likewise.
20168         * lib/unictype/pr_xid_start.h: Likewise.
20169         * lib/unictype/scripts.h: Likewise.
20170         * lib/unictype/scripts_byname.gperf: Likewise.
20171         * lib/unictype/sy_java_ident.h: Likewise.
20172         * lib/unigbrk/gbrkprop.h: Likewise.
20173         * lib/unilbrk/lbrkprop1.h: Likewise.
20174         * lib/unilbrk/lbrkprop2.h: Likewise.
20175         * lib/uninorm/decomposition-table2.h: Likewise.
20176         * lib/uniwbrk/wbrkprop.h: Likewise.
20177         * tests/unicase/test-cased.c: Likewise.
20178         * tests/unicase/test-ignorable.c: Likewise.
20179         * tests/unicase/test-uc_tolower.c: Likewise.
20180         * tests/unicase/test-uc_totitle.c: Likewise.
20181         * tests/unicase/test-uc_toupper.c: Likewise.
20182         * tests/unictype/test-categ_C.c: Likewise.
20183         * tests/unictype/test-categ_Cn.c: Likewise.
20184         * tests/unictype/test-categ_L.c: Likewise.
20185         * tests/unictype/test-categ_Ll.c: Likewise.
20186         * tests/unictype/test-categ_Lm.c: Likewise.
20187         * tests/unictype/test-categ_Lo.c: Likewise.
20188         * tests/unictype/test-categ_Lu.c: Likewise.
20189         * tests/unictype/test-categ_M.c: Likewise.
20190         * tests/unictype/test-categ_Mc.c: Likewise.
20191         * tests/unictype/test-categ_Me.c: Likewise.
20192         * tests/unictype/test-categ_Mn.c: Likewise.
20193         * tests/unictype/test-categ_N.c: Likewise.
20194         * tests/unictype/test-categ_Nd.c: Likewise.
20195         * tests/unictype/test-categ_No.c: Likewise.
20196         * tests/unictype/test-categ_P.c: Likewise.
20197         * tests/unictype/test-categ_Po.c: Likewise.
20198         * tests/unictype/test-categ_S.c: Likewise.
20199         * tests/unictype/test-categ_Sc.c: Likewise.
20200         * tests/unictype/test-categ_Sk.c: Likewise.
20201         * tests/unictype/test-categ_Sm.c: Likewise.
20202         * tests/unictype/test-categ_So.c: Likewise.
20203         * tests/unictype/test-ctype_alnum.c: Likewise.
20204         * tests/unictype/test-ctype_alpha.c: Likewise.
20205         * tests/unictype/test-ctype_graph.c: Likewise.
20206         * tests/unictype/test-ctype_lower.c: Likewise.
20207         * tests/unictype/test-ctype_print.c: Likewise.
20208         * tests/unictype/test-ctype_punct.c: Likewise.
20209         * tests/unictype/test-ctype_upper.c: Likewise.
20210         * tests/unictype/test-decdigit.h: Likewise.
20211         * tests/unictype/test-digit.h: Likewise.
20212         * tests/unictype/test-numeric.h: Likewise.
20213         * tests/unictype/test-pr_alphabetic.c: Likewise.
20214         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20215         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
20216         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
20217         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20218         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20219         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20220         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20221         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20222         * tests/unictype/test-pr_case_ignorable.c: Likewise.
20223         * tests/unictype/test-pr_cased.c: Likewise.
20224         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
20225         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
20226         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
20227         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
20228         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
20229         * tests/unictype/test-pr_combining.c: Likewise.
20230         * tests/unictype/test-pr_composite.c: Likewise.
20231         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20232         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20233         * tests/unictype/test-pr_deprecated.c: Likewise.
20234         * tests/unictype/test-pr_format_control.c: Likewise.
20235         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20236         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20237         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20238         * tests/unictype/test-pr_id_continue.c: Likewise.
20239         * tests/unictype/test-pr_id_start.c: Likewise.
20240         * tests/unictype/test-pr_ideographic.c: Likewise.
20241         * tests/unictype/test-pr_lowercase.c: Likewise.
20242         * tests/unictype/test-pr_math.c: Likewise.
20243         * tests/unictype/test-pr_numeric.c: Likewise.
20244         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20245         * tests/unictype/test-pr_other_id_continue.c: Likewise.
20246         * tests/unictype/test-pr_other_math.c: Likewise.
20247         * tests/unictype/test-pr_punctuation.c: Likewise.
20248         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20249         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20250         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20251         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20252         * tests/unictype/test-pr_uppercase.c: Likewise.
20253         * tests/unictype/test-pr_xid_continue.c: Likewise.
20254         * tests/unictype/test-pr_xid_start.c: Likewise.
20255         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20256         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20257         changes.
20258         * lib/unictype/categ_Cc.h: Likewise.
20259         * lib/unictype/categ_Cf.h: Likewise.
20260         * lib/unictype/categ_Co.h: Likewise.
20261         * lib/unictype/categ_Cs.h: Likewise.
20262         * lib/unictype/categ_Lt.h: Likewise.
20263         * lib/unictype/categ_Nl.h: Likewise.
20264         * lib/unictype/categ_Pc.h: Likewise.
20265         * lib/unictype/categ_Pd.h: Likewise.
20266         * lib/unictype/categ_Pe.h: Likewise.
20267         * lib/unictype/categ_Pf.h: Likewise.
20268         * lib/unictype/categ_Pi.h: Likewise.
20269         * lib/unictype/categ_Ps.h: Likewise.
20270         * lib/unictype/categ_Z.h: Likewise.
20271         * lib/unictype/categ_Zl.h: Likewise.
20272         * lib/unictype/categ_Zp.h: Likewise.
20273         * lib/unictype/categ_Zs.h: Likewise.
20274         * lib/unictype/ctype_blank.h: Likewise.
20275         * lib/unictype/ctype_cntrl.h: Likewise.
20276         * lib/unictype/ctype_digit.h: Likewise.
20277         * lib/unictype/ctype_space.h: Likewise.
20278         * lib/unictype/ctype_xdigit.h: Likewise.
20279         * lib/unictype/mirror.h: Likewise.
20280         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20281         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20282         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20283         * lib/unictype/pr_bidi_control.h: Likewise.
20284         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20285         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20286         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20287         * lib/unictype/pr_bidi_pdf.h: Likewise.
20288         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20289         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20290         * lib/unictype/pr_dash.h: Likewise.
20291         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20292         * lib/unictype/pr_diacritic.h: Likewise.
20293         * lib/unictype/pr_extender.h: Likewise.
20294         * lib/unictype/pr_hex_digit.h: Likewise.
20295         * lib/unictype/pr_hyphen.h: Likewise.
20296         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20297         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20298         * lib/unictype/pr_ignorable_control.h: Likewise.
20299         * lib/unictype/pr_iso_control.h: Likewise.
20300         * lib/unictype/pr_join_control.h: Likewise.
20301         * lib/unictype/pr_left_of_pair.h: Likewise.
20302         * lib/unictype/pr_line_separator.h: Likewise.
20303         * lib/unictype/pr_logical_order_exception.h: Likewise.
20304         * lib/unictype/pr_non_break.h: Likewise.
20305         * lib/unictype/pr_not_a_character.h: Likewise.
20306         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20307         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20308         * lib/unictype/pr_other_id_start.h: Likewise.
20309         * lib/unictype/pr_other_lowercase.h: Likewise.
20310         * lib/unictype/pr_other_uppercase.h: Likewise.
20311         * lib/unictype/pr_paired_punctuation.h: Likewise.
20312         * lib/unictype/pr_paragraph_separator.h: Likewise.
20313         * lib/unictype/pr_pattern_syntax.h: Likewise.
20314         * lib/unictype/pr_pattern_white_space.h: Likewise.
20315         * lib/unictype/pr_private_use.h: Likewise.
20316         * lib/unictype/pr_quotation_mark.h: Likewise.
20317         * lib/unictype/pr_radical.h: Likewise.
20318         * lib/unictype/pr_soft_dotted.h: Likewise.
20319         * lib/unictype/pr_space.h: Likewise.
20320         * lib/unictype/pr_titlecase.h: Likewise.
20321         * lib/unictype/pr_variation_selector.h: Likewise.
20322         * lib/unictype/pr_white_space.h: Likewise.
20323         * lib/unictype/pr_zero_width.h: Likewise.
20324         * lib/unictype/sy_c_ident.h: Likewise.
20325         * lib/unictype/sy_c_whitespace.h: Likewise.
20326         * lib/unictype/sy_java_whitespace.h: Likewise.
20327         * lib/uninorm/composition-table.gperf: Likewise.
20328         * lib/uninorm/decomposition-table1.h: Likewise.
20329         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
20330         LB8.
20331         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20332         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20333         * modules/unictype/*: Bump version number of expected libunistring
20334         version.
20335
20336 2011-01-09  Bruno Haible  <bruno@clisp.org>
20337
20338         Update to Unicode 5.2.0.
20339         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
20340         trailing whitespace removed.
20341
20342 2011-01-09  Bruno Haible  <bruno@clisp.org>
20343
20344         New Unicode character properties, from Unicode 5.2.0.
20345         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
20346         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
20347         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
20348         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
20349         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
20350         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
20351         uc_is_property_cased, uc_is_property_case_ignorable,
20352         uc_is_property_changes_when_lowercased,
20353         uc_is_property_changes_when_uppercased,
20354         uc_is_property_changes_when_titlecased,
20355         uc_is_property_changes_when_casefolded,
20356         uc_is_property_changes_when_casemapped): New declarations.
20357         * lib/unictype/pr_byname.gperf: Add the new properties.
20358         * modules/unictype/property-byname (Depends-on): Depend on the new
20359         properties modules.
20360         * modules/unictype/property-all (Depends-on): Likewise.
20361         * MODULES.html.sh (Unicode string functions): Add
20362         unictype/property-case-ignorable, unictype/property-cased,
20363         unictype/property-changes-when-casefolded,
20364         unictype/property-changes-when-casemapped,
20365         unictype/property-changes-when-lowercased,
20366         unictype/property-changes-when-titlecased,
20367         unictype/property-changes-when-uppercased.
20368
20369         New module 'unictype/property-changes-when-casemapped'.
20370         * modules/unictype/property-changes-when-casemapped: New file.
20371         * lib/unictype/pr_changes_when_casemapped.c: New file.
20372         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
20373         generated by gen-uni-tables.
20374         * modules/unictype/property-changes-when-casemapped-tests: New file.
20375         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
20376         automatically generated by gen-uni-tables.
20377
20378         New module 'unictype/property-changes-when-casefolded'.
20379         * modules/unictype/property-changes-when-casefolded: New file.
20380         * lib/unictype/pr_changes_when_casefolded.c: New file.
20381         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
20382         generated by gen-uni-tables.
20383         * modules/unictype/property-changes-when-casefolded-tests: New file.
20384         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
20385         automatically generated by gen-uni-tables.
20386
20387         New module 'unictype/property-changes-when-titlecased'.
20388         * modules/unictype/property-changes-when-titlecased: New file.
20389         * lib/unictype/pr_changes_when_titlecased.c: New file.
20390         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
20391         generated by gen-uni-tables.
20392         * modules/unictype/property-changes-when-titlecased-tests: New file.
20393         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
20394         automatically generated by gen-uni-tables.
20395
20396         New module 'unictype/property-changes-when-uppercased'.
20397         * modules/unictype/property-changes-when-uppercased: New file.
20398         * lib/unictype/pr_changes_when_uppercased.c: New file.
20399         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
20400         generated by gen-uni-tables.
20401         * modules/unictype/property-changes-when-uppercased-tests: New file.
20402         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
20403         automatically generated by gen-uni-tables.
20404
20405         New module 'unictype/property-changes-when-lowercased'.
20406         * modules/unictype/property-changes-when-lowercased: New file.
20407         * lib/unictype/pr_changes_when_lowercased.c: New file.
20408         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
20409         generated by gen-uni-tables.
20410         * modules/unictype/property-changes-when-lowercased-tests: New file.
20411         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
20412         automatically generated by gen-uni-tables.
20413
20414         New module 'unictype/property-case-ignorable'.
20415         * modules/unictype/property-case-ignorable: New file.
20416         * lib/unictype/pr_case_ignorable.c: New file.
20417         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
20418         by gen-uni-tables.
20419         * modules/unictype/property-case-ignorable-tests: New file.
20420         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
20421         generated by gen-uni-tables.
20422
20423         New module 'unictype/property-cased'.
20424         * modules/unictype/property-cased: New file.
20425         * lib/unictype/pr_cased.c: New file.
20426         * lib/unictype/pr_cased.h: New file, automatically generated by
20427         gen-uni-tables.
20428         * modules/unictype/property-cased-tests: New file.
20429         * tests/unictype/test-pr_cased.c: New file, automatically generated by
20430         gen-uni-tables.
20431
20432 2011-01-09  Bruno Haible  <bruno@clisp.org>
20433
20434         Update to Unicode 5.2.0.
20435         * lib/gen-uni-tables.c (output_predicate, output_category,
20436         output_combclass, output_bidi_category, output_decimal_digit_test,
20437         output_decimal_digit, output_digit_test, output_digit,
20438         output_numeric_test, output_numeric, output_mirror, output_scripts,
20439         output_scripts_byname, output_blocks, output_ident_category): Fix
20440         comment header.
20441         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20442         get_wbp.
20443         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20444         items.
20445         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20446         Changes_When_Lowercased, Changes_When_Uppercased,
20447         Changes_When_Titlecased, Changes_When_Casefolded,
20448         Changes_When_Casemapped.
20449         (is_property_alphabetic, is_property_default_ignorable_code_point):
20450         Update for Unicode 5.2.0.
20451         (is_property_cased, is_property_case_ignorable,
20452         is_property_changes_when_lowercased,
20453         is_property_changes_when_uppercased,
20454         is_property_changes_when_titlecased,
20455         is_property_changes_when_casefolded,
20456         is_property_changes_when_casemapped): New functions.
20457         (output_properties): Output also the properties cased, case_ignorable,
20458         changes_when_lowercased, changes_when_uppercased,
20459         changes_when_titlecased, changes_when_casefolded,
20460         changes_when_casemapped.
20461         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20462         Unicode TR#11 revision 17 -> 19.
20463         (LBP_CP): New enumeration value.
20464         (LBP_*): Adjust values accordingly.
20465         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20466         TR#14 revision 22 -> 24.
20467         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20468         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20469         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20470         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20471         is_WBP_MIDLETTER.
20472         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20473         the code1 and code2 of each composition rule.
20474         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20475         * lib/unicase/ignorable.h: Likewise.
20476         * lib/unicase/tocasefold.h: Likewise.
20477         * lib/unicase/tolower.h: Likewise.
20478         * lib/unicase/totitle.h: Likewise.
20479         * lib/unicase/toupper.h: Likewise.
20480         * lib/unictype/bidi_of.h: Likewise.
20481         * lib/unictype/blocks.h: Likewise.
20482         * lib/unictype/categ_C.h: Likewise.
20483         * lib/unictype/categ_Cf.h: Likewise.
20484         * lib/unictype/categ_Cn.h: Likewise.
20485         * lib/unictype/categ_L.h: Likewise.
20486         * lib/unictype/categ_Ll.h: Likewise.
20487         * lib/unictype/categ_Lm.h: Likewise.
20488         * lib/unictype/categ_Lo.h: Likewise.
20489         * lib/unictype/categ_Lu.h: Likewise.
20490         * lib/unictype/categ_M.h: Likewise.
20491         * lib/unictype/categ_Mc.h: Likewise.
20492         * lib/unictype/categ_Mn.h: Likewise.
20493         * lib/unictype/categ_N.h: Likewise.
20494         * lib/unictype/categ_Nd.h: Likewise.
20495         * lib/unictype/categ_Nl.h: Likewise.
20496         * lib/unictype/categ_No.h: Likewise.
20497         * lib/unictype/categ_P.h: Likewise.
20498         * lib/unictype/categ_Pd.h: Likewise.
20499         * lib/unictype/categ_Po.h: Likewise.
20500         * lib/unictype/categ_S.h: Likewise.
20501         * lib/unictype/categ_Sc.h: Likewise.
20502         * lib/unictype/categ_So.h: Likewise.
20503         * lib/unictype/categ_of.h: Likewise.
20504         * lib/unictype/combining.h: Likewise.
20505         * lib/unictype/ctype_alnum.h: Likewise.
20506         * lib/unictype/ctype_alpha.h: Likewise.
20507         * lib/unictype/ctype_graph.h: Likewise.
20508         * lib/unictype/ctype_lower.h: Likewise.
20509         * lib/unictype/ctype_print.h: Likewise.
20510         * lib/unictype/ctype_punct.h: Likewise.
20511         * lib/unictype/ctype_upper.h: Likewise.
20512         * lib/unictype/decdigit.h: Likewise.
20513         * lib/unictype/digit.h: Likewise.
20514         * lib/unictype/numeric.h: Likewise.
20515         * lib/unictype/pr_alphabetic.h: Likewise.
20516         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20517         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20518         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20519         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20520         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20521         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20522         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20523         * lib/unictype/pr_combining.h: Likewise.
20524         * lib/unictype/pr_composite.h: Likewise.
20525         * lib/unictype/pr_currency_symbol.h: Likewise.
20526         * lib/unictype/pr_dash.h: Likewise.
20527         * lib/unictype/pr_decimal_digit.h: Likewise.
20528         * lib/unictype/pr_deprecated.h: Likewise.
20529         * lib/unictype/pr_diacritic.h: Likewise.
20530         * lib/unictype/pr_extender.h: Likewise.
20531         * lib/unictype/pr_grapheme_base.h: Likewise.
20532         * lib/unictype/pr_grapheme_extend.h: Likewise.
20533         * lib/unictype/pr_grapheme_link.h: Likewise.
20534         * lib/unictype/pr_id_continue.h: Likewise.
20535         * lib/unictype/pr_id_start.h: Likewise.
20536         * lib/unictype/pr_ideographic.h: Likewise.
20537         * lib/unictype/pr_ignorable_control.h: Likewise.
20538         * lib/unictype/pr_logical_order_exception.h: Likewise.
20539         * lib/unictype/pr_lowercase.h: Likewise.
20540         * lib/unictype/pr_numeric.h: Likewise.
20541         * lib/unictype/pr_other_alphabetic.h: Likewise.
20542         * lib/unictype/pr_punctuation.h: Likewise.
20543         * lib/unictype/pr_sentence_terminal.h: Likewise.
20544         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20545         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20546         * lib/unictype/pr_unified_ideograph.h: Likewise.
20547         * lib/unictype/pr_uppercase.h: Likewise.
20548         * lib/unictype/pr_xid_continue.h: Likewise.
20549         * lib/unictype/pr_xid_start.h: Likewise.
20550         * lib/unictype/pr_zero_width.h: Likewise.
20551         * lib/unictype/scripts.h: Likewise.
20552         * lib/unictype/scripts_byname.gperf: Likewise.
20553         * lib/unictype/sy_java_ident.h: Likewise.
20554         * lib/unigbrk/gbrkprop.h: Likewise.
20555         * lib/unilbrk/lbrkprop1.h: Likewise.
20556         * lib/unilbrk/lbrkprop2.h: Likewise.
20557         * lib/unilbrk/lbrktables.h: Likewise.
20558         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20559         LBP_CP. Implement rule LB30.
20560         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20561         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20562         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20563         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20564         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20565         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20566         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20567         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20568         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20569         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20570         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20571         bits instead of 16 bits in the code1 and code2 of each composition
20572         rule.
20573         (uc_composition): Update for Unicode 5.2.0.
20574         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20575         * lib/uninorm/decomposition-table2.h: Likewise.
20576         * lib/uniwbrk/wbrkprop.h: Likewise.
20577         * tests/unicase/test-cased.c: Likewise.
20578         * tests/unicase/test-ignorable.c: Likewise.
20579         * tests/unicase/test-uc_tolower.c: Likewise.
20580         * tests/unicase/test-uc_totitle.c: Likewise.
20581         * tests/unicase/test-uc_toupper.c: Likewise.
20582         * tests/unictype/test-categ_C.c: Likewise.
20583         * tests/unictype/test-categ_Cf.c: Likewise.
20584         * tests/unictype/test-categ_Cn.c: Likewise.
20585         * tests/unictype/test-categ_L.c: Likewise.
20586         * tests/unictype/test-categ_Ll.c: Likewise.
20587         * tests/unictype/test-categ_Lm.c: Likewise.
20588         * tests/unictype/test-categ_Lo.c: Likewise.
20589         * tests/unictype/test-categ_Lu.c: Likewise.
20590         * tests/unictype/test-categ_M.c: Likewise.
20591         * tests/unictype/test-categ_Mc.c: Likewise.
20592         * tests/unictype/test-categ_Mn.c: Likewise.
20593         * tests/unictype/test-categ_N.c: Likewise.
20594         * tests/unictype/test-categ_Nd.c: Likewise.
20595         * tests/unictype/test-categ_Nl.c: Likewise.
20596         * tests/unictype/test-categ_No.c: Likewise.
20597         * tests/unictype/test-categ_P.c: Likewise.
20598         * tests/unictype/test-categ_Pd.c: Likewise.
20599         * tests/unictype/test-categ_Po.c: Likewise.
20600         * tests/unictype/test-categ_S.c: Likewise.
20601         * tests/unictype/test-categ_Sc.c: Likewise.
20602         * tests/unictype/test-categ_So.c: Likewise.
20603         * tests/unictype/test-ctype_alnum.c: Likewise.
20604         * tests/unictype/test-ctype_alpha.c: Likewise.
20605         * tests/unictype/test-ctype_graph.c: Likewise.
20606         * tests/unictype/test-ctype_lower.c: Likewise.
20607         * tests/unictype/test-ctype_print.c: Likewise.
20608         * tests/unictype/test-ctype_punct.c: Likewise.
20609         * tests/unictype/test-ctype_upper.c: Likewise.
20610         * tests/unictype/test-decdigit.h: Likewise.
20611         * tests/unictype/test-digit.h: Likewise.
20612         * tests/unictype/test-numeric.h: Likewise.
20613         * tests/unictype/test-pr_alphabetic.c: Likewise.
20614         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20615         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20616         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20617         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20618         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20619         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20620         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20621         * tests/unictype/test-pr_combining.c: Likewise.
20622         * tests/unictype/test-pr_composite.c: Likewise.
20623         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20624         * tests/unictype/test-pr_dash.c: Likewise.
20625         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20626         * tests/unictype/test-pr_deprecated.c: Likewise.
20627         * tests/unictype/test-pr_diacritic.c: Likewise.
20628         * tests/unictype/test-pr_extender.c: Likewise.
20629         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20630         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20631         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20632         * tests/unictype/test-pr_id_continue.c: Likewise.
20633         * tests/unictype/test-pr_id_start.c: Likewise.
20634         * tests/unictype/test-pr_ideographic.c: Likewise.
20635         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20636         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20637         * tests/unictype/test-pr_lowercase.c: Likewise.
20638         * tests/unictype/test-pr_numeric.c: Likewise.
20639         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20640         * tests/unictype/test-pr_punctuation.c: Likewise.
20641         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20642         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20643         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20644         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20645         * tests/unictype/test-pr_uppercase.c: Likewise.
20646         * tests/unictype/test-pr_xid_continue.c: Likewise.
20647         * tests/unictype/test-pr_xid_start.c: Likewise.
20648         * tests/unictype/test-pr_zero_width.c: Likewise.
20649         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20650         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20651         changed behaviour: line breaking is now disallowed between a letter
20652         or '=' and '('.
20653         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20654         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20655         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20656         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20657         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20658         lib/uniwidth/width.c.
20659         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20660         without comments, but with the original copyright notice.
20661         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20662         changes.
20663         * lib/unictype/categ_Cc.h: Likewise.
20664         * lib/unictype/categ_Co.h: Likewise.
20665         * lib/unictype/categ_Cs.h: Likewise.
20666         * lib/unictype/categ_Lt.h: Likewise.
20667         * lib/unictype/categ_Me.h: Likewise.
20668         * lib/unictype/categ_Pc.h: Likewise.
20669         * lib/unictype/categ_Pe.h: Likewise.
20670         * lib/unictype/categ_Pf.h: Likewise.
20671         * lib/unictype/categ_Pi.h: Likewise.
20672         * lib/unictype/categ_Ps.h: Likewise.
20673         * lib/unictype/categ_Sk.h: Likewise.
20674         * lib/unictype/categ_Sm.h: Likewise.
20675         * lib/unictype/categ_Z.h: Likewise.
20676         * lib/unictype/categ_Zl.h: Likewise.
20677         * lib/unictype/categ_Zp.h: Likewise.
20678         * lib/unictype/categ_Zs.h: Likewise.
20679         * lib/unictype/ctype_blank.h: Likewise.
20680         * lib/unictype/ctype_cntrl.h: Likewise.
20681         * lib/unictype/ctype_digit.h: Likewise.
20682         * lib/unictype/ctype_space.h: Likewise.
20683         * lib/unictype/ctype_xdigit.h: Likewise.
20684         * lib/unictype/mirror.h: Likewise.
20685         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20686         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20687         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20688         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20689         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20690         * lib/unictype/pr_bidi_control.h: Likewise.
20691         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20692         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20693         * lib/unictype/pr_bidi_pdf.h: Likewise.
20694         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20695         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20696         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20697         * lib/unictype/pr_format_control.h: Likewise.
20698         * lib/unictype/pr_hex_digit.h: Likewise.
20699         * lib/unictype/pr_hyphen.h: Likewise.
20700         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20701         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20702         * lib/unictype/pr_iso_control.h: Likewise.
20703         * lib/unictype/pr_join_control.h: Likewise.
20704         * lib/unictype/pr_left_of_pair.h: Likewise.
20705         * lib/unictype/pr_line_separator.h: Likewise.
20706         * lib/unictype/pr_math.h: Likewise.
20707         * lib/unictype/pr_non_break.h: Likewise.
20708         * lib/unictype/pr_not_a_character.h: Likewise.
20709         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20710         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20711         * lib/unictype/pr_other_id_continue.h: Likewise.
20712         * lib/unictype/pr_other_id_start.h: Likewise.
20713         * lib/unictype/pr_other_lowercase.h: Likewise.
20714         * lib/unictype/pr_other_math.h: Likewise.
20715         * lib/unictype/pr_other_uppercase.h: Likewise.
20716         * lib/unictype/pr_paired_punctuation.h: Likewise.
20717         * lib/unictype/pr_paragraph_separator.h: Likewise.
20718         * lib/unictype/pr_pattern_syntax.h: Likewise.
20719         * lib/unictype/pr_pattern_white_space.h: Likewise.
20720         * lib/unictype/pr_private_use.h: Likewise.
20721         * lib/unictype/pr_quotation_mark.h: Likewise.
20722         * lib/unictype/pr_radical.h: Likewise.
20723         * lib/unictype/pr_soft_dotted.h: Likewise.
20724         * lib/unictype/pr_space.h: Likewise.
20725         * lib/unictype/pr_titlecase.h: Likewise.
20726         * lib/unictype/pr_variation_selector.h: Likewise.
20727         * lib/unictype/pr_white_space.h: Likewise.
20728         * lib/unictype/sy_c_ident.h: Likewise.
20729         * lib/unictype/sy_c_whitespace.h: Likewise.
20730         * lib/unictype/sy_java_whitespace.h: Likewise.
20731         * modules/uni*/*: Bump version number of expected libunistring version.
20732         Reported by Simon Josefsson.
20733
20734 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20735
20736         useless-if-before-free: fix typo in --help and make the internal,
20737         automatic version date update process work once again.
20738         --help output contained a NUL character instead of the
20739         backslash-zero that was intended.  Also, the "must lie within
20740         the first 8 lines" line is on line 9, and hence not getting
20741         automatically updated.
20742         * build-aux/useless-if-before-free: Fix the former by adding a
20743         backslash, and the latter by condensing the three lines of what-it-does
20744         to a single line, leaving one line of slack for the future.
20745
20746 2011-01-09  Bruno Haible  <bruno@clisp.org>
20747
20748         uniwidth/width: Fix width of U+1D173..U+1D17A.
20749         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20750         symbolic_width, output_width_property_test): New functions.
20751         (main): Invoke output_nonspacing_property, output_width_property_test.
20752         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20753         U+1D173..U+1D17A.
20754         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20755         1.
20756         * modules/uniwidth/*: Bump version number of expected libunistring
20757         version.
20758         * modules/unilbrk/*: Likewise.
20759
20760 2011-01-08  Bruno Haible  <bruno@clisp.org>
20761
20762         uninorm tests: Preserve copyright of Unicode data file.
20763         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20764         Mention modifications.
20765
20766 2011-01-08  Bruno Haible  <bruno@clisp.org>
20767
20768         gen-uni-tables: Prepare for Unicode 5.2.0.
20769         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20770         (debug_output_lbp, output_lbp): Update.
20771
20772 2011-01-08  Bruno Haible  <bruno@clisp.org>
20773
20774         unilbrk: Clarify gen-uni-tables.c code.
20775         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20776         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20777         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20778
20779 2011-01-07  Bruno Haible  <bruno@clisp.org>
20780
20781         strtod: Restore errno when successfully parsing Infinity or NaN.
20782         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20783         restore the original errno.
20784
20785 2011-01-07  Bruno Haible  <bruno@clisp.org>
20786
20787         remove test: Avoid failure on HP-UX 11.
20788         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20789
20790 2011-01-07  Bruno Haible  <bruno@clisp.org>
20791
20792         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20793         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20794         error code.
20795
20796 2011-01-07  Pádraig Brady <P@draigBrady.com>
20797
20798         ignore-value: fixup comments, and add Eric Blake
20799         as an author since he rewrote the macros.
20800         * lib/ignore-value.h (ignore_value):  State that
20801         we now support aggregates.  Also specify exactly
20802         when the GCC warn_unused_result feature was added.
20803
20804 2011-01-06  Eric Blake  <eblake@redhat.com>
20805
20806         ignore-value: support aggregate types
20807         * lib/ignore-value.h (ignore_value): Provide separate gcc
20808         definition.
20809         * modules/ignore-value-tests: New test module.
20810         * tests/test-ignore-value.c: New test.
20811
20812         maint.mk: improve sc_prohibit_strcmp regex
20813         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20814         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20815         definition of STRNEQ.
20816
20817         signal: work around Haiku issue with SIGBUS
20818         * lib/siglist.h: Add comment.
20819         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20820         strsignal's favoring of SIGSEGV.
20821         * tests/test-signal.c (main): Avoid test failure.
20822         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20823         Reported by Scott McCreary.
20824
20825         maint.mk: add pre-release check to ensure submodule commits are public
20826         * top/maint.mk (public-submodule-commit): New rule.
20827         (submodule-checks): New variable.
20828         (alpha beta stable): Depend on the variable.
20829
20830 2011-01-05  Pádraig Brady <P@draigBrady.com>
20831         and Jim Meyering  <meyering@redhat.com>
20832
20833         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20834         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20835         (ATTRIBUTE_DEPRECATED): Define.
20836         (_ignore_case): New function.
20837         (ignore_value): New macro, to replace the old function.
20838         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20839         * modules/ignore-value (Depends-on): Add stdint.
20840
20841 2011-01-04  Eric Blake  <eblake@redhat.com>
20842
20843         doc: regenerate INSTALL
20844         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20845         @firstparagraphindent support, now that autoconf dropped it.
20846         (INSTALL_PRELUDE): Reinstate old macro.
20847         * doc/install.texi: Resync from autoconf.
20848         * doc/INSTALL: Reflect recent autoconf update.
20849         * doc/INSTALL.ISO: Likewise.
20850         * doc/INSTALL.UTF-8: Likewise.
20851         Reported by Karl Berry.
20852
20853 2011-01-04  Bruce Korb  <address@hidden>
20854
20855         git-version-gen: avoid a sub-shell
20856         * build-aux/git-version-gen: Redirect stderr in `...` via
20857         "exec 2>...", rather than via an added sub-shell.
20858
20859 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20860
20861         git-version-gen: use (...) rather than sh -c '...'
20862         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20863         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20864
20865 2011-01-03  Jim Meyering  <meyering@redhat.com>
20866
20867         git-version-gen: convert leading TABs to spaces
20868         * build-aux/git-version-gen: Expand leading TABs.
20869
20870         git-version-gen: handle failed "git rev-list"
20871         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20872         from git and proceeding as if it had succeeded but printed no SHA1
20873         checksums, suppress the diagnostic and handle the failure.
20874         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20875
20876         git-version-gen: include command name in one more diagnostic
20877         * build-aux/git-version-gen: When the required .tarball-version file
20878         was missing or unreadable, you might see the diagnostic from "cat",
20879         but no trace of the name of the invoking script.  Now, you still see
20880         the diagnostic from cat, but also get one from "git-version-gen: ".
20881         Inspired by a patch from Bruce Korb.
20882
20883         update-copyright: adjust test to match changed code
20884         * tests/test-update-copyright.sh: Change test's expected output
20885         to match new actual output.
20886
20887 2011-01-02  Bruno Haible  <bruno@clisp.org>
20888
20889         getlogin_r: Avoid test failure on HP-UX 11.
20890         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20891         ERANGE when the second argument is zero.
20892         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20893         portability problem.
20894
20895 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20896
20897         * build-aux/update-copyright: doc Simon's changes
20898
20899 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20900
20901         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20902         environment variable.
20903
20904 2011-01-02  Bruno Haible  <bruno@clisp.org>
20905
20906         unigbrk: Avoid gcc warnings.
20907         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20908         unused variable.
20909         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20910         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20911         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20912         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20913         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20914         Change type of first argument to 'const char *'.
20915         (main): Remove unused variable.
20916         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20917         type of first argument to 'const char *'.
20918         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20919         Likewise.
20920         (main): Change type of variable 's'.
20921         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20922         to 'int'.
20923
20924 2011-01-02  Bruno Haible  <bruno@clisp.org>
20925
20926         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20927         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20928         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20929         bug.
20930         * lib/pwrite.c: Undo 2010-12-31 patch.
20931         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20932
20933 2011-01-02  Bruno Haible  <bruno@clisp.org>
20934
20935         pread: Fix test whether it works.
20936         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20937
20938 2011-01-02  Bruno Haible  <bruno@clisp.org>
20939
20940         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20941         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20942         ends in "6". Don't require a specific month name. Try also the locale
20943         names found on HP-UX 11 and Solaris 7.
20944
20945 2011-01-02  Bruno Haible  <bruno@clisp.org>
20946
20947         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20948         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20949         C linkage.
20950         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20951
20952 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20953
20954         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20955         for consistency, since the "cluster" term is not used elsewhere.
20956         * lib/unigbrk.in.h: Update name.
20957         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20958         * lib/unigbrk/u16-grapheme-next.c: Update name.
20959         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20960         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20961         * lib/unigbrk/u32-grapheme-next.c: Update name.
20962         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20963         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20964         * lib/unigbrk/u8-grapheme-next.c: Update name.
20965         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20966         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20967         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20968         Suggested by Bruno Haible.
20969
20970 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20971
20972         Remove module 'u8-grapheme-len' as too redundant with
20973         'u8-grapheme-next'.
20974         * modules/unigbrk/u8-grapheme-len: Delete file.
20975         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20976         * lib/unigbrk.in.h: Remove prototype for deleted function.
20977         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20978         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20979
20980         Remove module 'u16-grapheme-len' as too redundant with
20981         'u16-grapheme-next'.
20982         * modules/unigbrk/u16-grapheme-len: Delete file.
20983         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20984         * lib/unigbrk.in.h: Remove prototype for deleted function.
20985         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20986         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20987
20988         Remove module 'u32-grapheme-len' as too redundant with
20989         'u32-grapheme-next'.
20990         * modules/unigbrk/u32-grapheme-len: Delete file.
20991         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20992         * lib/unigbrk.in.h: Remove prototype for deleted function.
20993         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20994         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20995
20996         Suggested by Bruno Haible.
20997
20998 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20999
21000         * unigbrk.in.h: Fix typo: "ben" => "been".
21001         Reported by Bruno Haible.
21002
21003 2011-01-01  Jim Meyering  <meyering@redhat.com>
21004
21005         maint: update almost all copyright ranges to include 2011
21006         Run the new "make update-copyright" rule.
21007
21008 2011-01-01  Jim Meyering  <meyering@redhat.com>
21009
21010         maint: update-copyright: exempt doc/INSTALL*
21011         * Makefile (update-copyright): Also exclude doc/INSTALL*,
21012         since they are generated.  Suggested by Bruno Haible.
21013
21014 2011-01-01  Jim Meyering  <meyering@redhat.com>
21015
21016         maint: refine the update-copyright rule
21017         * Makefile (update-copyright): Also exclude any file that includes
21018         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
21019         code that merely generates the comment.
21020
21021 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21022
21023         New module 'u8-grapheme-len'.
21024         * modules/unigbrk/u8-grapheme-len: New file.
21025         * modules/unigbrk/u8-grapheme-len-tests: New file.
21026         * lib/unigbrk.in.h: Add prototype for new function.
21027         * lib/unigbrk/u8-grapheme-len.c: New file.
21028         * tests/unigbrk/test-u8-grapheme-len.c: New file.
21029
21030         New module 'u16-grapheme-len'.
21031         * modules/unigbrk/u16-grapheme-len: New file.
21032         * modules/unigbrk/u16-grapheme-len-tests: New file.
21033         * lib/unigbrk.in.h: Add prototype for new function.
21034         * lib/unigbrk/u16-grapheme-len.c: New file.
21035         * tests/unigbrk/test-u16-grapheme-len.c: New file.
21036
21037         New module 'u32-grapheme-len'.
21038         * modules/unigbrk/u32-grapheme-len: New file.
21039         * modules/unigbrk/u32-grapheme-len-tests: New file.
21040         * lib/unigbrk.in.h: Add prototype for new function.
21041         * lib/unigbrk/u32-grapheme-len.c: New file.
21042         * tests/unigbrk/test-u32-grapheme-len.c: New file.
21043
21044         New module 'u8-grapheme-next'.
21045         * modules/unigbrk/u8-grapheme-next: New file.
21046         * modules/unigbrk/u8-grapheme-next-tests: New file.
21047         * lib/unigbrk.in.h: Add prototype for new function.
21048         * lib/unigbrk/u8-grapheme-next.c: New file.
21049         * tests/unigbrk/test-u8-grapheme-next.c: New file.
21050
21051         New module 'u16-grapheme-next'.
21052         * modules/unigbrk/u16-grapheme-next: New file.
21053         * modules/unigbrk/u16-grapheme-next-tests: New file.
21054         * lib/unigbrk.in.h: Add prototype for new function.
21055         * lib/unigbrk/u16-grapheme-next.c: New file.
21056         * tests/unigbrk/test-u16-grapheme-next.c: New file.
21057
21058         New module 'u32-grapheme-next'.
21059         * modules/unigbrk/u32-grapheme-next: New file.
21060         * modules/unigbrk/u32-grapheme-next-tests: New file.
21061         * lib/unigbrk.in.h: Add prototype for new function.
21062         * lib/unigbrk/u32-grapheme-next.c: New file.
21063         * tests/unigbrk/test-u32-grapheme-next.c: New file.
21064
21065         New module 'u8-grapheme-prev'.
21066         * modules/unigbrk/u8-grapheme-prev: New file.
21067         * modules/unigbrk/u8-grapheme-prev-tests: New file.
21068         * lib/unigbrk.in.h: Add prototype for new function.
21069         * lib/unigbrk/u8-grapheme-prev.c: New file.
21070         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
21071
21072         New module 'u16-grapheme-prev'.
21073         * modules/unigbrk/u16-grapheme-prev: New file.
21074         * modules/unigbrk/u16-grapheme-prev-tests: New file.
21075         * lib/unigbrk.in.h: Add prototype for new function.
21076         * lib/unigbrk/u16-grapheme-prev.c: New file.
21077         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
21078
21079         New module 'u32-grapheme-prev'.
21080         * modules/unigbrk/u32-grapheme-prev: New file.
21081         * modules/unigbrk/u32-grapheme-prev-tests: New file.
21082         * lib/unigbrk.in.h: Add prototype for new function.
21083         * lib/unigbrk/u32-grapheme-prev.c: New file.
21084         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
21085
21086         New module 'u8-grapheme-breaks'.
21087         * modules/unigbrk/u8-grapheme-breaks: New file.
21088         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
21089         * lib/unigbrk.in.h: Add prototype for new function.
21090         * lib/unigbrk/u8-grapheme-breaks.c: New file.
21091         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
21092
21093         New module 'u16-grapheme-breaks'.
21094         * modules/unigbrk/u16-grapheme-breaks: New file.
21095         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
21096         * lib/unigbrk.in.h: Add prototype for new function.
21097         * lib/unigbrk/u16-grapheme-breaks.c: New file.
21098         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
21099
21100         New module 'u32-grapheme-breaks'.
21101         * modules/unigbrk/u32-grapheme-breaks: New file.
21102         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
21103         * lib/unigbrk.in.h: Add prototype for new function.
21104         * lib/unigbrk/u32-grapheme-breaks.c: New file.
21105         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
21106
21107         New module 'ulc-grapheme-breaks'.
21108         * modules/unigbrk/ulc-grapheme-breaks: New file.
21109         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
21110         * m4/locale-ar.m4: New file.
21111         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
21112         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
21113         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
21114
21115 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
21116
21117         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
21118         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
21119         modified how this file was generated before I initially submitted
21120         the module, but failed to regenerate it.  This meant that several
21121         of the level2 entries were wrong.
21122         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
21123         Remove the division-by-2 that is folded into the table now that
21124         gbrkprop.h has been regenerated properly.  Now -1 entries are
21125         handled correctly.
21126
21127         New module 'unigbrk/uc-gbrk-prop-tests'.
21128         * modules/unigbrk/uc-gbrk-prop-tests: New file.
21129         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
21130         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
21131         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
21132
21133 2011-01-01  Bruno Haible  <bruno@clisp.org>
21134
21135         Avoid use of hexadecimal escapes.
21136         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
21137         instead of hexadecimal escapes.
21138
21139 2011-01-01  Jim Meyering  <meyering@redhat.com>
21140
21141         maint: new rule to update copyright year ranges
21142         * Makefile (update-copyright): New rule.
21143
21144         maint: indent with TABs in Makefile
21145         * Makefile: Expand leading sequences of spaces to TABs
21146
21147         version-etc: update the copyright year it reports
21148         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
21149
21150 2010-12-31  Bruno Haible  <bruno@clisp.org>
21151
21152         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
21153         * lib/isfinite.c (zerof, zerod, zerol): New variables.
21154         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
21155         zero.
21156
21157 2010-12-31  Bruno Haible  <bruno@clisp.org>
21158
21159         pwrite: Work around HP-UX 11.11 bug.
21160         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
21161         works and set REPLACE_PWRITE if not.
21162         * lib/pwrite.c (pwrite): Add an implementation that uses the system
21163         function.
21164         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
21165
21166 2010-12-31  Bruno Haible  <bruno@clisp.org>
21167
21168         pread: Work around HP-UX 11 bugs.
21169         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
21170         and set REPLACE_PREAD if not.
21171         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
21172
21173 2010-12-31  Eric Blake  <eblake@redhat.com>
21174
21175         nl_langinfo: fix YESEXPR on Irix 6.5
21176         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
21177         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
21178         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
21179         it.
21180
21181 2010-12-31  Bruno Haible  <bruno@clisp.org>
21182
21183         iconv: Document HP-UX 11 bug.
21184         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
21185
21186 2010-12-31  Bruno Haible  <bruno@clisp.org>
21187
21188         ldexpl: Fix link error on HP-UX 11.
21189         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
21190         LDEXPL_LIBM, using $ISNANL_LIBM.
21191
21192 2010-12-31  Eric Blake  <eblake@redhat.com>
21193
21194         ftello: avoid compilation failure with SunStudio c89
21195         * lib/ftello.c (ftello): Use lseek, not llseek.
21196
21197         tests: avoid failing coreutils tests on cygwin
21198         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
21199         (create_exe_shims_): Return 0 when skipping.
21200
21201 2010-12-31  Bruno Haible  <bruno@clisp.org>
21202
21203         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
21204         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
21205
21206 2010-12-31  Bruno Haible  <bruno@clisp.org>
21207
21208         waitpid: Fix link error in C++ mode.
21209         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
21210
21211 2010-12-31  Bruno Haible  <bruno@clisp.org>
21212
21213         isnan: Use GCC built-ins when possible.
21214         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
21215         __builtin_isnan.
21216         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
21217         (isnan): Define using GCC built-ins for GCC >= 4.0.
21218
21219 2010-12-31  Bruno Haible  <bruno@clisp.org>
21220
21221         isnand: Fix mistake.
21222         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
21223         __builtin_isnand.
21224
21225 2010-12-31  Bruno Haible  <bruno@clisp.org>
21226
21227         open: Avoid C++ error on HP-UX 11.
21228         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
21229
21230 2010-12-31  Bruno Haible  <bruno@clisp.org>
21231
21232         time_r: Add missing declarations on HP-UX 11.
21233         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
21234         instead of HAVE_LOCALTIME_R.
21235         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
21236         HAVE_LOCALTIME_R always.
21237         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
21238         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
21239         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
21240         HAVE_LOCALTIME_R.
21241         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
21242         * doc/posix-functions/localtime_r.texi: Likewise.
21243
21244 2010-12-29  Eric Blake  <eblake@redhat.com>
21245
21246         mountlist: tweak previous commit
21247         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
21248         Reported by Paul Eggert.
21249
21250         mountlist: fix local drive detection on cygwin
21251         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
21252         that works for cygwin.
21253
21254 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
21255
21256         ftoastr, snprintf: ftoastr + snprintf module
21257         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
21258         since the snprintf module now should be good enough here.
21259         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
21260         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
21261         and gl_MODULE_INDICATOR([snprintf]), but the former enables
21262         GNULIB_SNPRINTF only for the test directory, and the latter
21263         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
21264         seems to suffice by itself.
21265
21266 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21267
21268         alloca: one step towards thread-safety
21269         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
21270         need for a static variable.  All callers changed.  This does not
21271         make the alloca replacement thread-safe, but it's one step.
21272
21273         tests: minor indenting change
21274         * tests/init.sh: Sync from coreutils housekeeping patch
21275         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
21276         to keep lines within 80 columns.
21277
21278 2010-12-28  Jim Meyering  <meyering@redhat.com>
21279
21280         regex: don't infloop on persistent failing calloc
21281         * lib/regexec.c (build_trtable): Return failure indication upon
21282         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
21283         In glibc, this was fixed for version 2.13:
21284         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
21285
21286 2010-12-28  Bruno Haible  <bruno@clisp.org>
21287             Paul Eggert <eggert@cs.ucla.edu>
21288
21289         linkat: Make implementation robust against system behaviour variations.
21290         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
21291         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
21292         way, and to -2 if it needs a generic runtime test.
21293         * lib/linkat.c (solaris_optimized_link_immediate,
21294         solaris_optimized_link_follow): New functions.
21295         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
21296         (check_same_link): Use it.
21297
21298 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
21299
21300         New module 'unigbrk/base'.
21301         * modules/unigbrk/base: New file.
21302         * lib/unigbrk.in.h: New file.
21303
21304         New module 'unigbrk/uc-gbrk-prop'.
21305         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
21306         * modules/unigbrk/uc-gbrk-prop: New file.
21307         * lib/unigbrk/gbrkprop.h: New file.
21308         * lib/unigbrk/uc-gbrk-prop.c: New file.
21309
21310         New module 'unigbrk/uc-is-grapheme-break'.
21311         * modules/unigbrk/uc-is-grapheme-break: New file.
21312         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
21313         * lib/unigbrk/uc-is-grapheme-break.c: New file.
21314         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
21315         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
21316         * tests/unigbrk/GraphemeBreakTest.txt: New file.
21317
21318         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
21319
21320 2010-12-27  Bruno Haible  <bruno@clisp.org>
21321
21322         linkat test: Avoid failure on Solaris 11 2010-11.
21323         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
21324
21325 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21326
21327         utimens: work around glibc rounding bug on more platforms
21328         * lib/utimens.c (fdutimens): Work around rounding bug even if
21329         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
21330         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
21331
21332 2010-12-27  Bruno Haible  <bruno@clisp.org>
21333
21334         select tests: Improve comments.
21335         * tests/test-select.c (do_select): Add comments.
21336
21337 2010-12-27  Bruno Haible  <bruno@clisp.org>
21338
21339         select tests: Safer way of handling timeout.
21340         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
21341         at every invocation.
21342
21343 2010-12-27  Bruno Haible  <bruno@clisp.org>
21344
21345         select tests: Use 'bool' where appropriate.
21346         * tests/test-select.c (connect_to_socket): Change argument type to
21347         'bool'.
21348
21349 2010-12-27  Bruno Haible  <bruno@clisp.org>
21350
21351         select tests: Use existing modules.
21352         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
21353         (configure.ac): Don't test for unistd.h.
21354         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
21355         declared in <unistd.h>.
21356
21357 2010-12-27  Bruno Haible  <bruno@clisp.org>
21358
21359         mbrtowc: Work around a Solaris 7 bug.
21360         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
21361         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
21362         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
21363         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
21364         MBRTOWC_NULL_ARG1_BUG.
21365         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
21366         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
21367         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
21368         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
21369
21370 2010-12-27  Jim Meyering  <meyering@redhat.com>
21371
21372         read-file.c: tweak syntax
21373         * lib/read-file.c (fread_file): Remove space after "*" in function
21374         definitions.
21375
21376 2010-12-27  Bruno Haible  <bruno@clisp.org>
21377
21378         times test: Avoid gcc warnings on OSF/1.
21379         * tests/test-times.c (main): Cast printf arguments from clock_t to
21380         'long int'.
21381
21382 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
21383
21384         utimens: work around glibc rounding bug on older Linux kernels
21385         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
21386         on Linux with a glibc whose utimes might not work, then work
21387         around a longstanding glibc bug involving rounding rather than
21388         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
21389         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21390
21391 2010-12-26  Bruno Haible  <bruno@clisp.org>
21392
21393         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
21394         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
21395         _GL_CXXALIAS_SYS.
21396         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21397
21398 2010-12-26  Bruno Haible  <bruno@clisp.org>
21399
21400         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
21401         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
21402         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
21403         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
21404         looking for the declaration.
21405         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
21406         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
21407         problem.
21408         * doc/posix-functions/inet_pton.texi: Likewise.
21409
21410 2010-12-26  Bruno Haible  <bruno@clisp.org>
21411
21412         arpa_inet: Use the common idioms with C++ support.
21413         * lib/arpa_inet.in.h: Include c++defs.h.
21414         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
21415         support.
21416         * modules/arpa_inet (Depends-on): Add c++defs.
21417         (Makefile.am): Substitute the contents of c++defs.h.
21418         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
21419         * modules/arpa_inet-c++-tests: New file.
21420         * tests/test-arpa_inet-c++.cc: New file.
21421
21422 2010-12-25  Bruno Haible  <bruno@clisp.org>
21423
21424         Fix more C++ link errors on Solaris 8.
21425         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
21426         $(LIB_EACCESS).
21427         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
21428         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
21429         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
21430         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
21431         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
21432
21433 2010-12-25  Bruno Haible  <bruno@clisp.org>
21434
21435         printf-posix: Fix link error when a non-GCC compiler is used.
21436         * lib/stdio.in.h (printf): When not using GCC, override printf
21437         correctly.
21438         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21439
21440 2010-12-25  Bruno Haible  <bruno@clisp.org>
21441
21442         strerror_r-posix: Update doc.
21443         * doc/posix-functions/strerror_r.texi: Update doc about the return
21444         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21445
21446 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21447
21448         utimens: simplify the logic of the previous change
21449         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21450         This should not affect whether the test succeeds or fails.
21451
21452         utimens: configure better on hosts with NFS clock skew
21453         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21454         uses the clock of the local host.  It might use the clock of the
21455         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21456         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21457
21458 2010-12-25  Bruno Haible  <bruno@clisp.org>
21459
21460         ptsname test: Avoid failure on Solaris.
21461         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21462         open a pseudo-terminal; don't use BSD-style ptys.
21463         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21464
21465 2010-12-25  Bruno Haible  <bruno@clisp.org>
21466
21467         ptsname: Avoid ERANGE failure on some systems.
21468         * lib/ptsname.c (buffer): Increase size.
21469
21470 2010-12-25  Bruno Haible  <bruno@clisp.org>
21471
21472         rename, renameat: Avoid test failures at NFS mounted locations.
21473         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21474         so that subsequent mkdir calls succeed.
21475
21476 2010-12-25  Bruno Haible  <bruno@clisp.org>
21477
21478         iswblank: Fix C++ link error on Solaris 8.
21479         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21480         _GL_FUNCDECL_SYS.
21481
21482 2010-12-25  Bruno Haible  <bruno@clisp.org>
21483
21484         unistd: Fix C++ link error on Solaris 8.
21485         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21486
21487 2010-12-25  Bruno Haible  <bruno@clisp.org>
21488
21489         readlink doc: Mention an old glibc bug.
21490         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21491
21492 2010-12-25  Bruno Haible  <bruno@clisp.org>
21493
21494         fcntl-h: Fix for use of C++ on glibc systems.
21495         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21496         also on glibc systems in C++ mode.
21497         Reported by Gary V. Vaughan <gary@gnu.org>.
21498
21499 2010-12-25  Bruno Haible  <bruno@clisp.org>
21500
21501         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21502         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21503
21504 2010-12-25  Bruno Haible  <bruno@clisp.org>
21505
21506         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21507         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21508         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21509         test whether truncl works according to ISO C 99 with IEC 60559.
21510         * m4/truncl-ieee.m4: New file.
21511         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21512         m4/signbit.m4.
21513         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21514
21515 2010-12-25  Bruno Haible  <bruno@clisp.org>
21516
21517         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21518         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21519         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21520         test whether ceill works according to ISO C 99 with IEC 60559.
21521         * m4/ceill-ieee.m4: New file.
21522         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21523         m4/signbit.m4.
21524         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21525
21526 2010-12-25  Bruno Haible  <bruno@clisp.org>
21527
21528         Ensure all prerequisites of <wchar.h> are included.
21529         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21530         before <wchar.h>.
21531         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21532         gl_MBRLEN_NUL_RETVAL): Likewise.
21533         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21534         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21535         AC_FUNC_MBRTOWC): Likewise.
21536         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21537         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21538         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21539         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21540         Likewise.
21541         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21542         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21543         (gl_WCHAR_H): Improve comments.
21544         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21545
21546 2010-12-25  Bruno Haible  <bruno@clisp.org>
21547
21548         strtok_r: Fix C syntax error in autoconf macro.
21549         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21550         characters in test program.
21551
21552 2010-12-24  Bruno Haible  <bruno@clisp.org>
21553
21554         ceil, trunc, round: Fix gcc warnings.
21555         * lib/ceil.c (MIN): Undefine before redefining.
21556         * lib/trunc.c (MIN): Likewise.
21557         * lib/round.c (MIN): Likewise.
21558         Include <math.h> first.
21559
21560 2010-12-24  Bruno Haible  <bruno@clisp.org>
21561
21562         select tests: Avoid failures on OSF/1 5.1.
21563         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21564         failure of closing the last socket; it may fail with ECONNRESET.
21565
21566 2010-12-24  Eric Blake  <eblake@redhat.com>
21567
21568         stdint: avoid HP-UX 10.20 preprocessor bug
21569         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21570         than #if.
21571         * tests/test-floor2.c (main): Likewise.
21572         Reported by Peter O'Gorman.
21573
21574         pipe: make obsoletion transition easier
21575         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21576         * modules/pipe (Files): Include revived file.
21577         (Include): Drop reference, to mirror getdate's behavior.
21578
21579 2010-12-24  Bruno Haible  <bruno@clisp.org>
21580
21581         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21582         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21583         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21584         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21585
21586 2010-12-24  Bruno Haible  <bruno@clisp.org>
21587
21588         gethostname: Ensure declaration on NonStop Kernel.
21589         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21590         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21591
21592 2010-12-24  Bruno Haible  <bruno@clisp.org>
21593
21594         sys_select: Ensure all necessary types on NonStop Kernel.
21595         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21596         include <sys/time.h>.
21597         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21598         NonStop Kernel.
21599         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21600
21601 2010-12-24  Bruno Haible  <bruno@clisp.org>
21602
21603         sys_select: Remove unneeded include.
21604         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21605         have <sys/select.h>.
21606
21607 2010-12-24  Bruno Haible  <bruno@clisp.org>
21608
21609         gethostname: Provide a fallback for HOST_NAME_MAX.
21610         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21611         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21612         instead.
21613         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21614
21615 2010-12-24  Bruno Haible  <bruno@clisp.org>
21616
21617         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21618         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21619         (SA_RESTART): Likewise.
21620         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21621
21622 2010-12-24  Bruno Haible  <bruno@clisp.org>
21623
21624         signal: Define NSIG.
21625         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21626         * tests/test-signal.c (nsig): New variable.
21627         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21628
21629 2010-12-24  Bruno Haible  <bruno@clisp.org>
21630
21631         rename, renameat: Avoid test failures on OSF/1 5.1.
21632         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21633         alternative error codes.
21634         * tests/test-renameat.c (main): Likewise.
21635
21636 2010-12-24  Bruno Haible  <bruno@clisp.org>
21637
21638         *printf: Detect large precisions bug on Solaris 10/SPARC.
21639         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21640         by Paul Eggert.
21641         * tests/test-snprintf-posix.h (test_function): Add this test code here
21642         too.
21643         * tests/test-sprintf-posix.h (test_function): Likewise.
21644         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21645         * tests/test-vasprintf-posix.c (test_function): Likewise.
21646         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21647         around by gnulib.
21648         * doc/posix-functions/printf.texi: Likewise.
21649         * doc/posix-functions/snprintf.texi: Likewise.
21650         * doc/posix-functions/sprintf.texi: Likewise.
21651         * doc/posix-functions/vfprintf.texi: Likewise.
21652         * doc/posix-functions/vprintf.texi: Likewise.
21653         * doc/posix-functions/vsnprintf.texi: Likewise.
21654         * doc/posix-functions/vsprintf.texi: Likewise.
21655         * doc/posix-functions/dprintf.texi: Undo last commit.
21656         * doc/posix-functions/vdprintf.texi: Likewise.
21657
21658 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21659
21660         tests: port test-fdutimensat.c to Solaris 8
21661         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21662         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21663         On Solaris 8, it fails with errno == ENOSYS, because there is no
21664         futimens (so it can't use the fd), and there is no lutimens (so it
21665         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21666
21667         vsnprintf: make more consistent with snprintf; doc fixes
21668
21669         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21670         the byte count return problem was promoted from the snprintf-posix
21671         to the snprintf module.
21672         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21673         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21674         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21675         * tests/test-snprintf.c (main): Check the byte count returned.
21676         * tests/test-vsnprintf.c (main): Likewise.
21677
21678 2010-12-23  Eric Blake  <eblake@redhat.com>
21679
21680         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21681         * modules/sigpipe (License): Relax license.
21682
21683 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21684
21685         doc: document Solaris printf bug with large float precisions
21686         * doc/posix-functions/dprintf.texi (dprintf):
21687         * doc/posix-functions/fprintf.texi (fprintf):
21688         * doc/posix-functions/printf.texi (printf):
21689         * doc/posix-functions/snprintf.texi (snprintf):
21690         * doc/posix-functions/sprintf.texi (sprintf):
21691         * doc/posix-functions/vdprintf.texi (vdprintf):
21692         * doc/posix-functions/vfprintf.texi (vfprintf):
21693         * doc/posix-functions/vprintf.texi (vprintf):
21694         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21695         * doc/posix-functions/vsprintf.texi (vsprintf):
21696         Mention that these functions mishandle large floating point
21697         precisions on Solaris 10.  The same bug is also present in Solaris
21698         8, and I assume earlier.  This causes "cd gnulib-tests; make
21699         check" to fail on Solaris 8 (and I assume, later) when building
21700         the latest coreutils, in test-vasprintf-posix's call to
21701         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21702         the wide flavors (e.g., wprintf) so this patch just updates the
21703         documentation for the narrow ones.
21704
21705         test-posixtm.c: add two tests
21706         * tests/test-posixtm.c: Add two tests, to highlight the
21707         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21708         around this bug; this is merely to document it.
21709
21710 2010-12-22  Bruno Haible  <bruno@clisp.org>
21711
21712         getlogin_r: Work around portability problem on OSF/1.
21713         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21714         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21715         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21716         test for a truncated result.
21717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21718         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21719         * modules/getlogin_r (Depends-on): Add memchr.
21720         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21721
21722 2010-12-22  Bruno Haible  <bruno@clisp.org>
21723
21724         ptsname: Avoid test failure on OSF/1 5.1.
21725         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21726         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21727         (same_slave): New function.
21728         (main): Use it to compare ptsname's result with the expected file name.
21729
21730 2010-12-22  Bruno Haible  <bruno@clisp.org>
21731
21732         Port extended stdio modules to HP NonStop Kernel.
21733         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21734         macros.
21735         * lib/fbufmode.c: Update comments.
21736         * lib/fflush.c: Likewise.
21737         * lib/fpurge.c: Likewise.
21738         * lib/freadable.c: Likewise.
21739         * lib/freadahead.c: Likewise.
21740         * lib/freading.c: Likewise.
21741         * lib/freadptr.c: Likewise.
21742         * lib/freadseek.c: Likewise.
21743         * lib/fseeko.c: Likewise.
21744         * lib/fseterr.c: Likewise.
21745         * lib/fwritable.c: Likewise.
21746         * lib/fwriting.c: Likewise.
21747         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21748
21749 2010-12-22  Bruno Haible  <bruno@clisp.org>
21750
21751         ttyname_r: Work around bug on OSF/1 5.1.
21752         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21753         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21754         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21755         present.
21756         * lib/ttyname_r.c (ttyname_r): Update comments.
21757
21758 2010-12-22  Bruno Haible  <bruno@clisp.org>
21759
21760         round: Implement result sign according to IEEE 754.
21761         * lib/round.c (MIN, MINUS_ZERO): New macros.
21762         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21763         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21764         * tests/test-round-ieee.c (main): Likewise.
21765         * tests/test-roundl-ieee.c (main): Likewise.
21766
21767         trunc: Implement result sign according to IEEE 754.
21768         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21769         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21770         * tests/test-trunc2.c: Include minus-zero.h.
21771         (MINUS_ZERO): New macro.
21772         (trunc_reference): Keep in sync with lib/trunc.c.
21773         * tests/test-truncf2.c: Include minus-zero.h.
21774         (MINUS_ZERO): New macro.
21775         (truncf_reference): Keep in sync with lib/trunc.c.
21776         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21777         * tests/test-trunc-ieee.c (main): Likewise.
21778         * tests/test-truncl-ieee.c (main): Likewise.
21779
21780         ceil: Implement result sign according to IEEE 754.
21781         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21782         (FUNC): Return -0.0 for -1 < x < 0.
21783         * tests/test-ceil2.c: Include minus-zero.h.
21784         (MINUS_ZERO): New macro.
21785         (ceil_reference): Keep in sync with lib/ceil.c.
21786         * tests/test-ceilf2.c: Include minus-zero.h.
21787         (MINUS_ZERO): New macro.
21788         (ceilf_reference): Keep in sync with lib/ceil.c.
21789         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21790         * tests/test-ceil-ieee.c (main): Likewise.
21791         * tests/test-ceill-ieee.c (main): Likewise.
21792
21793         floor: Implement result sign according to IEEE 754.
21794         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21795         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21796         * tests/test-floorf2.c (floorf_reference): Likewise.
21797         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21798         * tests/test-floor-ieee.c (main): Likewise.
21799         * tests/test-floorl-ieee.c (main): Likewise.
21800
21801 2010-12-22  Bruno Haible  <bruno@clisp.org>
21802
21803         getaddrinfo: Update doc.
21804         * doc/posix-functions/gai_strerror.texi: Return type is also different
21805         on AIX and HP-UX.
21806
21807 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21808
21809         getaddrinfo, inet_ntop: Update doc for Solaris.
21810         * doc/posix-functions/gai_strerror.texi: Return type is also an
21811         issue on Solaris 9 and earlier.
21812         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21813         on Solaris 10 and earlier.
21814
21815 2010-12-21  Bruno Haible  <bruno@clisp.org>
21816
21817         New module 'roundl-ieee'.
21818         * modules/roundl-ieee: New file.
21819         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21820         test whether roundl works according to ISO C 99 with IEC 60559.
21821         * m4/roundl-ieee.m4: New file.
21822         * modules/roundl-ieee-tests: New file.
21823         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21824         * tests/test-roundl.c (main): Remove signbit tests.
21825         * modules/roundl-tests (Depends-on): Remove signbit.
21826         * doc/posix-functions/roundl.texi: Mention the new module.
21827
21828 2010-12-21  Bruno Haible  <bruno@clisp.org>
21829
21830         New module 'truncl-ieee'.
21831         * modules/truncl-ieee: New file.
21832         * modules/truncl-ieee-tests: New file.
21833         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21834         * tests/test-truncl.c (main): Remove signbit tests.
21835         * modules/truncl-tests (Depends-on): Remove signbit.
21836         * doc/posix-functions/truncl.texi: Mention the new module.
21837
21838 2010-12-21  Bruno Haible  <bruno@clisp.org>
21839
21840         New module 'ceill-ieee'.
21841         * modules/ceill-ieee: New file.
21842         * modules/ceill-ieee-tests: New file.
21843         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21844         * tests/test-ceill.c (main): Remove signbit tests.
21845         * modules/ceill-tests (Depends-on): Remove signbit.
21846         * doc/posix-functions/ceill.texi: Mention the new module.
21847
21848 2010-12-21  Bruno Haible  <bruno@clisp.org>
21849
21850         New module 'floorl-ieee'.
21851         * modules/floorl-ieee: New file.
21852         * modules/floorl-ieee-tests: New file.
21853         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21854         * tests/test-floorl.c (main): Remove signbit tests.
21855         * modules/floorl-tests (Depends-on): Remove signbit.
21856         * doc/posix-functions/floorl.texi: Mention the new module.
21857
21858 2010-12-21  Bruno Haible  <bruno@clisp.org>
21859
21860         New module 'round-ieee'.
21861         * modules/round-ieee: New file.
21862         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21863         whether round works according to ISO C 99 with IEC 60559.
21864         * m4/round-ieee.m4: New file.
21865         * modules/round-ieee-tests: New file.
21866         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21867         * tests/test-round1.c (main): Remove signbit tests.
21868         * modules/round-tests (Depends-on): Remove 'signbit'.
21869         * doc/posix-functions/round.texi: Mention the new module.
21870
21871 2010-12-21  Bruno Haible  <bruno@clisp.org>
21872
21873         New module 'trunc-ieee'.
21874         * modules/trunc-ieee: New file.
21875         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21876         whether trunc works according to ISO C 99 with IEC 60559.
21877         * m4/trunc-ieee.m4: New file.
21878         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21880         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21881         * modules/trunc-ieee-tests: New file.
21882         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21883         * tests/test-trunc1.c (main): Remove signbit tests.
21884         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21885         * doc/posix-functions/trunc.texi: Mention the new module.
21886
21887 2010-12-21  Bruno Haible  <bruno@clisp.org>
21888
21889         New module 'ceil-ieee'.
21890         * modules/ceil-ieee: New file.
21891         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21892         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21893         ISO C 99 with IEC 60559.
21894         * m4/ceil-ieee.m4: New file.
21895         * modules/ceil (Files): Add lib/ceil.c.
21896         (Depends-on): Add 'float'.
21897         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21898         * lib/math.in.h (ceil): New declaration.
21899         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21900         REPLACE_CEIL.
21901         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21902         * modules/ceil-ieee-tests: New file.
21903         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21904         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21905         * doc/posix-functions/ceil.texi: Mention the new module.
21906
21907 2010-12-21  Bruno Haible  <bruno@clisp.org>
21908
21909         New module 'floor-ieee'.
21910         * modules/floor-ieee: New file.
21911         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21912         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21913         ISO C 99 with IEC 60559.
21914         * m4/floor-ieee.m4: New file.
21915         * modules/floor (Files): Add lib/floor.c.
21916         (Depends-on): Add 'float'.
21917         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21918         * lib/math.in.h (floor): New declaration.
21919         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21920         REPLACE_FLOOR.
21921         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21922         * modules/floor-ieee-tests: New file.
21923         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21924         * tests/test-math-c++.cc: Check the signature of 'floor'.
21925         * doc/posix-functions/floor.texi: Mention the new module.
21926
21927 2010-12-21  Bruno Haible  <bruno@clisp.org>
21928
21929         New module 'roundf-ieee'.
21930         * modules/roundf-ieee: New file.
21931         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21932         test whether roundf works according to ISO C 99 with IEC 60559.
21933         * m4/roundf-ieee.m4: New file.
21934         * modules/roundf-ieee-tests: New file.
21935         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21936         * tests/test-roundf1.c (main): Remove signbit tests.
21937         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21938         * doc/posix-functions/roundf.texi: Mention the new module.
21939
21940 2010-12-21  Bruno Haible  <bruno@clisp.org>
21941
21942         New module 'truncf-ieee'.
21943         * modules/truncf-ieee: New file.
21944         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21945         test whether truncf works according to ISO C 99 with IEC 60559.
21946         * m4/truncf-ieee.m4: New file.
21947         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21948         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21949         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21950         * modules/truncf-ieee-tests: New file.
21951         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21952         * tests/test-truncf1.c (main): Remove signbit tests.
21953         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21954         * doc/posix-functions/truncf.texi: Mention the new module.
21955
21956 2010-12-21  Bruno Haible  <bruno@clisp.org>
21957
21958         New module 'ceilf-ieee'.
21959         * modules/ceilf-ieee: New file.
21960         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21961         test whether ceilf works according to ISO C 99 with IEC 60559.
21962         * m4/ceilf-ieee.m4: New file.
21963         * modules/ceilf-ieee-tests: New file.
21964         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21965         * tests/test-ceilf1.c (main): Remove signbit tests.
21966         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21967         * doc/posix-functions/ceilf.texi: Mention the new module.
21968
21969 2010-12-21  Bruno Haible  <bruno@clisp.org>
21970
21971         New module 'floorf-ieee'.
21972         * modules/floorf-ieee: New file.
21973         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21974         test whether floorf works according to ISO C 99 with IEC 60559.
21975         * m4/floorf-ieee.m4: New file.
21976         * modules/floorf-ieee-tests: New file.
21977         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21978         * tests/test-floorf1.c (main): Remove signbit tests.
21979         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21980         * doc/posix-functions/floorf.texi: Mention the new module.
21981
21982 2010-12-21  Bruno Haible  <bruno@clisp.org>
21983
21984         Support for minus zero in autoconf macros.
21985         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21986         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21987         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21988         * tests/minus-zero.h: Update comments.
21989
21990 2010-12-21  Bruno Haible  <bruno@clisp.org>
21991
21992         Tests for module 'ceil'.
21993         * modules/ceil-tests: New file.
21994         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21995         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21996
21997 2010-12-21  Bruno Haible  <bruno@clisp.org>
21998
21999         Tests for module 'floor'.
22000         * modules/floor-tests: New file.
22001         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
22002         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
22003
22004 2010-12-21  Bruno Haible  <bruno@clisp.org>
22005
22006         math: Fix indentation.
22007         * lib/math.in.h (floorf): Fix indentation.
22008
22009 2010-12-21  Bruno Haible  <bruno@clisp.org>
22010
22011         Fix cross-compilation guesses on Solaris.
22012         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
22013         not match "solaris2.10".
22014         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22015         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
22016         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
22017
22018 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
22019
22020         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
22021         This fixes a problem observed with the latest coreutils snapshot
22022         that caused a test to fail on Solaris 8.  src/csplit.c's call
22023         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
22024         earlier, instead of returning the number of bytes that would have
22025         been generated; this causes csplit to incorrectly report memory
22026         exhaustion.
22027         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
22028         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
22029         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
22030         comments to match.
22031         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
22032         Fix typo in matching older versions of Solaris: "solaris2.10"
22033         is matched by the shell pattern "solaris2.[0-9]*".  This matters
22034         only for guessing while cross-compiling.
22035         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
22036
22037 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
22038
22039         ftoastr: fix comment again
22040         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22041         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
22042         Also, simplify example a bit by using flags = 0.
22043
22044 2010-12-20  Bruno Haible  <bruno@clisp.org>
22045
22046         round*, trunc*: Update documentation regarding glibc.
22047         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
22048         * doc/posix-functions/round.texi: Likewise.
22049         * doc/posix-functions/roundl.texi: Likewise.
22050         * doc/posix-functions/truncf.texi: Likewise.
22051         * doc/posix-functions/trunc.texi: Likewise.
22052         * doc/posix-functions/truncl.texi: Likewise.
22053
22054 2010-12-20  Bruno Haible  <bruno@clisp.org>
22055
22056         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
22057         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
22058         * doc/posix-functions/round.texi: Likewise.
22059         * doc/posix-functions/roundl.texi: Likewise.
22060
22061 2010-12-20  Bruno Haible  <bruno@clisp.org>
22062
22063         ttyname_r: Add missing declaration on HP-UX 11.
22064         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
22065         HAVE_TTYNAME_R.
22066         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
22067         declared. Set HAVE_TTYNAME_R always.
22068         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22069         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
22070         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
22071         HAVE_TTYNAME_R.
22072         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
22073
22074 2010-12-20  Bruno Haible  <bruno@clisp.org>
22075
22076         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
22077         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
22078         * doc/posix-functions/getlogin_r.texi: Likewise.
22079         * tests/test-getlogin.c: Include <errno.h>.
22080         (main): Avoid test failure on HP-UX 11.11.
22081         * tests/test-getlogin_r.c (main): Likewise.
22082
22083 2010-12-20  Bruno Haible  <bruno@clisp.org>
22084
22085         getlogin_r: Add missing declaration on HP-UX 11.
22086         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
22087         declared also when it exists as a function.
22088         * doc/posix-functions/getlogin_r.texi: Document this workaround.
22089
22090 2010-12-20  Bruno Haible  <bruno@clisp.org>
22091
22092         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
22093         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
22094         through wcrtomb.
22095
22096 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
22097
22098         ftoastr: fix comment
22099         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
22100         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
22101
22102 2010-12-19  Bruno Haible  <bruno@clisp.org>
22103
22104         isnan: Ensure it is a macro.
22105         * lib/math.in.h (isnan): Define as a macro if not already a macro.
22106         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
22107         Solaris.
22108
22109 2010-12-19  Bruno Haible  <bruno@clisp.org>
22110
22111         ldexpl test: Fix link error on OSF/1 5.1.
22112         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
22113
22114 2010-12-19  Bruno Haible  <bruno@clisp.org>
22115
22116         wctype: Make it work in C++ mode on OSF/1 5.1.
22117         * lib/wctype.in.h (iswblank): Declare but not define here.
22118         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
22119         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
22120         * modules/wctype (Files): Add lib/iswblank.c.
22121
22122 2010-12-19  Bruno Haible  <bruno@clisp.org>
22123
22124         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
22125         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
22126         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
22127
22128 2010-12-19  Bruno Haible  <bruno@clisp.org>
22129
22130         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
22131         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
22132         _POSIX_PII_SOCKET.
22133         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
22134         * doc/posix-functions/recvfrom.texi: Likewise.
22135         * doc/posix-functions/send.texi: Likewise.
22136         * doc/posix-functions/sendto.texi: Likewise.
22137
22138 2010-12-19  Bruno Haible  <bruno@clisp.org>
22139
22140         tcgetsid: Add missing declaration on OSF/1 5.1.
22141         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
22142         HAVE_TCGETSID.
22143         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
22144         Don't set HAVE_TCGETSID.
22145         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
22146         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
22147         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
22148         HAVE_TCGETSID.
22149         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
22150
22151 2010-12-19  Bruno Haible  <bruno@clisp.org>
22152
22153         stdio: Fix problem with popen() declaration on OSF/1 5.1.
22154         * lib/stdio.in.h: During the include_next statement, let recursive
22155         includes of this file include only the system header file.
22156
22157 2010-12-19  Bruno Haible  <bruno@clisp.org>
22158
22159         iconv_open: Fix regression from 2010-12-04.
22160         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
22161         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
22162
22163 2010-12-19  Bruno Haible  <bruno@clisp.org>
22164
22165         stdbool test: Avoid a gcc warning.
22166         * tests/test-stdbool.c (main): Fail if e1 is false.
22167         Reported by Jim Meyering.
22168
22169 2010-12-19  Jim Meyering  <meyering@redhat.com>
22170
22171         setenv: restore to working order
22172         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
22173         mistakenly removed.
22174         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
22175         HAVE_SETENV.
22176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
22177         HAVE_SETENV.
22178
22179 2010-12-19  Bruno Haible  <bruno@clisp.org>
22180
22181         Document some different function declarations on OSF/1 5.1.
22182         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
22183         * doc/posix-functions/inet_ntop.texi: Likewise.
22184         * doc/posix-functions/gethostname.texi: Likewise.
22185         * lib/unistd.in.h (gethostname): Update comment.
22186
22187 2010-12-19  Bruno Haible  <bruno@clisp.org>
22188
22189         doc: Mention vasprintf-posix module.
22190         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
22191         the 'vasprintf-posix' module.
22192         * doc/glibc-functions/vasprintf.texi: Likewise.
22193
22194 2010-12-19  Bruno Haible  <bruno@clisp.org>
22195
22196         unsetenv: Add missing declaration on OSF/1 5.1.
22197         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
22198         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
22199         Don't set HAVE_UNSETENV. In the test program, set _BSD.
22200         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
22201         not HAVE_UNSETENV.
22202         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
22203         HAVE_UNSETENV.
22204         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
22205
22206 2010-12-19  Bruno Haible  <bruno@clisp.org>
22207
22208         setenv: Add missing declaration on OSF/1 5.1.
22209         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
22210         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
22211         declared. Don't set HAVE_SETENV.
22212         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
22213         not HAVE_SETENV.
22214         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
22215         HAVE_SETENV.
22216         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
22217
22218 2010-12-19  Bruno Haible  <bruno@clisp.org>
22219
22220         nl_langinfo tests: Avoid gcc warning.
22221         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
22222
22223 2010-12-19  Bruno Haible  <bruno@clisp.org>
22224
22225         mknod: Avoid error in C++ mode on OSF/1 with GCC.
22226         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
22227         _GL_CXXALIAS_SYS.
22228
22229 2010-12-19  Bruno Haible  <bruno@clisp.org>
22230
22231         stdbool: Relax test.
22232         * tests/test-stdbool.c (e): Don't require that casts from a variable's
22233         address to 'bool' work in static initializer, for compilers other than
22234         GCC.
22235
22236 2010-12-19  Bruno Haible  <bruno@clisp.org>
22237
22238         ftello: Add missing declaration on OSF/1 5.1.
22239         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
22240         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
22241         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
22242         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
22243         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
22244
22245 2010-12-19  Bruno Haible  <bruno@clisp.org>
22246
22247         fseeko: Add missing declaration on OSF/1 5.1.
22248         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
22249         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
22250         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
22251         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
22252         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
22253
22254 2010-12-19  Bruno Haible  <bruno@clisp.org>
22255
22256         fchdir: Add missing declaration on OSF/1 5.1.
22257         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
22258         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
22259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
22260         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
22261         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
22262
22263 2010-12-19  Bruno Haible  <bruno@clisp.org>
22264
22265         relocatable-prog-wrapper: Separate from relocatable-prog.
22266         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
22267         uninstall-relocwrapper rule here.
22268         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
22269         Reported by Ian Beckwith <ianb@erislabs.net>.
22270
22271 2010-12-19  Bruno Haible  <bruno@clisp.org>
22272
22273         unistr/u8-mbsnlen: Add missing dependency.
22274         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
22275         Reported by Ian Beckwith <ianb@erislabs.net>.
22276
22277 2010-12-19  Bruno Haible  <bruno@clisp.org>
22278
22279         iconv: Make it possible again to use this module without 'iconv-h'.
22280         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
22281         if it is not defined.
22282         Reported by Ian Beckwith <ianb@erislabs.net>.
22283
22284 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
22285
22286         acl: port to Solaris 8 when copying from tmpfs to ufs
22287         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
22288         error number.  Problem observed on Solaris 8 with latest
22289         coreutils, with "mv A B", where A is on a tmpfs file system and B
22290         is on a ufs file system.  This caused coreutils' mv/part-symlink
22291         test to fail.
22292
22293         tests: set fail=0 at start
22294         * tests/init.sh (setup_): Move fail=0 initialization here ...
22295         (mktempd_): ... from here, so that tests can rely on fail being
22296         set to 0 initially.  This fixes a problem in coreutils; see:
22297         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
22298
22299 2010-12-18  Bruno Haible  <bruno@clisp.org>
22300
22301         memmem-simple: Stylistic changes.
22302         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
22303         Fix preprocessor directive indentation.
22304
22305 2010-12-15  Pádraig Brady <P@draigBrady.com>
22306
22307         memmem, memmem-simple: reorganize and expand empty needle check
22308         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
22309         functional checks to memmem-simple so that one has a fully functional
22310         memmem by using just this module.
22311         Restrict the performance only check to the memmem module.
22312         Also expand the empty needle check to ensure the correct
22313         pointer is returned, not just a non NULL pointer.
22314         * doc/glibc-functions/memmem.texi: Rearrange the portability
22315         documentation to correlate with the rearranged checks.
22316         Clarify exactly how the memmem and memmem-simple modules
22317         relate to each other.
22318
22319 2010-12-15  Pádraig Brady <P@draigBrady.com>
22320             Bruno Haible  <bruno@clisp.org>
22321
22322         Improve cross-compilation guesses for uClibc.
22323         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
22324         that uClibc does not have the glibc bug.
22325         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22326         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
22327
22328 2010-12-14  Eric Blake  <eblake@redhat.com>
22329
22330         configmake: provide fallbacks for oldest supported autotools
22331         * m4/configmake.m4: New file.
22332         * modules/configmake (Files): Ship it.
22333         (configure.ac): Use it to guarantee fallbacks.
22334
22335 2010-12-13  Pádraig Brady <P@draigBrady.com>
22336
22337         read-file: Improve handling of large files
22338         * lib/read-file.c (fread_file): Minimize realloc()s
22339         for regular files, and better manage sizes around SIZE_MAX.
22340
22341 2010-12-13  Eric Blake  <eblake@redhat.com>
22342
22343         cloexec, fcntl: relax license
22344         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
22345         consent from all contributors.
22346         * modules/fcntl (License): Likewise.
22347
22348 2010-12-10  Bruno Haible  <bruno@clisp.org>
22349
22350         Tests for module 'pipe-posix'.
22351         * modules/pipe-posix-tests: New file.
22352         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
22353
22354 2010-12-10  Bruno Haible  <bruno@clisp.org>
22355
22356         pipe-posix: Make it work in C++ mode.
22357         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
22358         (pipe): Use common idiom, not a macro definition.
22359         * lib/pipe.c: New file.
22360         * m4/pipe.m4: New file.
22361         * modules/pipe-posix (Description): Enhance.
22362         (Files): Add lib/pipe.c, m4/pipe.m4.
22363         (configure.ac): Invoke gl_FUNC_PIPE.
22364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
22365         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
22366         * tests/test-unistd-c++.cc: Check the signature of pipe.
22367
22368 2010-12-10  Bruno Haible  <bruno@clisp.org>
22369
22370         Rename module 'pipe' to 'spawn-pipe'.
22371         * modules/spawn-pipe: New file, renamed from modules/pipe.
22372         (Files, configure.ac, Makefile.am): Update.
22373         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
22374         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
22375         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
22376         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
22377         "spawn-pipe.h" instead of "pipe.h".
22378         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
22379         to gl_SPAWN_PIPE.
22380         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
22381         (Files, Makefile.am): Update.
22382         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
22383         Update.
22384         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
22385         Include "spawn-pipe.h" instead of "pipe.h".
22386         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
22387         * lib/javacomp.c: Likewise.
22388         * lib/javaversion.c: Likewise.
22389         * lib/pipe-filter-gi.c: Likewise.
22390         * lib/pipe-filter-ii.c: Likewise.
22391         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
22392         * modules/javacomp (Depends-on): Likewise.
22393         * modules/javaversion (Depends-on): Likewise.
22394         * modules/pipe-filter-gi (Depends-on): Likewise.
22395         * modules/pipe-filter-ii (Depends-on): Likewise.
22396         * MODULES.html.sh (Executing programs): Update.
22397         * NEWS: Mention the change.
22398
22399 2010-12-10  Eric Blake  <eblake@redhat.com>
22400
22401         pipe-posix: new module
22402         * modules/pipe-posix: New file.
22403         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
22404         (gl_UNISTD_H): Check for declaration.
22405         * modules/unistd (Makefile.am): Substitute it.
22406         * lib/unistd.in.h (pipe): Provide it for mingw.
22407         * doc/posix-functions/pipe.texi (pipe): Update documentation.
22408         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
22409
22410 2010-12-07  Bruno Haible  <bruno@clisp.org>
22411
22412         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
22413         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
22414         u8_strcmp_gnu.
22415         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
22416
22417 2010-12-06  Bruno Haible  <bruno@clisp.org>
22418
22419         Update internal documentation.
22420         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
22421
22422 2010-12-04  Bruno Haible  <bruno@clisp.org>
22423
22424         Put more information about failed tests into the test return codes.
22425         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
22426         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
22427         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22428         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22429         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22430         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22431         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22432         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22433         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
22434         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22435         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
22436         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22437         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22438         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22439         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
22440         returns a bit mask.
22441         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22442         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22443         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22444         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22445         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22446         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22447         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22448         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22449         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22450         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22451         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22452         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22453         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22454         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22455         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22456         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22457         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22458         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22459         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22460         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22461         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22462         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22463         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22464         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22465         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22466         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22467         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22468         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22469         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22470         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22471         gl_PRINTF_PRECISION): Likewise.
22472         * m4/regex.m4 (gl_REGEX): Likewise.
22473         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22474         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22475         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22476         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22477         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22478         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22479         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22480         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22481         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22482         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22483         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22484         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22485         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22486         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22487         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22488         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22489         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22490         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22491         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22492         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22493         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22494         enumerated value.
22495         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22496
22497 2010-12-04  Bruno Haible  <bruno@clisp.org>
22498
22499         Update for Solaris 11 2010-11.
22500         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22501         Express, released in November 2010.
22502
22503 2010-12-04  Bruno Haible  <bruno@clisp.org>
22504
22505         nproc: Relax license.
22506         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22507         and Paul Eggert.
22508         Requested by Ludovic Courtès <ludo@gnu.org>.
22509
22510 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22511
22512         utimecmp: fine-grained src to nearby coarse-grained dest
22513
22514         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22515         and the source is on a file system with higher-resolution time
22516         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22517         not work, and the time stamps are close together, the algorithm to
22518         determine the exact resolution from the read-back mtime was buggy:
22519         it had a "!=" where it should have had an "==".  This bug has been
22520         in the code ever since it was introduced to gnulib.
22521         Problem reported by Dan Jacobson in
22522         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22523
22524 2010-11-30  Bruno Haible  <bruno@clisp.org>
22525
22526         strerror_r-posix: Fix autoconf test.
22527         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22528
22529 2010-11-28  Bruno Haible  <bruno@clisp.org>
22530             Paul Eggert  <eggert@cs.ucla.edu>
22531
22532         Tests for module 'getdomainname'.
22533         * modules/getdomainname-tests: New file.
22534         * tests/test-getdomainname.c: New file, based on
22535         tests/test-gethostname.c.
22536
22537 2010-11-28  Bruno Haible  <bruno@clisp.org>
22538             Paul Eggert  <eggert@cs.ucla.edu>
22539
22540         getdomainname: Use the system function when possible.
22541         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22542         (getdomainname): Replace if needed. Provide the declaration if it is
22543         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22544         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22545         (getdomainname): When the system has getdomainname, call the system
22546         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22547         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22548         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22549         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22550         the function if its second argument is of type 'int' or if it is found
22551         in libnsl.
22552         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22553         <sys/systeminfo.h> and sysinfo().
22554         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22556         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22557         HAVE_GETDOMAINNAME.
22558         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22559         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22560         * doc/glibc-functions/getdomainname.texi: Document the problems with
22561         the getdomainname declaration.
22562
22563 2010-11-28  Bruno Haible  <bruno@clisp.org>
22564
22565         sys_socket: Ensure ss_family field on AIX.
22566         * lib/sys_socket.in.h (ss_family): New macro definition.
22567         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22568         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22569         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22570         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22571         * modules/sys_socket (Makefile.am): Substitute
22572         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22573         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22574
22575 2010-11-27  Bruno Haible  <bruno@clisp.org>
22576
22577         readline: Improve configure output.
22578         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22579         "checking for readline..." result understandable.
22580
22581 2010-11-27  Bruno Haible  <bruno@clisp.org>
22582
22583         *printf-posix: Detect a bug on Solaris 10/x86.
22584         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22585         for floating-point output.
22586         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22587         directive.
22588         * tests/test-snprintf-posix.h (test_function): Likewise.
22589         * tests/test-sprintf-posix.h (test_function): Likewise.
22590         * tests/test-vasprintf-posix.c (test_function): Likewise.
22591         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22592         * doc/posix-functions/printf.texi: Likewise.
22593         * doc/posix-functions/snprintf.texi: Likewise.
22594         * doc/posix-functions/sprintf.texi: Likewise.
22595         * doc/posix-functions/vfprintf.texi: Likewise.
22596         * doc/posix-functions/vprintf.texi: Likewise.
22597         * doc/posix-functions/vsnprintf.texi: Likewise.
22598         * doc/posix-functions/vsprintf.texi: Likewise.
22599         * doc/glibc-functions/obstack_printf.texi: Likewise.
22600         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22601
22602 2010-11-27  Bruno Haible  <bruno@clisp.org>
22603
22604         Fix link error when module libunistring-optional is in use.
22605         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22606         * modules/striconveha-tests (Makefile.am): Likewise.
22607
22608 2010-11-27  Bruno Haible  <bruno@clisp.org>
22609
22610         regex: Mention link dependencies.
22611         * modules/regex (Link): New section.
22612         * modules/rpmatch (Link): Likewise.
22613         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22614
22615 2010-11-27  Bruno Haible  <bruno@clisp.org>
22616
22617         ftoastr: Fix compilation error on Solaris.
22618         * lib/ftoastr.c: Include <config.h>.
22619
22620 2010-11-27  Bruno Haible  <bruno@clisp.org>
22621
22622         getloadavg: Update documentation.
22623         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22624
22625 2010-11-27  Bruno Haible  <bruno@clisp.org>
22626
22627         sys_socket: Fix test whether the functions are declared.
22628         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22629         not <sys/select.h>.
22630
22631 2010-11-27  Bruno Haible  <bruno@clisp.org>
22632
22633         getpass: Make sure to get system declaration on some platforms.
22634         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22635         gl_USE_SYSTEM_EXTENSIONS.
22636         * modules/getpass (Depends-on): Add extensions.
22637
22638 2010-11-26  Bruno Haible  <bruno@clisp.org>
22639
22640         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22641         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22642         'iconv' module is present.
22643         (ICONV_CONST): New macro.
22644         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22645         ICONV_CONST.
22646         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22647         set ICONV_CONST.
22648         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22649         here.
22650         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22651         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22652         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22653         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22654         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22655         present.
22656
22657 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22658
22659         ftoastr: comment fix
22660         * lib/ftoastr.c: "little" -> "little or no" in comment
22661
22662 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22663
22664         stdint: port to GCC 4.3 + OSX + Octave
22665         On this platform, stdint.h is buggy and defines int64_t to long
22666         long int.  The replacement defined it to long int, causing
22667         problems with C++ style name mangling.  Instead, trust the system
22668         definition if INT64_MAX is defined, and likewise for the unsigned
22669         variant.   Problem reported by Jarno Rajahalme in
22670         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22671         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22672         and don't mess with int64_t and INT64_MAX in this case.
22673         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22674
22675 2010-11-24  Bruno Haible  <bruno@clisp.org>
22676
22677         doc: Corrections regarding MacOS X 10.4 and 10.5.
22678         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22679         MacOS X.
22680         Reported by Simon Josefsson.
22681
22682 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22683
22684         Uninstall ".bin" files installed by relocwrapper.
22685         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22686         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22687         unless it is already there.
22688
22689 2010-11-21  Bruno Haible  <bruno@clisp.org>
22690
22691         Update for NetBSD 5.0.
22692         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22693         NetBSD; the test fails on NetBSD 5.0.
22694         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22695         about NetBSD.
22696
22697 2010-11-21  Bruno Haible  <bruno@clisp.org>
22698
22699         Update for HP-UX 11.23 and HP-UX 11.31.
22700         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22701         HP-UX.
22702
22703 2010-11-21  Bruno Haible  <bruno@clisp.org>
22704
22705         Update for MacOS X 10.5.
22706         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22707         MacOS X; the test fails on MacOS X 10.5.8.
22708         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22709         about MacOS X.
22710
22711 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22712
22713         bootstrap: add bootstrap_sync option.
22714         See discussion at
22715         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22716         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22717         * build-aux/bootstrap: Accept --bootstrap-sync to update
22718         bootstrap if it is not identical to the local gnulib's
22719         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22720         enable this by default.  Accept --no-bootstrap-sync to disable
22721         it.
22722
22723 2010-11-20  Bruno Haible  <bruno@clisp.org>
22724
22725         Ensure that <features.h> is included before __GLIBC__ is tested.
22726         * lib/printf-parse.h: Include <features.h>.
22727         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22728         Reported by Mike Frysinger <vapier@gentoo.org>.
22729
22730         Ensure that <features.h> is included before __GLIBC__ is tested.
22731         * lib/wchar.in.h: Include <features.h>.
22732         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22733         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22734         Reported by Mike Frysinger <vapier@gentoo.org>.
22735
22736         Ensure that <features.h> is included before __GLIBC__ is tested.
22737         * lib/arpa_inet.in.h: Include <features.h>.
22738         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22739         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22740         Reported by Mike Frysinger <vapier@gentoo.org>.
22741
22742         Ensure that <features.h> is included before __GLIBC__ is tested.
22743         * build-aux/link-warning.h: Include <features.h>.
22744         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22745         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22746         Reported by Mike Frysinger <vapier@gentoo.org>.
22747
22748         Ensure that <features.h> is included before __GLIBC__ is tested.
22749         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22750         Reported by Mike Frysinger <vapier@gentoo.org>.
22751
22752 2010-11-20  Bruno Haible  <bruno@clisp.org>
22753
22754         memmem: Fix autoconf test.
22755         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22756
22757 2010-11-20  Bruno Haible  <bruno@clisp.org>
22758
22759         Port to uClibc.
22760         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22761         * lib/fcntl.in.h: Likewise.
22762         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22763         * lib/mbrtowc.c (mbrtowc): Likewise.
22764         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22765         * lib/strerror_r.c: Likewise.
22766         * lib/unistr/u8-strnlen.c: Likewise.
22767         * lib/vasnprintf.c (decimal_point_char): Likewise.
22768         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22769         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22770         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22771         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22772         * tests/test-sigaction.c (handler, main): Likewise.
22773         * lib/freading.h: Treat uClibc like a non-glibc platform.
22774         * lib/freading.c: Likewise.
22775         * lib/gettext.h: Likewise.
22776         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22777         Likewise.
22778         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22779         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22780         * lib/propername.c (proper_name_utf8): Likewise.
22781         * lib/spawn.in.h: Likewise.
22782         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22783         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22784         mem_cd_iconveh_internal): Likewise.
22785         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22786         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22787         strstr, strcasestr): Likewise.
22788         * lib/unicodeio.c (unicode_to_mb): Likewise.
22789         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22790         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22791         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22792         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22793         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22794         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22795         * lib/unistr/u8-stpncpy.c: Likewise.
22796         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22797         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22798         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22799         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22800         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22801         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22802         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22803         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22804         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22805         Likewise.
22806         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22807         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22808         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22809         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22810         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22811         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22812         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22813         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22814         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22815         * tests/test-striconveha.c (main): Likewise.
22816         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22817         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22818         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22819         * doc/posix-functions/getline.texi: Likewise.
22820         Reported by Mike Frysinger <vapier@gentoo.org>.
22821
22822 2010-11-20  Bruno Haible  <bruno@clisp.org>
22823
22824         nproc: Fix condition.
22825         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22826         HAVE_PTHREAD_AFFINITY_NP.
22827
22828 2010-11-20  Bruno Haible  <bruno@clisp.org>
22829
22830         Fix a comment.
22831         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22832
22833 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22834
22835         ftoastr: don't assume snprintf
22836         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22837         Implement a subset of snprintf here, by using sprintf safely.
22838         * modules/ftoastr (Depends-on): Remove snprintf.
22839
22840 2010-11-19  Jim Meyering  <meyering@redhat.com>
22841
22842         test-rename.h: fix compilation failure
22843         * tests/test-rename.h (test_rename): Add omitted "}".
22844
22845 2010-11-17  Jim Meyering  <meyering@redhat.com>
22846
22847         maint.mk: add a URL discussing the no-@acronym policy
22848         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22849
22850 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22851
22852         ftoastr: depend on snprintf, improve comments
22853         * lib/ftoastr.c: Also mention Loitsch's draft.
22854         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22855         needed in the current implementation, but it might simplify
22856         speeding up the code later.
22857         * modules/ftoastr: Depend on snprintf; this improves portability.
22858         Suggested by Bruno Haible in the same email.
22859
22860         ftoastr: port to hosts lacking strtof and strtold
22861         Problem reported by Bruno Haible in
22862         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22863         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22864         environment and strtold (and presumably strtof) are not available.
22865         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22866         (configure.ac): Require gl_C99_STRTOLD.
22867
22868 2010-11-18  Bruno Haible  <bruno@clisp.org>
22869
22870         c-strtold: Avoid link error on AIX 7.
22871         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22872         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22873         (gl_C_STRTOLD): Test whether strtold_l exists.
22874         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22875
22876 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22877
22878         intprops: new macro INT_BITS_STRLEN_BOUND
22879         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22880         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22881         not exposed.  Also, it uses a slightly tighter bound than before;
22882         though this makes no practical difference, we might as well be as
22883         tight as we easily can.
22884
22885         ftoastr: new module, for lossless conversion of floats to short strings
22886         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22887         * modules/ftoastr: New files.
22888
22889 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22890
22891         bootstrap: port to Solaris sed
22892         * build-aux/bootstrap (get_version): Port to Solaris sed.
22893         See Ralf Wildenhues's note in
22894         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22895
22896 2010-11-14  Jim Meyering  <meyering@redhat.com>
22897
22898         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22899         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22900         and move definition closer to sole use.
22901
22902 2010-11-13  Jim Meyering  <meyering@redhat.com>
22903
22904         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22905         Now we require at least autoconf-2.59, which means the work-around
22906         is no longer needed.
22907         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22908         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22909         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22910         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22911         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22912
22913 2010-11-13  Bruno Haible  <bruno@clisp.org>
22914
22915         rename, renameat: Avoid test failures at NFS mounted locations.
22916         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22917         functions.
22918         (test_rename): Use assert_nonexistent.
22919         * tests/test-rename.c: Include <dirent.h>.
22920         * tests/test-renameat.c: Likewise.
22921         Reported by Gary V. Vaughan <gary@gnu.org>.
22922
22923         rename, renameat: Document Linux bug with NFS
22924         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22925         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22926         * doc/posix-functions/renameat.texi: Likewise.
22927         Suggested by Eric Blake.
22928
22929 2010-11-13  Bruno Haible  <bruno@clisp.org>
22930
22931         rename test: Add comments.
22932         * tests/test-rename.h (test_rename): Add structure and comments.
22933
22934 2010-11-13  Eric Blake  <eblake@redhat.com>
22935
22936         maintainer-makefile: cover a few more files
22937         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22938         scripts generated within C files, for libvirt.
22939
22940 2010-11-13  Bruno Haible  <bruno@clisp.org>
22941
22942         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22943         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22944         character, return the number of bytes that belong together, not always
22945         1.
22946         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22947         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22948         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22949         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22950         number of bytes of an invalid character.
22951         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22952         (main): Invoke it.
22953         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22954         results.
22955         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22956         malformed byte sequences.
22957         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22958         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22959         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22960         Reported by Ben Pfaff and Paolo Bonzini.
22961
22962 2010-11-13  Bruno Haible  <bruno@clisp.org>
22963
22964         openat: Work around glibc bug with fchownat() and empty file names.
22965         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22966         (gl_FUNC_FCHOWNAT): Invoke it.
22967         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22968         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22969         Reported by Gary V. Vaughan <gary@gnu.org>.
22970
22971 2010-11-13  Bruno Haible  <bruno@clisp.org>
22972
22973         openat: Ensure autoconf macro ordering.
22974         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22975         gl_USE_SYSTEM_EXTENSIONS.
22976         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22977
22978 2010-11-13  Bruno Haible  <bruno@clisp.org>
22979
22980         Update comments.
22981         * lib/unistr/u8-check.c: Update file name in comments.
22982         * lib/unistr/u8-mblen.c: Likewise.
22983         * lib/unistr/u8-prev.c: Likewise.
22984         * lib/unistr/u8-strmblen.c: Likewise.
22985         * lib/unistr/u8-strmbtouc.c: Likewise.
22986
22987 2010-11-13  Jim Meyering  <meyering@redhat.com>
22988
22989         tests: avoid test failure on Solaris 10 due to lack of PATH export
22990         * tests/test-update-copyright.sh: Don't forget to export PATH.
22991
22992         init.sh: ensure that IFS is defined, just in case...
22993         * tests/init.sh (setup_): Ensure that IFS is defined,
22994         so that saving and restoring it works as expected.  This
22995         appears to be useful at least for an old version of dash
22996         from a long time ago (RH 6).  See here for details:
22997         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22998
22999         maint.mk: tighten "test a == b" check
23000         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
23001         test to files that contain something like #!/bin/sh.
23002         Without this, coreutils would get two false positives in
23003         the comments of C source files.
23004
23005 2010-11-12  Eric Blake  <eblake@redhat.com>
23006
23007         bootstrap: fix typo in previous attempt
23008         * build-aux/bootstrap (buildreq): Correct the grouping.
23009         Reported by Paul Eggert.
23010
23011         maintainer-makefile: prohibit test x == x
23012         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
23013         Based on a report by Matthias Bolte.
23014
23015         bootstrap: allow FreeBSD gzip
23016         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
23017         which has no '.' and goes to stderr.
23018         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
23019         Reported by Matthias Bolte.
23020
23021         maintainer-makefile: check for i18n setup
23022         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
23023         will likely work.
23024
23025 2010-11-12  Bruno Haible  <bruno@clisp.org>
23026
23027         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
23028         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
23029         * lib/nanosleep.c (nanosleep): Likewise.
23030
23031 2010-11-11  Bruno Haible  <bruno@clisp.org>
23032
23033         fcntl-h: Fix for use of C++ on glibc systems.
23034         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23035         also on glibc systems in C++ mode.
23036         Reported by Gary V. Vaughan <gary@gnu.org>.
23037
23038 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23039
23040         mknod: avoid false failure with dash
23041         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
23042
23043 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
23044
23045         unlink: Fix "is it should" typo in diagnostic.
23046         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
23047         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
23048
23049 2010-11-11  Bruno Haible  <bruno@clisp.org>
23050
23051         Tests for module 'strerror_r-posix'.
23052         * modules/strerror_r-posix-tests: New file.
23053         * tests/test-strerror_r.c: New file.
23054         * tests/test-string-c++.cc: Check the signature of strerror_r.
23055
23056         New module 'strerror_r-posix'.
23057         * lib/string.in.h (strerror_r): New declaration.
23058         * lib/strerror_r.c: New file.
23059         * m4/strerror_r.m4: New file.
23060         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
23061         of strerror_r.
23062         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
23063         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23064         * modules/strerror_r-posix: New file.
23065         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
23066         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
23067         * doc/posix-functions/strerror_r.texi: Mention the new module and the
23068         portability problems.
23069
23070 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
23071
23072         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
23073         line is also considered for output. Quoted function name in shell
23074         command, so temporary files for functions like MyClass::operator()
23075         are removed correctly without errors.
23076
23077 2010-11-09  Bruno Haible  <bruno@clisp.org>
23078
23079         * doc/posix-functions/strerror.texi: List more failing platforms.
23080
23081         * doc/posix-functions/strerror.texi: Add a comment.
23082
23083 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
23084
23085         fdopendir: fix bug on MacOS X when low on file descriptors
23086
23087         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
23088         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
23089         All callers changed.
23090         (fdopendir): Invoke save_cwd at the top level, not after using
23091         multiple dup() calls to use up file descriptors.  Then retry
23092         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
23093         less than the maximum number of open file descriptors, because
23094         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
23095         on Mac OS X 10.6.4 for tar 1.24
23096         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
23097         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
23098         and for tar 1.25
23099         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
23100
23101 2010-11-07  Bruno Haible  <bruno@clisp.org>
23102
23103         vasnprintf: Support I flag on glibc systems.
23104         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
23105         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
23106         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
23107         snprintf function.
23108         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
23109         glibc systems.
23110         * tests/test-vasnprintf-posix3.c: New file.
23111         * modules/vasnprintf-posix-tests (Files): Add it.
23112         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
23113
23114 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23115
23116         [html] Fix copy/paste bug: Use unique name for compiler warnings.
23117         * MODULES.html.sh: For compiler warnings, use name
23118         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
23119
23120 2010-11-05  Eric Blake  <eblake@redhat.com>
23121
23122         ceil, floor: avoid spurious failure with icc
23123         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
23124         [denormals-as-zero] when optimizing without -mieee-fp option.
23125         * tests/test-floorf2.c (floorf_reference): Likewise.
23126         * tests/test-ceilf1.c (dummy): New function.
23127         (main): Use it to outsmart icc's optimization.
23128         * tests/test-floorf1.c (dummy, main): Likewise.
23129
23130         tests: require working signbit
23131         * modules/ceilf-tests (Depends-on): Add signbit.
23132         * modules/ceill-tests (Depends-on): Likewise.
23133         * modules/floorf-tests (Depends-on): Likewise.
23134         * modules/floorl-tests (Depends-on): Likewise.
23135         * modules/round-tests (Depends-on): Likewise.
23136         * modules/roundf-tests (Depends-on): Likewise.
23137         * modules/roundl-tests (Depends-on): Likewise.
23138         * modules/trunc-tests (Depends-on): Likewise.
23139         * modules/truncf-tests (Depends-on): Likewise.
23140         * modules/truncl-tests (Depends-on): Likewise.
23141
23142         strtod: work around icc bug
23143         * lib/strtod.c (minus_zero): Define to working value.
23144         (strtod): Use it to avoid icc bug.
23145
23146         copysign: enhance tests
23147         * modules/copysign-tests (Files): Add minus-zero.h.
23148         * tests/test-copysign.c (main): Also test zeros.
23149
23150 2010-11-04  Eric Blake  <eblake@redhat.com>
23151
23152         ceil, floor, round, trunc: enhance tests of -0
23153         * tests/test-ceilf1.c (main): Ensure correct sign of result.
23154         * tests/test-ceill.c (main): Likewise.
23155         * tests/test-floorf1.c (main): Likewise.
23156         * tests/test-floorl.c (main): Likewise.
23157         * tests/test-round1.c (main): Likewise.
23158         * tests/test-roundf1.c (main): Likewise.
23159         * tests/test-roundl.c (main): Likewise.
23160         * tests/test-trunc1.c (main): Likewise.
23161         * tests/test-truncf1.c (main): Likewise.
23162         * tests/test-truncl.c (main): Likewise.
23163
23164 2010-11-04  Eric Blake  <eblake@redhat.com>
23165
23166         frexp, tests: work around ICC bug with -zero
23167         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
23168         works with more compilers.
23169         * tests/minus-zero.h: New file.
23170         * modules/ceilf-tests (Files): Include it.
23171         * modules/ceill-tests (Files): Likewise.
23172         * modules/floorf-tests (Files): Likewise.
23173         * modules/floorl-tests (Files): Likewise.
23174         * modules/frexp-nolibm-tests (Files): Likewise.
23175         * modules/frexp-tests (Files): Likewise.
23176         * modules/frexpl-nolibm-tests (Files): Likewise.
23177         * modules/frexpl-tests (Files): Likewise.
23178         * modules/isnan-tests (Files): Likewise.
23179         * modules/isnand-nolibm-tests (Files): Likewise.
23180         * modules/isnand-tests (Files): Likewise.
23181         * modules/isnanf-nolibm-tests (Files): Likewise.
23182         * modules/isnanf-tests (Files): Likewise.
23183         * modules/isnanl-nolibm-tests (Files): Likewise.
23184         * modules/isnanl-tests (Files): Likewise.
23185         * modules/round-tests (Files): Likewise.
23186         * modules/roundf-tests (Files): Likewise.
23187         * modules/roundl-tests (Files): Likewise.
23188         * modules/ldexpl-tests (Files): Likewise.
23189         * modules/signbit-tests (Files): Likewise.
23190         * modules/snprintf-posix-tests (Files): Likewise.
23191         * modules/sprintf-posix-tests (Files): Likewise.
23192         * modules/strtod-tests (Files): Likewise.
23193         * modules/trunc-tests (Files): Likewise.
23194         * modules/truncf-tests (Files): Likewise.
23195         * modules/truncl-tests (Files): Likewise.
23196         * modules/vsnprintf-posix-tests (Files): Likewise.
23197         * modules/vsprintf-posix-tests (Files): Likewise.
23198         * modules/vasnprintf-posix-tests (Files): Likewise.
23199         * modules/vasprintf-posix-tests (Files): Likewise.
23200         * tests/test-ceilf1.c (main): Use it.
23201         * tests/test-ceill.c (main): Likewise.
23202         * tests/test-floorf1.c (main): Likewise.
23203         * tests/test-floorl.c (main): Likewise.
23204         * tests/test-frexp.c (main): Likewise.
23205         * tests/test-frexpl.c (main): Likewise.
23206         * tests/test-isnan.c (main): Likewise.
23207         * tests/test-isnand.h (main): Likewise.
23208         * tests/test-isnanf.h (main): Likewise.
23209         * tests/test-isnanl.h (main): Likewise.
23210         * tests/test-ldexpl.c (main): Likewise.
23211         * tests/test-round.c (main): Likewise.
23212         * tests/test-roundf.c (main): Likewise.
23213         * tests/test-roundl.c (main): Likewise.
23214         * tests/test-signbit.c (test_signbitf, test_signbitd)
23215         (test_signbitl): Likewise.
23216         * tests/test-snprintf-posix.h (test_function): Likewise.
23217         * tests/test-sprintf-posix.h (test_function): Likewise.
23218         * tests/test-strtod.c (main): Likewise.
23219         * tests/test-trunc1.c (main): Likewise.
23220         * tests/test-truncf1.c (main): Likewise.
23221         * tests/test-truncl.c (main): Likewise.
23222
23223         isnanl: work around icc bug
23224         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
23225
23226 2010-11-03  Eric Blake  <eblake@redhat.com>
23227
23228         tests: fix compiler warnings
23229         * tests/test-getopt.h (test_getopt): Fix condition.
23230         * tests/test-getopt_long.h (test_getopt_long): Likewise.
23231         * tests/test-pipe2.c (main): Likewise.
23232         * tests/test-quotearg-simple.c (main): Avoid icc warning.
23233
23234         utimens: fix broken m4 test
23235         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
23236
23237 2010-10-28  Bruno Haible  <bruno@clisp.org>
23238
23239         posix_spawn*, getdtablesize: Relax license.
23240         * modules/posix_spawn (License): Change to LGPLv2+.
23241         * modules/posix_spawnp (License): Likewise.
23242         * modules/posix_spawn-internal (License): Likewise.
23243         * modules/posix_spawnattr_init (License): Likewise.
23244         * modules/posix_spawnattr_getflags (License): Likewise.
23245         * modules/posix_spawnattr_setflags (License): Likewise.
23246         * modules/posix_spawnattr_getpgroup (License): Likewise.
23247         * modules/posix_spawnattr_setpgroup (License): Likewise.
23248         * modules/posix_spawnattr_getschedparam (License): Likewise.
23249         * modules/posix_spawnattr_setschedparam (License): Likewise.
23250         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
23251         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
23252         * modules/posix_spawnattr_getsigdefault (License): Likewise.
23253         * modules/posix_spawnattr_setsigdefault (License): Likewise.
23254         * modules/posix_spawnattr_getsigmask (License): Likewise.
23255         * modules/posix_spawnattr_setsigmask (License): Likewise.
23256         * modules/posix_spawnattr_destroy (License): Likewise.
23257         * modules/posix_spawn_file_actions_init (License): Likewise.
23258         * modules/posix_spawn_file_actions_addclose (License): Likewise.
23259         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
23260         * modules/posix_spawn_file_actions_addopen (License): Likewise.
23261         * modules/posix_spawn_file_actions_destroy (License): Likewise.
23262         * modules/getdtablesize (License): Likewise.
23263         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
23264
23265 2010-10-26  Bruno Haible  <bruno@clisp.org>
23266
23267         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
23268         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
23269         Cygwin and mingw.
23270         Suggested by Eric Blake.
23271
23272 2010-10-26  Bruno Haible  <bruno@clisp.org>
23273
23274         stdio: Work around compilation error due to renameat() on Solaris 10.
23275         * lib/stdio.in.h: Include <unistd.h> on Solaris.
23276         * lib/renameat.c: Don't include <unistd.h> here.
23277         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
23278         Reported by Paul Eggert and Eric Blake.
23279
23280 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
23281
23282         renameat: port to Solaris 10, which declares renameat in unistd.h
23283
23284         * lib/renameat.c: Include unistd.h before stdio.h, because
23285         Solaris 10 declares renameat in unistd.h.  Problem encountered
23286         when building GNU tar 1.24 on Solaris 10.
23287
23288 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23289
23290         fdopendir: fix C89 compilation
23291         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
23292         compilers.
23293
23294 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
23295
23296         inttostr: simplify by removing unnecessary redundancy
23297         * lib/anytostr.c: Don't include verify.h.
23298         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
23299         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
23300         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
23301         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
23302         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
23303         Likewise.
23304         * modules/inttostr (Depends-on): Remove 'verify'.
23305
23306 2010-10-23  Bruno Haible  <bruno@clisp.org>
23307
23308         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
23309         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
23310         Reported by Eric Blake.
23311
23312 2010-10-23  Bruno Haible  <bruno@clisp.org>
23313
23314         Tests: Fix LOCALE_JA on MirBSD 10.
23315         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
23316         to an UTF-8 locale.
23317         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
23318         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23319         Reported by Eric Blake.
23320
23321 2010-10-21  Bruno Haible  <bruno@clisp.org>
23322
23323         nl_langinfo test: Avoid test failure on NetBSD 5.
23324         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
23325         Reported by Eric Blake.
23326
23327 2010-10-21  Eric Blake  <eblake@redhat.com>
23328
23329         c-stack: work around libsigsegv 2.8 bug
23330         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
23331         overflow on at least PowerPC64.
23332
23333 2010-10-17  Bruno Haible  <bruno@clisp.org>
23334
23335         userspec: Drop redundant file.
23336         * modules/userspec (Files): Remove lib/inttostr.h.
23337
23338 2010-10-17  Bruno Haible  <bruno@clisp.org>
23339
23340         nl_langinfo tests: Silence some warnings.
23341         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
23342         Reported by Jim Meyering.
23343
23344 2010-10-17  Bruno Haible  <bruno@clisp.org>
23345
23346         Make use of GCC's attribute __alloc_size__.
23347         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
23348         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
23349         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
23350         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
23351         __alloc_size__.
23352         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
23353         Suggested by Jim Meyering.
23354
23355 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
23356
23357         bootstrap: anchor .gitignore entries.
23358         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
23359         with...
23360         (insert_vc_ignore): ... this new function, which prepends `/' to
23361         all .gitignore entries before passing them to
23362         insert_sorted_if_absent.
23363
23364 2010-10-16  Bruno Haible  <bruno@clisp.org>
23365
23366         nextafter: Fix configure check.
23367         * modules/nextafter (configure.ac): Correct expected prototype.
23368
23369 2010-10-16  Bruno Haible  <bruno@clisp.org>
23370
23371         termios: Update documentation.
23372         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
23373
23374 2010-10-16  Bruno Haible  <bruno@clisp.org>
23375
23376         tests: Make them compile with TinyCC.
23377         * tests/test-strstr.c (main): Remove parentheses around array
23378         initializer.
23379
23380 2010-10-15  Eric Blake  <eblake@redhat.com>
23381
23382         ignore-value: make header idempotent
23383         * lib/ignore-value.h: Add double-inclusion guards.
23384         Reported by Stefan Berger.
23385
23386 2010-10-15  Jim Meyering  <meyering@redhat.com>
23387
23388         GNUmakefile: handle "stable" target, not "major"
23389         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
23390         lists in maint.mk and announce-gen.  Without this, "make stable"
23391         would fail to ensure that $(VERSION) is up to date.
23392
23393 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
23394
23395         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
23396         & co.
23397
23398 2010-10-14  Bruno Haible  <bruno@clisp.org>
23399
23400         vasnprintf: Don't set errno to 0.
23401         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
23402         block that sets it to 0.
23403         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23404
23405 2010-10-14  Bruno Haible  <bruno@clisp.org>
23406
23407         socketlib: Fix.
23408         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
23409         gl_PREREQ_SYS_H_WINSOCK2.
23410         Reported by Ian Beckwith <ianb@erislabs.net>.
23411
23412 2010-10-13  Jim Meyering  <meyering@redhat.com>
23413
23414         test-select-stdin.c: avoid warn_unused_result warnings
23415         * tests/test-select-stdin.c: Include "macros.h".
23416         ASSERT that read and fflush succeed.
23417
23418 2010-10-13  Jim Meyering  <meyering@redhat.com>
23419
23420         git-version-gen: do require git-VC'd files in cwd
23421         * build-aux/git-version-gen: Reject a git version string
23422         if there are no commits associated with the current directory.
23423         This avoids an unlikely false-positive (unrelated dir whose parent
23424         repository also contains a tag matching v*), as pointed out
23425         by Giuseppe Scrivano in
23426         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
23427
23428 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
23429
23430         argv-iter: omit nonconforming declaration
23431         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
23432         enum arg_iter_err declaration, which doesn't conform to C99.
23433         Solaris 10 cc warns about this.
23434
23435 2010-10-13  Eric Blake  <eblake@redhat.com>
23436
23437         termios: fix compilation on mingw
23438         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
23439         (gl_TERMIOS_H): Adjust it on mingw.
23440         * modules/termios (Makefile.am): Substitute new key.
23441         * lib/termios.in.h (includes): Make include_next conditional.
23442         * doc/posix-headers/termios.texi (termios.h): Update
23443         documentation.
23444         Reported by Daniel P. Berrange.
23445
23446 2010-10-13  Jim Meyering  <meyering@redhat.com>
23447
23448         git-version-gen: don't require that .git/ be in the current dir
23449         * build-aux/git-version-gen: Adjust this script so that it works
23450         when run from any working directory beneath the top-level .git/-
23451         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23452         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23453
23454         test-select: avoid warn_unused_result warnings
23455         * tests/test-select.c: Include "macros.h".
23456         ASSERT that each call to read, write, and pipe succeeds.
23457         While not technically required, also check each "close".
23458         * modules/select-tests (Files): Add tests/macros.h.
23459
23460         test-symlinkat: remove declaration of unused local
23461         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23462
23463         test-inttostr: avoid shadowing warnings
23464         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23465         and use malloc rather than the stack for the same reason as
23466         mentioned in the comment justifying the other allocation.
23467
23468 2010-10-11  Bruno Haible  <bruno@clisp.org>
23469
23470         stdlib: Allow multiple gnulib generated replacements to coexist.
23471         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23472         Reported by Sam Steingold <sds@gnu.org>.
23473
23474 2010-10-11  Jim Meyering  <meyering@redhat.com>
23475
23476         fix a documentation typo
23477         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23478
23479 2010-10-11  Eric Blake  <eblake@redhat.com>
23480
23481         futimens: work around Solaris 11 bug
23482         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23483         * tests/test-futimens.h (test_futimens): Enhance, rather than
23484         weaken test.
23485         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23486
23487 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23488
23489         Indentation.
23490         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23491         higher-level operators more to the left.
23492
23493 2010-10-11  Jim Meyering  <meyering@redhat.com>
23494
23495         test-futimens: avoid unwarranted test failure on Solaris 5.11
23496         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23497         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23498         because it tries to dereference the NULL name argument.
23499
23500 2010-10-11  Bruno Haible  <bruno@clisp.org>
23501
23502         Indentation.
23503         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23504         indentation.
23505
23506 2010-10-11  Jim Meyering  <meyering@redhat.com>
23507
23508         spawn.in.h: make indentation consistent with parentheses
23509         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23510         Make indentation consistent with parentheses.
23511
23512 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23513
23514         Fix mismatched parens in previous commit
23515         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23516         parens.
23517
23518 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23519
23520         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23521
23522         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23523         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23524         * lib/malloca.c: Include "verify.h".
23525         (verify1): Remove, replacing with a verify call.
23526         * lib/relocwrapper.c (verify1): Likewise.
23527         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23528         Likewise.
23529         * modules/malloca (Depends-on): Add 'verify'.
23530         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23531         * modules/vasnprintf (Depends-on): Add 'verify'.
23532         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23533         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23534         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23535         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23536         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23537         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23538         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23539
23540         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23541
23542         Formerly the style was sometimes 2*X - 1, because the C standard
23543         was wrongly thought to disallow ?: in integral constant expressions.
23544         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23545         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23546         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23547         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23548         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23549         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23550         verify that time_t cannot be floating.
23551
23552 2010-10-08  Eric Blake  <eblake@redhat.com>
23553
23554         time: enforce recent POSIX ruling that time_t is integral
23555         * lib/time.in.h (__time_t_must_be_integral): Detect any
23556         problematic systems, allowing the rest of gnulib to assume POSIX.
23557
23558 2010-10-08  Jim Meyering  <meyering@redhat.com>
23559
23560         fdopendir: fix a bug on systems lacking openat and /proc support
23561         OpenBSD 4.7 is one such system.  The most noticeable effect was
23562         failure of any application making nontrivial use of fts: rm, du,
23563         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23564           ./rm: traversal failed: `a': Bad file descriptor
23565         Debugging that, you see that even though FD 6 was closed just
23566         prior to the opendir call in fd_clone_opendir, its resulting
23567         dir->dd_fd was 8, rather than the expected value of 6:
23568
23569         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23570         93                close (fd);
23571         (gdb) n
23572         94                dir = fd_clone_opendir (dupfd);
23573         (gdb) n
23574         95                saved_errno = errno;
23575         (gdb) p dir->dd_fd
23576         $11 = 8
23577
23578         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23579         The problem is that on OpenBSD, fd_clone_opendir has to resort
23580         to using the old-style save/restore CWD mechanism, due to its
23581         lack of openat/proc support, and *that* would steal the FD (6)
23582         that opendir was supposed to use.
23583
23584         The fix is to squirrel away the desired FD so that save_cwd uses a
23585         different one, and then free the dest FD right before calling opendir.
23586         That guarantees opendir will use the required file descriptor.
23587
23588         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23589
23590 2010-10-08  Bruno Haible  <bruno@clisp.org>
23591
23592         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23593         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23594
23595 2010-10-08  Bruno Haible  <bruno@clisp.org>
23596
23597         nanosleep: Make replacement POSIX compliant.
23598         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23599         is out of range.
23600         Reported by Jim Meyering.
23601
23602 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23603
23604         bootstrap: add hook for altering gnulib.mk, for Bison
23605         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23606         the Bison bootstrapping process can rewrite file names and variables
23607         in this file before later parts of 'bootstrap' use the file.
23608         Bison wants to include lib/gnulib.mk from the top-level makefile,
23609         so it needs the file names in this file to be relative to the top
23610         level, not relative to lib; plus it needs variable names to be
23611         rewritten.
23612         (slurp): Use the new function.
23613
23614         bootstrap: reformat for readability
23615         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23616
23617 2010-10-08  Eric Blake  <eblake@redhat.com>
23618
23619         docs: update cygwin progress
23620         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23621         1.7.7.
23622         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23623         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23624         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23625         * doc/posix-functions/carg.texi (carg): Likewise.
23626         * doc/posix-functions/cargf.texi (cargf): Likewise.
23627         * doc/posix-functions/casin.texi (casin): Likewise.
23628         * doc/posix-functions/casinf.texi (casinf): Likewise.
23629         * doc/posix-functions/casinh.texi (casinh): Likewise.
23630         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23631         * doc/posix-functions/catan.texi (catan): Likewise.
23632         * doc/posix-functions/catanf.texi (catanf): Likewise.
23633         * doc/posix-functions/catanh.texi (catanh): Likewise.
23634         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23635         * doc/posix-functions/ccos.texi (ccos): Likewise.
23636         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23637         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23638         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23639         * doc/posix-functions/cexp.texi (cexp): Likewise.
23640         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23641         * doc/posix-functions/cimag.texi (cimag): Likewise.
23642         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23643         * doc/posix-functions/clog.texi (clog): Likewise.
23644         * doc/posix-functions/clogf.texi (clogf): Likewise.
23645         * doc/posix-functions/conj.texi (conj): Likewise.
23646         * doc/posix-functions/conjf.texi (conjf): Likewise.
23647         * doc/posix-functions/cpow.texi (cpow): Likewise.
23648         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23649         * doc/posix-functions/cproj.texi (cproj): Likewise.
23650         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23651         * doc/posix-functions/creal.texi (creal): Likewise.
23652         * doc/posix-functions/crealf.texi (crealf): Likewise.
23653         * doc/posix-functions/csin.texi (csin): Likewise.
23654         * doc/posix-functions/csinf.texi (csinf): Likewise.
23655         * doc/posix-functions/csinh.texi (csinh): Likewise.
23656         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23657         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23658         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23659         * doc/posix-functions/ctan.texi (ctan): Likewise.
23660         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23661         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23662         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23663         * doc/posix-headers/complex.texi (complex.h): Likewise.
23664
23665 2010-10-07  Jim Meyering  <meyering@redhat.com>
23666
23667         parse-datetime: avoid compilation failure on OpenBSD 4.7
23668         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23669         This works around a compilation failure on OpenBSD 4.7:
23670         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23671
23672 2010-10-07  Eric Blake  <eblake@redhat.com>
23673
23674         docs: update cygwin progress
23675         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23676         1.7.6.
23677         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23678         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23679         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23680         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23681         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23682         Likewise.
23683         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23684         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23685         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23686         Likewise.
23687         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23688         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23689         Likewise.
23690         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23691         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23692         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23693         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23694         Likewise.
23695         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23696         Likewise.
23697         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23698
23699         docs: update parse-datetime history
23700         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23701         documentation of this function's history and alternatives.
23702
23703         cygwin: use more robust version check
23704         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23705         exclude an eventual cygwin 1.9.1.
23706         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23707         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23708         (gl_FUNC_STRCASESTR): Likewise.
23709         Reported by Bruno Haible.
23710
23711 2010-10-06  Bruno Haible  <bruno@clisp.org>
23712
23713         string, sys_select: Avoid #including large headers unless necessary.
23714         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23715         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23716         OSF/1, BeOS, Haiku.
23717         Reported by Jim Meyering.
23718
23719 2010-10-05  Eric Blake  <eblake@redhat.com>
23720
23721         memmem, strstr, strcasestr: fix bug with long periodic needle
23722         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23723         periodic needle having false positive.
23724         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23725         and cygwin 1.7.7.
23726         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23727         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23728         (gl_FUNC_STRCASESTR): Likewise.
23729         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23730         * tests/test-memmem.c (main): Expose the bug.
23731         * tests/test-strcasestr.c (main): Likewise.
23732         * tests/test-strstr.c (main): Likewise.
23733         * tests/test-c-strcasestr.c (main): Likewise.
23734         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23735         * doc/posix-functions/strstr.texi (strstr): Likewise.
23736         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23737         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23738
23739 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23740
23741         parse-datetime: do some more renaming
23742         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23743         parse_datetime, not get_date.  Mention the renaming.
23744         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23745         in comments.
23746         * m4/bison.m4: Likewise.
23747
23748 2010-10-05  Eric Blake  <eblake@redhat.com>
23749
23750         parse-datetime: better name than get_date
23751         * NEWS: Reword the deprecation notice.
23752         * modules/get_date: Rename to modules/parse-datetime.
23753         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23754         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23755         * lib/get_date.y: Rename to lib/parse-datetime.y.
23756         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23757         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23758         * doc/getdate.texi: Provide fallback wrapper.
23759         * lib/getdate.h: Move guts, and wrap...
23760         * lib/parse-datetime.h: ...new file.
23761         * lib/parse-datetime.y (get_date): Rename...
23762         (parse_datetime): ...to this.
23763         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23764         (gl_PARSE_DATETIME): ...to this.
23765         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23766         documentation.
23767         * modules/getdate (Files): Provide fallback docs and header.
23768         (Notice, Depends-on): Update references.
23769         * tests/test-parse-datetime.c: Likewise.
23770         * DEPENDENCIES: Likewise.
23771         * MODULES.html.sh (Date and time <time.h>): Likewise.
23772         * doc/parse-datetime.texi (Date input formats)
23773         (Authors of parse_datetime): Likewise.
23774         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23775         (Include): Likewise.
23776         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23777         * gnulib-tool: Likewise.
23778         * m4/bison.m4 (gl_BISON): Likewise.
23779         Suggested by Bruno Haible.
23780
23781 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23782
23783         more ports to Solaris tr, which needs [] around ranges
23784         * gnulib-tool: Solaris tr needs [] around ranges.
23785         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23786         * tests/test-pipe-filter-gi1.c (main): Likewise.
23787         * tests/test-pipe-filter-ii1.c (main): Likewise.
23788
23789 2010-10-05  Eric Blake  <eblake@redhat.com>
23790
23791         bootstrap: fix Solaris regression
23792         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23793         around ranges.
23794         Reported by Pádraig Brady.
23795
23796         bootstrap: work with pkg-config
23797         * build-aux/bootstrap (check_versions): Also transliterate - in
23798         prerequisite name.
23799         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23800         prerequisites that were already found, to avoid confusion.
23801         Reported by Justin Clift.
23802
23803         faccessat: remove unused wrappers
23804         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23805         presence of these wrappers dragged in -lgen on Solaris.
23806         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23807
23808 2010-10-05  Jim Meyering  <meyering@redhat.com>
23809
23810         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23811         * Makefile (sc_pragma_columns): New syntax-check rule.
23812
23813 2010-10-04  Bruno Haible  <bruno@clisp.org>
23814
23815         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23816         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23817         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23818         Reported by Bruce Korb and Eric Blake.
23819
23820 2010-10-04  Bruno Haible  <bruno@clisp.org>
23821
23822         threadlib: Make option --with-libpth-prefix work.
23823         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23824         use $LIBPTH, not just -lpth.
23825
23826 2010-10-04  Bruno Haible  <bruno@clisp.org>
23827
23828         Avoid line length limitation from HP NonStop system header files.
23829         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23830         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23831         * lib/ctype.in.h: Likewise.
23832         * lib/dirent.in.h: Likewise.
23833         * lib/errno.in.h: Likewise.
23834         * lib/fcntl.in.h: Likewise.
23835         * lib/float.in.h: Likewise.
23836         * lib/getopt.in.h: Likewise.
23837         * lib/iconv.in.h: Likewise.
23838         * lib/inttypes.in.h: Likewise.
23839         * lib/langinfo.in.h: Likewise.
23840         * lib/locale.in.h: Likewise.
23841         * lib/math.in.h: Likewise.
23842         * lib/netdb.in.h: Likewise.
23843         * lib/netinet_in.in.h: Likewise.
23844         * lib/poll.in.h: Likewise.
23845         * lib/pthread.in.h: Likewise.
23846         * lib/pty.in.h: Likewise.
23847         * lib/sched.in.h: Likewise.
23848         * lib/se-selinux.in.h: Likewise.
23849         * lib/search.in.h: Likewise.
23850         * lib/signal.in.h: Likewise.
23851         * lib/spawn.in.h: Likewise.
23852         * lib/stdarg.in.h: Likewise.
23853         * lib/stddef.in.h: Likewise.
23854         * lib/stdint.in.h: Likewise.
23855         * lib/stdio.in.h: Likewise.
23856         * lib/stdlib.in.h: Likewise.
23857         * lib/string.in.h: Likewise.
23858         * lib/strings.in.h: Likewise.
23859         * lib/sys_file.in.h: Likewise.
23860         * lib/sys_ioctl.in.h: Likewise.
23861         * lib/sys_select.in.h: Likewise.
23862         * lib/sys_socket.in.h: Likewise.
23863         * lib/sys_stat.in.h: Likewise.
23864         * lib/sys_time.in.h: Likewise.
23865         * lib/sys_times.in.h: Likewise.
23866         * lib/sys_utsname.in.h: Likewise.
23867         * lib/sys_wait.in.h: Likewise.
23868         * lib/sysexits.in.h: Likewise.
23869         * lib/termios.in.h: Likewise.
23870         * lib/time.in.h: Likewise.
23871         * lib/unistd.in.h: Likewise.
23872         * lib/wchar.in.h: Likewise.
23873         * lib/wctype.in.h: Likewise.
23874         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23875         * modules/ctype (Makefile.am): Likewise.
23876         * modules/dirent (Makefile.am): Likewise.
23877         * modules/errno (Makefile.am): Likewise.
23878         * modules/fcntl-h (Makefile.am): Likewise.
23879         * modules/float (Makefile.am): Likewise.
23880         * modules/getopt-posix (Makefile.am): Likewise.
23881         * modules/iconv-h (Makefile.am): Likewise.
23882         * modules/inttypes (Makefile.am): Likewise.
23883         * modules/langinfo (Makefile.am): Likewise.
23884         * modules/locale (Makefile.am): Likewise.
23885         * modules/math (Makefile.am): Likewise.
23886         * modules/netdb (Makefile.am): Likewise.
23887         * modules/netinet_in (Makefile.am): Likewise.
23888         * modules/poll-h (Makefile.am): Likewise.
23889         * modules/pthread (Makefile.am): Likewise.
23890         * modules/pty (Makefile.am): Likewise.
23891         * modules/sched (Makefile.am): Likewise.
23892         * modules/search (Makefile.am): Likewise.
23893         * modules/selinux-h (Makefile.am): Likewise.
23894         * modules/signal (Makefile.am): Likewise.
23895         * modules/spawn (Makefile.am): Likewise.
23896         * modules/stdarg (Makefile.am): Likewise.
23897         * modules/stddef (Makefile.am): Likewise.
23898         * modules/stdint (Makefile.am): Likewise.
23899         * modules/stdio (Makefile.am): Likewise.
23900         * modules/stdlib (Makefile.am): Likewise.
23901         * modules/string (Makefile.am): Likewise.
23902         * modules/strings (Makefile.am): Likewise.
23903         * modules/sys_file (Makefile.am): Likewise.
23904         * modules/sys_ioctl (Makefile.am): Likewise.
23905         * modules/sys_select (Makefile.am): Likewise.
23906         * modules/sys_socket (Makefile.am): Likewise.
23907         * modules/sys_stat (Makefile.am): Likewise.
23908         * modules/sys_time (Makefile.am): Likewise.
23909         * modules/sys_times (Makefile.am): Likewise.
23910         * modules/sys_utsname (Makefile.am): Likewise.
23911         * modules/sys_wait (Makefile.am): Likewise.
23912         * modules/sysexits (Makefile.am): Likewise.
23913         * modules/termios (Makefile.am): Likewise.
23914         * modules/time (Makefile.am): Likewise.
23915         * modules/unistd (Makefile.am): Likewise.
23916         * modules/wchar (Makefile.am): Likewise.
23917         * modules/wctype (Makefile.am): Likewise.
23918
23919 2010-10-04  Bruno Haible  <bruno@clisp.org>
23920
23921         read-file tests: Avoid a test failure on NonStop Kernel.
23922         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23923         a regular file.
23924         Reported by Joachim Schmitz <schmitz@hp.com>.
23925
23926 2010-10-03  Bruno Haible  <bruno@clisp.org>
23927
23928         gnulib-tool: Fixes for --create-testdir with --libtool.
23929         * gnulib-tool (func_get_automake_snippet): Don't augment
23930         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23931         an executable.
23932         (func_create_testdir): Handle module 'alloca' like func_import.
23933         Reported by Bruce Korb <bruce.korb@gmail.com>.
23934
23935 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23936
23937         Avoid some lines longer than 80 characters.
23938         * lib/stdint.in.h: Break long comment lines.
23939         * lib/math.in.h: Likewise.
23940         (_GL_NUM_UINT_WORDS): New macro, for readability.
23941         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23942         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23943         * lib/stdlib.in.h: Likewise.
23944         * lib/spawn.in.h: Likewise.
23945         * lib/sys_socket.in.h: Update an URL.
23946         * lib/sys_stat.in.h: Break long line.
23947
23948 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23949
23950         Improve pmccabe2html.
23951         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23952         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23953         when the sources change. Remove the line in the HTML about "Used
23954         ranges" (which implied that there might be other unused ranges),
23955         rename "Resume" to "Summary" (easier to understand for more users).
23956         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23957         styles, and some unnecessary blank lines.
23958
23959 2010-10-03  Bruno Haible  <bruno@clisp.org>
23960             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23961
23962         acl: Add support for ACLs on NonStop Kernel.
23963         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23964         Check whether the function aclsort() exists.
23965         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23966         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23967         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23968         (acl_nontrivial [HAVE_ACLSORT]: New function.
23969         (file_has_acl): Implement for NonStop Kernel.
23970         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23971         (qset_acl): Implement for NonStop Kernel.
23972         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23973         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23974         (main): Implement for NonStop Kernel.
23975         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23976         Kernel. Handle this flavor.
23977         * tests/test-set-mode-acl.sh: Likewise.
23978         * tests/test-copy-acl.sh: Likewise.
23979         * tests/test-copy-file.sh: Likewise.
23980
23981 2010-10-03  Bruno Haible  <bruno@clisp.org>
23982
23983         Info about ACLs on NonStop Kernel.
23984         * doc/acl-resources.txt: Add info about NonStop Kernel.
23985         References by Joachim Schmitz <schmitz@hp.com>.
23986
23987 2010-10-02  Bruno Haible  <bruno@clisp.org>
23988
23989         Define missing EDQUOT on NonStop Kernel.
23990         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23991         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23992         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23993         missing.
23994         * doc/posix-headers/errno.texi: Mention the NSK bug.
23995         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23996         Reported by Joachim Schmitz <schmitz@hp.com>.
23997
23998 2010-10-02  Bruno Haible  <bruno@clisp.org>
23999
24000         Update doc for POSIX:2008.
24001         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
24002         Update URL of POSIX specification.
24003
24004 2010-10-02  Bruno Haible  <bruno@clisp.org>
24005
24006         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
24007         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
24008         from gnulib, not from Automake.
24009
24010 2010-10-02  Bruno Haible  <bruno@clisp.org>
24011
24012         New module 'system-posix'.
24013         * modules/system-posix: New file.
24014         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
24015         module is present.
24016         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24017         GNULIB_SYSTEM_POSIX.
24018         * modules/stdlib (Depends-on): Remove sys_wait.
24019         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
24020         * doc/posix-functions/system.texi: Mention the new module.
24021         * doc/posix-headers/stdlib.texi: Likewise.
24022         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
24023         define test_sys_wait_macros to a no-op.
24024         Reported by Sam Steingold <sds@gnu.org>.
24025
24026 2010-09-30  Bruno Haible  <bruno@clisp.org>
24027
24028         More renaming from 'getdate' to 'get_date'.
24029         * doc/get_date.texi: Renamed from doc/getdate.texi.
24030         * modules/get_date (Files): Update.
24031         * MODULES.html.sh (Date and time <time.h>): Update.
24032         * DEPENDENCIES: Update.
24033         * gnulib-tool: Update comment.
24034         * m4/bison.m4 (gl_BISON): Likewise.
24035         * m4/get_date.m4 (gl_GET_DATE): Likewise.
24036
24037 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
24038
24039         bootstrap: support ACLOCAL_FLAGS during aclocal
24040         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
24041         can add additional -I dir for third-party .m4 files.
24042
24043 2010-09-30  Eric Blake  <eblake@redhat.com>
24044
24045         bootstrap: use glibtoolize on MacOS
24046         * build-aux/bootstrap (check_versions): Convert libtool into
24047         libtoolize.
24048         (tool search): Move libtool check earlier, and look for
24049         glibtoolize for MacOS.
24050         (gnulib_tool_options): Auto-add --libtool when appropriate.
24051         Reported by Justin Clift.
24052
24053         poll: fix typo that broke test on MacOS
24054         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
24055         Reported by Justin Clift.
24056
24057         getdate: rename to get_date
24058         Note: getdate.h is not renamed, to minimize client impact.
24059         * modules/getdate: Mark obsolete.  Move old contents...
24060         * modules/get_date: ...to new module name.
24061         * modules/getdate-tests: Move...
24062         * modules/get_date-tests: ...here.
24063         * m4/getdate.m4: Move...
24064         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
24065         * lib/getdate.y: Move...
24066         * lib/get_date.y: ...here.
24067         * tests/test-getdate.c: Move...
24068         * tests/test-get_date.c: ...here.
24069         * doc/posix-functions/getdate.texi (getdate): Update name.
24070         * NEWS: Mention the change.
24071
24072 2010-09-29  Bruno Haible  <bruno@clisp.org>
24073
24074         Separate the module 'waitpid' from the module 'sys_wait'.
24075         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
24076         present.
24077         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
24078         gl_MODULE_INDICATOR_FOR_TESTS.
24079         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
24080         * modules/sys_wait (Depends-on): Remove waitpid.
24081         (Makefile.am): Substitute GNULIB_WAITPID.
24082         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
24083         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
24084         signature only if the 'waitpid' module is present.
24085         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
24086         * NEWS: Mention the change.
24087         * modules/grantpt (Depends-on): Add waitpid.
24088         * modules/wait-process (Depends-on): Likewise.
24089
24090 2010-09-29  Bruno Haible  <bruno@clisp.org>
24091
24092         More tests for module 'sys_wait'.
24093         * modules/sys_wait-c++-tests: New file.
24094         * tests/test-sys_wait-c++.cc: New file.
24095         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
24096         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24097
24098 2010-09-29  Bruno Haible  <bruno@clisp.org>
24099
24100         New module 'waitpid'.
24101         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
24102         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
24103         Don't include <process.h>.
24104         (waitpid): Declare only, using modern idiom.
24105         * m4/waitpid.m4: New file.
24106         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
24107         * modules/waitpid: New file.
24108         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
24109         (Makefile.am): Update.
24110         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
24111
24112 2010-09-28  Bruno Haible  <bruno@clisp.org>
24113
24114         poll: Assume ANSI C.
24115         * lib/poll.c (poll): Use an ANSI C declaration.
24116
24117 2010-09-28  Bruno Haible  <bruno@clisp.org>
24118
24119         poll-h: Create poll.h on all platforms.
24120         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
24121         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
24122         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
24123         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
24124         (gl_REPLACE_POLL_H): Don't set POLL_H.
24125         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
24126         * modules/poll-h (Depends-on): Add include_next.
24127         (Makefile.am): Create poll.h unconditionally. Substitute also
24128         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
24129
24130 2010-09-28  Bruno Haible  <bruno@clisp.org>
24131
24132         Tests for module 'poll-h'.
24133         * modules/poll-h-c++-tests: New file.
24134         * tests/test-poll-h-c++.cc: New file.
24135
24136         Tests for module 'poll-h'.
24137         * modules/poll-h-tests: New file.
24138         * tests/test-poll-h.c: New file.
24139
24140 2010-09-28  Bruno Haible  <bruno@clisp.org>
24141
24142         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
24143         * modules/poll-h (Depends-on): Add 'extensions'.
24144
24145 2010-09-28  Bruno Haible  <bruno@clisp.org>
24146
24147         New module 'poll-h'.
24148         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
24149         (poll): Use modern idiom.
24150         * modules/poll-h: New file.
24151         * modules/poll (Files): Remove lib/poll.in.h.
24152         (Depends-on): Add poll-h.
24153         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
24154         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
24155         * m4/poll_h.m4: New file.
24156         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
24157         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
24158         and invoke gl_REPLACE_POLL_H.
24159         * lib/poll.c: Use common idiom.
24160         * tests/test-poll.c: Likewise.
24161         * doc/posix-headers/poll.texi: Mention the poll-h module.
24162         Suggested by Eric Blake.
24163
24164 2010-09-26  Bruno Haible  <bruno@clisp.org>
24165
24166         sys_wait: Implement WSTOPSIG.
24167         * lib/sys_wait.in.h (WSTOPSIG): New macro.
24168         Reported by Simon Josefsson.
24169
24170 2010-09-26  Simon Josefsson  <simon@josefsson.org>
24171
24172         stdlib, sys_wait: Avoid compilation error on mingw.
24173         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
24174
24175 2010-09-26  Bruno Haible  <bruno@clisp.org>
24176
24177         stdlib tests: Avoid code duplication.
24178         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
24179         * modules/sys_wait-tests (Files): Likewise.
24180         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
24181         * tests/test-stdlib.c: Include test-sys_wait.h.
24182         (main): Invoke test_sys_wait_macros.
24183         * tests/test-sys_wait.c: Include test-sys_wait.h.
24184         (main): Invoke test_sys_wait_macros.
24185
24186 2010-09-25  Simon Josefsson  <simon@josefsson.org>
24187
24188         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
24189         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
24190         sure Windows sockets are working before calling getaddrinfo.
24191         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
24192         * doc/gnulib.texi (Windows sockets): Fix typo.
24193
24194 2010-09-25  Bruno Haible  <bruno@clisp.org>
24195
24196         Tests for module 'regex-quote'.
24197         * modules/regex-quote-tests: New file.
24198         * tests/test-regex-quote.c: New file.
24199
24200         New module 'regex-quote'.
24201         * lib/regex-quote.h: New file.
24202         * lib/regex-quote.c: New file.
24203         * modules/regex-quote: New file.
24204         Suggested by Reuben Thomas <rrt@sc3d.org>.
24205
24206 2010-09-24  Bruno Haible  <bruno@clisp.org>
24207
24208         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
24209         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
24210
24211 2010-09-23  Bruno Haible  <bruno@clisp.org>
24212
24213         setenv: Relax license.
24214         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
24215         Blake.
24216         Requested by Eric Blake.
24217
24218 2010-09-22  Bruno Haible  <bruno@clisp.org>
24219
24220         termios: Relax license.
24221         * modules/termios (License): Change to LGPLv2+.
24222         Requested by Eric Blake.
24223
24224 2010-09-22  Bruno Haible  <bruno@clisp.org>
24225
24226         threadlib: Allow the package to change the default to 'no'.
24227         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
24228         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
24229         Reported by Paul Eggert.
24230
24231 2010-09-22  Pádraig Brady  <P@draigbrady.com>
24232             Bruno Haible  <bruno@clisp.org>
24233
24234         Fix endless loop in mbmemcasecoll.
24235         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
24236         byte.
24237         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
24238
24239 2010-09-22  Bruno Haible  <bruno@clisp.org>
24240
24241         Tests for module 'memcoll'.
24242         * modules/memcoll-tests: New file.
24243         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
24244
24245         memcoll, xmemcoll: Clarify size vs. length.
24246         * modules/memcoll.c (memcoll0): Clarify specification.
24247         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
24248         passed to collate_error.
24249
24250 2010-09-22  Bruno Haible  <bruno@clisp.org>
24251
24252         Tests for module 'memcasecmp'.
24253         * modules/memcasecmp-tests: New file.
24254         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
24255
24256 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
24257
24258         * lib/pthread.in.h: Add split double-inclusion guard, and include
24259         system <pthread.h> if there is one.  Use @@-style as in other
24260         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
24261         pthread.h doesn't.
24262         (pthread_mutexattr_destroy, pthread_mutexattr_init):
24263         (pthread_mutexattr_settype, pthread_mutex_trylock):
24264         New static inline functions, if there's no system <pthread.h>.
24265         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
24266         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
24267         Approximate with mutexes if the system lacks spinlocks, as in
24268         MacOS.
24269         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
24270         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
24271         @@-style.  Check for spinlocks separately.
24272         (gl_PTHREAD_DEFAULTS): New macro.
24273         * modules/pthread: Redo to use a more typical style for in.h files.
24274
24275 2010-09-21  Eric Blake  <eblake@redhat.com>
24276
24277         net_if: enhance tests
24278         * tests/test-net_if.c (main): Move signature checks earlier.
24279         Print failures to stderr.
24280         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
24281         Document the bug that we do not yet fix.
24282
24283 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24284
24285         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
24286         about gnulib, not GSS.
24287
24288 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
24289
24290         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
24291         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
24292         for Emacs.
24293         * build-aux/pmccabe2html: Make Makefile.am example code more
24294         cut-and-paste friendly.
24295
24296 2010-09-21  Simon Josefsson  <simon@josefsson.org>
24297
24298         * tests/test-net_if.c: New file.
24299         * modules/net_if-tests: New file.
24300
24301 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
24302
24303         pthread: add pthread_spin_destroy
24304         * lib/pthread.in.h (pthread_spin_destroy): New function.
24305
24306 2010-09-19  Bruno Haible  <bruno@clisp.org>
24307
24308         gnulib-tool: Fix --help output.
24309         * gnulib-tool (func_usage): Fix help message.
24310         Reported by Reuben Thomas <rrt@sc3d.org>.
24311
24312 2010-09-18  Jim Meyering  <meyering@redhat.com>
24313
24314         maint.mk: avoid unexpanded \n in two diagnostics
24315         * top/maint.mk (sc_prohibit_always_true_header_tests):
24316         Don't use a literal \n in a halt=... assignment.  It would not be
24317         expanded, and the two \n bytes would appear in the diagnostic output
24318         rather than the desired newline.  Use halt=$$(printf ... instead.
24319         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
24320
24321 2010-09-18  Bruno Haible  <bruno@clisp.org>
24322
24323         netinet_in: Doc tweak.
24324         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
24325         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24326
24327 2010-09-18  Jim Meyering  <meyering@redhat.com>
24328
24329         init.sh: correct an outdated comment
24330         * tests/init.sh (create_exe_shims_):  s/function/alias/
24331
24332         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
24333         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
24334         a file named "*.exe" is removed between the glob expansion and the
24335         processing of that oddly named file.
24336
24337 2010-09-17  Eric Blake  <eblake@redhat.com>
24338
24339         mirbsd: add some more support
24340         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
24341         in BSD family.
24342         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
24343         devices as OpenBSD.
24344         * m4/host-os.m4 (mirbsd): Add MirBSD.
24345
24346         tests: fix unportable assumption on sys/wait.h
24347         * tests/test-sys_wait.c (main): Relax test.
24348         * tests/test-stdlib.c (main): Likewise.
24349
24350         init.sh: accomodate directory with no .exes
24351         * tests/init.sh: Accomodate directory containing only scripts.
24352
24353         tests: avoid compiler warning
24354         * tests/test-stdlib.c (main): Use the variable.
24355
24356         fdutimens, fdutimensat: update signature, again
24357         * lib/utimens.h (gl_futimens): Delete, and move signature...
24358         (fdutimens): ...here.
24359         (fdutimensat): Rearrange signature.
24360         (lutimensat): Rename variable for clarity.
24361         * lib/fdutimensat.c (fdutimensat): Update signature.
24362         * lib/utimens.c (fdutimens): Likewise.
24363         (gl_futimens): Delete.
24364         (utimens, lutimens): Update callers.
24365         * lib/futimens.c (futimens): Likewise.
24366         * tests/test-fdutimensat.c: Likewise.
24367         * tests/test-utimens.c: Likewise.
24368         * tests/test-futimens.h: Update comment.
24369         * NEWS: Mention this.
24370         Suggested by Paul Eggert.
24371
24372 2010-09-17  Bruno Haible  <bruno@clisp.org>
24373
24374         Take over the maintenance of some older macros from Autoconf.
24375         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
24376         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
24377         GNU Autoconf.
24378         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
24379         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
24380
24381 2010-09-17  Eric Blake  <eblake@redhat.com>
24382
24383         fdutimensat: drop atflag validation
24384         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
24385         with valid fd, to close a race scenario where futimens is
24386         unsupported and FILE was replaced by a symlink.
24387         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
24388         accordingly.
24389         Suggested by Paul Eggert.
24390
24391 2010-09-16  Bruno Haible  <bruno@clisp.org>
24392
24393         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
24394         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
24395
24396 2010-09-16  Bruno Haible  <bruno@clisp.org>
24397
24398         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
24399         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
24400         login_tty exists.
24401         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24402
24403 2010-09-16  Bruno Haible  <bruno@clisp.org>
24404
24405         login_tty: Make the replacement code work on BSD systems.
24406         * lib/login_tty.c: Include <sys/ioctl.h>.
24407         (login_tty): Use ioctl TIOCSCTTY when available.
24408         * modules/login_tty (Depends-on): Add sys_ioctl.
24409         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24410
24411 2010-09-16  Bruno Haible  <bruno@clisp.org>
24412
24413         login_tty: Stricter unit test.
24414         * modules/login_tty-tests (Depends-on): Add tcgetsid.
24415         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
24416         and tcgetsid() after login_tty.
24417         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24418
24419 2010-09-16  Bruno Haible  <bruno@clisp.org>
24420
24421         New module 'tcgetsid'.
24422         * lib/tcgetsid.c: New file.
24423         * m4/tcgetsid.m4: New file.
24424         * modules/tcgetsid: New file.
24425         * modules/termios (Depends-on): Add c++defs, warn-on-use.
24426         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
24427         GNULIB_TCGETSID, HAVE_TCGETSID.
24428         * lib/termios.in.h: Include <sys/types.h>.
24429         (tcgetsid): New declaration.
24430         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
24431         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
24432         * doc/posix-functions/tcgetsid.texi: Mention the new module.
24433         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
24434
24435 2010-09-16  Bruno Haible  <bruno@clisp.org>
24436
24437         Tests for module 'termios'.
24438         * modules/termios-c++-tests: New file.
24439         * modules/termios-tests: New file.
24440         * tests/test-termios-c++.cc: New file.
24441         * tests/test-termios.c: New file.
24442
24443         New module 'termios'.
24444         * modules/termios: New file.
24445         * lib/termios.in.h: New file.
24446         * m4/termios_h.m4: New file.
24447         * doc/posix-headers/termios.texi: Mention the new module.
24448
24449 2010-09-16  Eric Blake  <eblake@redhat.com>
24450
24451         fdutimensat: add an atflag parameter
24452         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24453         * lib/utimens.h (fdutimensat): Update prototype.
24454         * tests/test-fdutimensat.c: Adjust test to match.
24455         * NEWS: Document the change.
24456         Suggested by Paul Eggert.
24457
24458 2010-09-16  Bruno Haible  <bruno@clisp.org>
24459
24460         Fix typos in comments.
24461         * lib/striconveh.h: Fix typo in comment.
24462         * lib/login_tty.c (login_tty): Likewise.
24463
24464 2010-09-15  Bruno Haible  <bruno@clisp.org>
24465
24466         stdlib: clarify MirBSD WEXITSTATUS bug
24467         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24468         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24469
24470 2010-09-15  Eric Blake  <eblake@redhat.com>
24471
24472         stdlib: work around MirBSD WEXITSTATUS bug
24473         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24474         * modules/stdlib (Depends-on): Add sys_wait.
24475         * tests/test-sys_wait.c (main): Enhance test.
24476         * tests/test-stdlib.c (main): Likewise.
24477         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24478
24479         docs: mention MacOS issue with WEXITSTATUS(constant)
24480         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24481         issue.
24482         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24483
24484         strnlen: add tests
24485         * modules/strnlen-tests: New file.
24486         * tests/test-strnlen.c: Likewise.
24487
24488 2010-09-14  Bruno Haible  <bruno@clisp.org>
24489
24490         unistr/base: Avoid link errors when module 'libunistring' is also used.
24491         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24492         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24493         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24494         Declare also when HAVE_LIBUNISTRING is set.
24495         Reported by Pádraig Brady <P@draigbrady.com>.
24496
24497 2010-09-14  Eric Blake  <eblake@redhat.com>
24498
24499         test-rawmemchr: make more robust
24500         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24501         (Depends-on, configure.ac): Add needed prerequisites to use it.
24502         * modules/memchr-tests (Files, Depends-on, configure.ac):
24503         Likewise, to avoid implicit reliance on memchr module prereqs.
24504         * tests/test-memchr.c (main): Ensure proper masking.
24505         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24506         reads.
24507
24508         memchr: detect glibc Alpha bug
24509         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24510         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24511         Alpha.
24512         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24513         * tests/test-memchr.c (main): Enhance test.
24514         Reported by Nelson H. F. Beebe.
24515
24516 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24517
24518         fts, getcwd, glob: audit for dirfd returning -1
24519         * lib/fts.c (opendir): Remove #define; no longer used.
24520         (opendirat): New arg PDIR_FD.  All callers changed.
24521         (fts_build, _opendir2): Use new opendirat to avoid the need for
24522         dirfd, or for checking whether dirfd returns a negative value.
24523         Don't use opendir; always use openat followed by fdopendir.
24524         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24525         it.
24526         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24527         returns -1 here.
24528         * modules/fts (Depends-on): Remove dirfd.
24529         * modules/getcwd (Depends-on): Likewise.
24530
24531 2010-09-13  Eric Blake  <eblake@redhat.com>
24532
24533         float: fix broken MirBSD header
24534         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24535         * doc/posix-headers/float.texi (float.h): Document it.
24536
24537 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24538
24539         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24540         * lib/fts.c (opendirat): New arg extra_flags.
24541         (__opendir2): Use it to avoid following symlinks when opening
24542         a directory, if symlinks are not supposed to be followed.  See
24543         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24544
24545         fdopendir: preserve argument fd before returning
24546         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24547         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24548         (fdopendir): Use them, arranging for FD to be open to the same
24549         directory that it was when it started.  (It might be temporarily
24550         closed while fdopendir is running, so this not thread- or
24551         signal-safe.)  Be careful to do the right thing even when file
24552         descriptors are scarce and dup fails with errno == EMFILE.  See
24553         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24554
24555 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24556
24557         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24558         * NEWS: Document change.
24559         * m4/regex.m4: Disable test for regoff_t size.
24560
24561 2010-09-13  Jim Meyering  <meyering@redhat.com>
24562
24563         fts: don't operate on an invalid file descriptor after failed dup
24564         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24565         negative file descriptor.
24566
24567 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24568
24569         savedir: add streamsavedir, deprecate fdsavedir
24570         * NEWS: Mention deprecation of fdsavedir.
24571         * lib/savedir.c (streamsavedir): New extern function, whose name
24572         ends in "savedir" to be consistent with the others.  This differs
24573         from savedirstream in that it doesn't close its argument.  The
24574         next version of GNU tar will use this instead of fdsavedir, to
24575         avoid some race conditions and conserve file descriptors.
24576         (savedirstream): Reimplement as a wrapper around streamsavedir.
24577         (fdsavedir): Add a comment deprecating this function.  As far as
24578         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24579         * lib/savedir.h (streamsavedir): New decl.
24580         (fdsavedir): Add a comment deprecating this.
24581
24582 2010-09-10  Bruno Haible  <bruno@clisp.org>
24583
24584         langinfo: Fix last commit.
24585         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24586         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24588
24589 2010-09-10  Bruno Haible  <bruno@clisp.org>
24590
24591         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24592         * lib/progreloc.c (O_EXEC): Define fallback.
24593
24594 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24595
24596         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24597         * NEWS: Document recent changes to fcntl-h.
24598         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24599         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24600         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24601         Similarly for O_SEARCH; this last was already true, but not documented.
24602         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24603         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24604         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24605         Likewise.
24606         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24607         is zero, not whether it is defined.
24608         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24609         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24610         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24611
24612 2010-09-10  Bruno Haible  <bruno@clisp.org>
24613
24614         langinfo, nl_langinfo: Fix for IRIX 5.3.
24615         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24616         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24617         HAVE_LANGINFO_YESEXPR.
24618         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24619         HAVE_LANGINFO_YESEXPR.
24620         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24621         HAVE_LANGINFO_T_FMT_AMPM is 0.
24622         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24623         HAVE_LANGINFO_YESEXPR is 0.
24624         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24625         NOEXPR.
24626         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24627         * doc/posix-functions/nl_langinfo.texi: Likewise.
24628         Reported by Eric Blake.
24629
24630 2010-09-10  Bruno Haible  <bruno@clisp.org>
24631
24632         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24633         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24634         on FreeBSD 8.0 and OpenBSD 4.6.
24635         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24636         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24637         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24638         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24639         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24640         ac_includes_default.
24641         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24642
24643 2010-09-09  Eric Blake  <eblake@redhat.com>
24644
24645         strsignal: work around NetBSD bug
24646         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24647         * lib/string.in.h (includes): Likewise.
24648         * doc/posix-functions/strsignal.texi (strsignal): Document the
24649         bug.
24650         Reported by Nelson H. F. Beebe.
24651
24652         gnulib-tool: work with NetBSD /bin/sh
24653         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24654         (func_get_description, func_get_comment, func_get_status)
24655         (func_get_notice, func_get_applicability, func_get_filelist)
24656         (func_get_dependencies, func_get_autoconf_early_snippet)
24657         (func_get_autoconf_snippet, func_get_automake_snippet)
24658         (func_get_include_directive, func_get_link_directive)
24659         (func_get_license, func_get_maintainer, func_import): Avoid
24660         shell syntax errors from parsing syntax extensions.
24661
24662 2010-09-09  Bruno Haible  <bruno@clisp.org>
24663
24664         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24665         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24666         a reliable way to determine whether the 'alias' command works.
24667
24668 2010-09-08  Jim Meyering  <meyering@redhat.com>
24669
24670         init.sh: penalize a set-x-impaired shell; don't disqualify it
24671         * tests/init.sh: Too many shells corrupt application stderr when
24672         you set -x, so we can't afford to disqualify them, since at least
24673         on Irix-6.5, that would disqualify all bourne shells.
24674         Instead, use a two-pass approach.
24675         On the first pass, try to find a shell that meets the stricter
24676         condition that set -x does not corrupt stderr.
24677         If no shell meets the stricter condition, retest each candidate
24678         shell, but without that extra condition.  Finally, when
24679         VERBOSE=yes is requested and set -x might cause trouble, simply
24680         issue a warning and refrain from enabling debug output.
24681
24682 2010-09-08  Eric Blake  <eblake@redhat.com>
24683
24684         unsetenv: fix OpenBSD bug
24685         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24686         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24687         documentation.
24688         Reported by Jim Meyering.
24689
24690         strtod: work around IRIX 6.5 bug
24691         * lib/strtod.c (strtod): Reparse number on shorter string if
24692         exponent parse was invalid.
24693         * tests/test-strtod.c (main): Add check for "0x1p 2".
24694         Reported by Tom G. Christensen.
24695
24696         getopt: optimize previous patch
24697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24698         empty variable.  Speed up awk script.
24699         Reported by Paolo Bonzini.
24700
24701 2010-09-08  Jim Meyering  <meyering@redhat.com>
24702
24703         test.sh: disqualify shells for which set -x corrupts stderr
24704         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24705         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24706         appear in stderr output.  For example, this command:
24707             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24708         prints "P=1" on those two systems:
24709
24710 2010-09-08  Bruno Haible  <bruno@clisp.org>
24711
24712         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24713         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24714         commands, because some shells ignore redirections when there is an
24715         error in the command lookup.
24716         Reported by Eric Blake.
24717
24718 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24719
24720         * lib/regex.h: Fix a mention of `regex_compile' (should be
24721         `re_compile_pattern').
24722         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24723         (re_set_registers): Correct name of parameter in comment.
24724
24725         * doc/regex.texi: Add documentation for missing syntax flags.
24726         Remove commented-out documentation of defunct syntax option
24727         RE_NO_EMPTY_ALTS.
24728         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24729         Add documentation of re_set_registers.
24730         Document trick to re-use a pattern buffer by setting fastmap manually.
24731         Update documentation of struct re_pattern_buffer per public members.
24732         Uncomment documentation of equivalence class operators and
24733         collating symbol operators, since they are now implemented,
24734         Explain leftmost-longest matching in relation to alternatives.
24735         Tidy documentation of substring matching.
24736         Remove POSIX documentation, which is done better in
24737         glibc, and refer the reader there. Keep BSD API documentation, as
24738         that is not readily available elsewhere.
24739
24740 2010-09-07  Eric Blake  <eblake@redhat.com>
24741
24742         getopt: handle POSIXLY_CORRECT set but not exported
24743         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24744         export state of POSIXLY_CORRECT, due to bash set -o posix.
24745         Reported by Dustin J. Mitchell.
24746
24747 2010-09-05  Bruno Haible  <bruno@clisp.org>
24748
24749         gnulib-tool: Highlight the changed options.
24750         * gnulib-tool (func_usage): Display the --import, --add-import,
24751         --remove-import explanations in bold font.
24752
24753 2010-09-06  Karl Berry  <karl@gnu.org>
24754
24755         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24756
24757 2010-09-05  Bruno Haible  <bruno@clisp.org>
24758
24759         uniwidth/width: Update comment.
24760         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24761         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24762
24763 2010-09-05  Bruno Haible  <bruno@clisp.org>
24764
24765         isinf, isnan: Relax license.
24766         * modules/isinf (License): Change from GPL to LGPL, with consent from
24767         Ben Pfaff.
24768         * modules/isnan (License): Likewise.
24769         Requested by Ludovic Courtès.
24770
24771 2010-09-04  Bruno Haible  <bruno@clisp.org>
24772
24773         gnulib-tool: Help migration from --import to --add-import or --update.
24774         * gnulib-tool: Emit a verbose error message when --import is used
24775         without any module name.
24776
24777 2010-09-04  Bruno Haible  <bruno@clisp.org>
24778
24779         Update doc about gnulib-tool.
24780         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24781         'gnulib-tool --update' in more detail.
24782         Reported by Eric Blake.
24783
24784 2010-09-04  Bruno Haible  <bruno@clisp.org>
24785
24786         gnulib-tool: Change --import. New options --add/remove-import.
24787         * gnulib-tool: New options --add-import, --remove-import.
24788         (func_usage): Document them.
24789         (have_associative): Define always.
24790         (func_import): In import mode, don't merge the specified settings with
24791         the cached settings. Implement remove-import mode.
24792         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24793         Explain when to use them versus --import.
24794         (Simple update): Use --add-import instead of --import.
24795         * NEWS: Mention the change.
24796
24797 2010-09-04  Bruno Haible  <bruno@clisp.org>
24798
24799         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24800         separate gnulib.mk.
24801
24802 2010-09-04  Bruno Haible  <bruno@clisp.org>
24803
24804         gnulib-tool: Don't talk about CVS any more.
24805         * gnulib-tool (func_usage, func_import): Write "version control"
24806         instead of CVS.
24807
24808 2010-09-04  Jim Meyering  <meyering@redhat.com>
24809
24810         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24811         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24812         false positives (whose names may be ill-chosen) when searching
24813         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24814         would cause a false-positive.
24815
24816         avoid coreutils "make distcheck" failure
24817         Coreutils tests with an absolute build directory name that contains
24818         a space.  Not quoting this directory name caused a failure.
24819         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24820         * tests/test-vc-list-files-cvs.sh: Likewise.
24821
24822 2010-09-04  Bruno Haible  <bruno@clisp.org>
24823
24824         gnulib-tool: Avoid error when run in a package without Makefile.am.
24825         * gnulib-tool: When collecting the m4dirs in a package that does not
24826         have a Makefile.am, eliminate those directories that contain no
24827         gnulib-cache.m4. Fix expression that counts these directories.
24828
24829 2010-09-04  Bruno Haible  <bruno@clisp.org>
24830
24831         update-copyright test: Improve output when perl is missing or too old.
24832         * tests/test-update-copyright.sh: Move test of Perl version down after
24833         the test whether Perl exists. Provide an explanation relating Perl's
24834         error message to Automake's SKIP: message.
24835
24836 2010-09-04  Bruno Haible  <bruno@clisp.org>
24837
24838         Don't augment PATH in TESTS_ENVIRONMENT.
24839         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24840         set abs_aux_dir instead of augmenting PATH.
24841         * modules/vc-list-files-tests (Makefile.am): Likewise.
24842         * tests/test-update-copyright.sh: Augment PATH here.
24843         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24844         path_prepend_.
24845         * tests/test-vc-list-files-git.sh: Likewise.
24846
24847 2010-09-04  Jim Meyering  <meyering@redhat.com>
24848
24849         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24850         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24851
24852 2010-09-04  Bruno Haible  <bruno@clisp.org>
24853
24854         strdup: Fix compilation error in C++ mode.
24855         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24856         the macro.
24857
24858 2010-09-04  Bruno Haible  <bruno@clisp.org>
24859
24860         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24861         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24862         macro into a function.
24863         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24864
24865 2010-09-04  Bruno Haible  <bruno@clisp.org>
24866
24867         Set PATH_SEPARATOR the same way autoconf does.
24868         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24869         the value of PATH_SEPARATOR the same way autoconf-generated configure
24870         scripts do.
24871         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24872         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24873
24874 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24875
24876         Set PATH_SEPARATOR the same way autoconf does.
24877         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24878         the same way autoconf-generated configure scripts do.
24879         * posix-modules: Likewise.
24880
24881 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24882
24883         hash: fix safe_hasher const typo
24884         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24885         const; otherwise, there is a type error later.
24886
24887 2010-09-02  Jim Meyering  <meyering@redhat.com>
24888
24889         test-update-copyright.sh: require perl 5.8.0
24890         * tests/test-update-copyright.sh: Require 5.8.0,
24891         which Tom G. Christensen has confirmed is adequate,
24892         while 5.6.1 is not.
24893
24894 2010-09-02  Eric Blake  <eblake@redhat.com>
24895
24896         tests: init.sh improvements for re-exec'ing with zsh
24897         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24898         -vx through shell re-exec.
24899         Reported by Tom G. Christensen.
24900
24901         wctype: fix typo in previous commit
24902         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24903         Reported by Ludovic Courtès.
24904
24905 2010-09-02  Jim Meyering  <meyering@redhat.com>
24906
24907         test-update-copyright.sh: skip test if Perl is too old
24908         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24909         Reported by Tom G. Christensen.
24910
24911 2010-09-02  Bruno Haible  <bruno@clisp.org>
24912
24913         wctype: Avoid compilation error on IRIX 6.5.30.
24914         * lib/wctype.in.h (iswblank): Declare with a replacement if
24915         REPLACE_ISWBLANK is set.
24916         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24917         declared. Set REPLACE_ISWBLANK.
24918         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24919         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24920         * doc/posix-headers/wctype.texi: Likewise.
24921         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24922
24923 2010-09-01  Bruno Haible  <bruno@clisp.org>
24924
24925         New module 'socketlib'.
24926         * modules/socketlib: New file.
24927         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24928         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24929         * modules/sockets (Depends-on): Add socketlib.
24930         Suggested by Sam Steingold <sds@gnu.org>.
24931
24932 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24933
24934         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24935
24936         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24937         when one needs search access to a directory but not read access.
24938         On systems where it is available, it works in some cases where
24939         O_RDONLY does not, namely on directories that are searchable but
24940         not readable, and which need only to be searchable.  If O_SEARCH
24941         is not available, fall back to the traditional method of using
24942         O_RDONLY.
24943
24944         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24945         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24946         when opening a directory that needs only to be searchable.
24947         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24948         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24949         * lib/openat-proc.c (openat_proc_name): Likewise.
24950         * lib/openat.c (openat_needs_fchdir): Likewise.
24951         * lib/save-cwd.c (save_cwd): Likewise.
24952         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24953
24954 2010-08-28  Bruno Haible  <bruno@clisp.org>
24955
24956         New module 'host-cpu-c-abi'.
24957         * modules/host-cpu-c-abi: New file.
24958         * m4/host-cpu-c-abi.m4: New file, based on part of
24959         clisp/src/m4/general.m4.
24960         Requested by Sam Steingold <sds@gnu.org>.
24961
24962 2010-08-31  Eric Blake  <eblake@redhat.com>
24963         and Jim Meyering  <meyering@redhat.com>
24964
24965         hash: factor, and guard against misbehaving hasher function
24966         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24967         of table->hasher's return value.  Also protect against a hash value
24968         so large that adding it to table->bucket results in a NULL pointer.
24969         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24970         Use it in place of open-coded check-and-abort.
24971
24972 2010-08-30  Bruno Haible  <bruno@clisp.org>
24973
24974         hash: silence spurious clang warning
24975         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24976         Reported by Eric Blake.
24977
24978 2010-08-30  Eric Blake  <eblake@redhat.com>
24979
24980         strstr, memmem, strcasestr: avoid leaked shell message
24981         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24982         FreeBSD.
24983         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24984         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24985
24986         tests: silence clang warning
24987         * tests/test-malloca.c (do_allocation): Avoid dead store.
24988
24989 2010-08-29  Bruno Haible  <bruno@clisp.org>
24990
24991         gettext: Fix recent mistake.
24992         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24993
24994 2010-08-29  Bruno Haible  <bruno@clisp.org>
24995
24996         selinux-h: Offer a --without-selinux option.
24997         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24998         --without-selinux was specified, skip all tests and define
24999         HAVE_SELINUX_SELINUX_H to 0.
25000         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
25001         set LIB_SELINUX to empty.
25002         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
25003         gl_LIBSELINUX. If --without-selinux was specified, replace
25004         selinux/context.h.
25005         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
25006
25007 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25008             Bruno Haible  <bruno@clisp.org>
25009
25010         Make the module 'realloc-gnu' work again on AIX and OSF/1.
25011         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
25012         of HAVE_REALLOC.
25013         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
25014         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
25015         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
25016         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25017
25018 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25019             Bruno Haible  <bruno@clisp.org>
25020
25021         Make the module 'calloc-gnu' work again on AIX and OSF/1.
25022         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
25023         HAVE_CALLOC.
25024         * lib/xmalloc.c: Update accordingly.
25025         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
25026         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
25027         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
25028
25029 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
25030             Bruno Haible  <bruno@clisp.org>
25031
25032         Make the module 'malloc-gnu' work again on AIX and OSF/1.
25033         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
25034         HAVE_MALLOC.
25035         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
25036         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
25037         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
25038
25039 2010-08-29  Bruno Haible  <bruno@clisp.org>
25040
25041         Update modules list.
25042         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
25043         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
25044         (String handling <string.h>): Add astrxfrm.
25045         (File system functions): Add readlinkat.
25046
25047 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25048
25049         Tests for module 'realloc-gnu'.
25050         * modules/realloc-gnu-tests: New file.
25051         * tests/test-realloc-gnu.c: New file.
25052
25053         Tests for module 'calloc-gnu'.
25054         * modules/calloc-gnu-tests: New file.
25055         * tests/test-calloc-gnu.c: New file.
25056
25057         Tests for module 'malloc-gnu'.
25058         * modules/malloc-gnu-tests: New file.
25059         * tests/test-malloc-gnu.c: New file.
25060
25061 2010-08-28  Bruno Haible  <bruno@clisp.org>
25062
25063         Rename module 'realloc' -> 'realloc-gnu'.
25064         * modules/realloc-gnu: New file, copied from modules/realloc.
25065         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
25066         obsolete.
25067         * modules/mgetgroups (Depends-on): Update.
25068         * doc/posix-functions/realloc.texi: Update.
25069         * NEWS: Mention the change.
25070
25071         Rename module 'calloc' -> 'calloc-gnu'.
25072         * modules/calloc-gnu: New file, copied from modules/calloc.
25073         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
25074         obsolete.
25075         * doc/posix-functions/calloc.texi: Update.
25076         * NEWS: Mention the change.
25077
25078         Rename module 'malloc' -> 'malloc-gnu'.
25079         * modules/malloc-gnu: New file, copied from modules/malloc.
25080         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
25081         obsolete.
25082         * modules/argp (Depends-on): Update.
25083         * modules/regex (Depends-on): Update.
25084         * doc/posix-functions/malloc.texi: Update.
25085         * NEWS: Mention the change.
25086
25087 2010-08-28  Eric Blake  <eblake@redhat.com>
25088
25089         pread, pwrite: add missing dependency
25090         * modules/pread (Depends-on): Add extensions.
25091         * modules/pwrite (Depends-on): Likewise.
25092
25093 2010-08-28  Bruno Haible  <bruno@clisp.org>
25094
25095         unistr/u*-strchr: Fix tests dependencies.
25096         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
25097         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
25098         Reported by Ian Beckwith <ianb@erislabs.net>.
25099
25100 2010-08-28  Bruno Haible  <bruno@clisp.org>
25101
25102         read-file: Don't occupy too much unused memory.
25103         * lib/read-file.c (fread_file): Shrink the buffer at the end.
25104
25105 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
25106             Eric Blake  <eblake@redhat.com>
25107             Bruno Haible  <bruno@clisp.org>
25108
25109         read-file: Avoid memory reallocations with regular files.
25110         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
25111         (fread_file): With regular files, use the remaining length as the
25112         initial buffer size.  Check against overflow.
25113         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
25114         sys_stat.
25115
25116 2010-08-28  Bruno Haible  <bruno@clisp.org>
25117
25118         ftello: Relax license.
25119         * modules/ftello (License): Relax to LGPLv2+.
25120         Reported by Eric Blake.
25121
25122 2010-08-28  Bruno Haible  <bruno@clisp.org>
25123
25124         Avoid relocwrapper link errors due to gnulib replacement functions.
25125         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
25126         function.
25127         Reported by Ben Pfaff <blp@cs.stanford.edu>.
25128
25129 2010-08-28  Bruno Haible  <bruno@clisp.org>
25130
25131         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
25132         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
25133         defined.
25134         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
25135         Suggested by Eric Blake.
25136
25137 2010-08-28  Bruno Haible  <bruno@clisp.org>
25138
25139         sys_socket, netdb: Ensure socklen_t gets defined.
25140         * modules/sys_socket (Depends-on): Add socklen.
25141         * modules/netdb (Depends-on): Likewise.
25142         * modules/getaddrinfo (Depends-on): Remove socklen.
25143         * modules/getsockopt (Depends-on): Likewise.
25144         * modules/setsockopt (Depends-on): Likewise.
25145         * tests/test-sys_socket.c: Check that socklen_t is defined.
25146         * tests/test-netdb.c: Likewise.
25147         * m4/socklen.m4: Update comments.
25148         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25149
25150 2010-08-27  Eric Blake  <eblake@redhat.com>
25151
25152         login_tty: add missing dependency
25153         * modules/login_tty (Depends-on): Add pty.
25154
25155 2010-08-26  Eric Blake  <eblake@redhat.com>
25156
25157         lib-symbol-versions: fix m4 quoting
25158         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
25159         format for AC_LINK_IFELSE.
25160
25161         glob: fix compile test
25162         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
25163
25164         btowc: fix missing file
25165         * modules/btowc (Files): Also ship locale-fr.m4.
25166
25167         lseek: fix link test
25168         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
25169         AC_LINK_IFELSE.
25170
25171         include_next: silence autoconf 2.68 warning
25172         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
25173         AC_COMPILE_IFELSE as special.
25174         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
25175         autoconf < 2.68.
25176
25177         acl: fix compilation test
25178         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
25179         AC_COMPILE_IFELSE.
25180
25181 2010-08-26  Bruno Haible  <bruno@clisp.org>
25182
25183         Modernize AC_TRY_RUN invocations.
25184         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
25185         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25186         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
25187         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
25188         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
25189         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25190         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25191         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25192         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25193         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25194         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25195         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25196         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25197         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25198         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25199         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25200         gl_MBRLEN_NUL_RETVAL): Likewise.
25201         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25202         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
25203         Likewise.
25204         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25205         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25206         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25207         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25208         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
25209         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
25210         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
25211         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
25212         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
25213         Likewise.
25214         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
25215         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
25216         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25217         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25218         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25219         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25220         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25221         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
25222         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25223         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25224
25225 2010-08-26  Bruno Haible  <bruno@clisp.org>
25226
25227         Modernize AC_TRY_LINK invocations.
25228         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
25229         AC_TRY_LINK.
25230         * m4/argp.m4 (gl_ARGP): Likewise.
25231         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
25232         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
25233         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
25234         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
25235         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
25236         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
25237         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
25238         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
25239         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
25240         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
25241         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
25242         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
25243         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
25244         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
25245         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25246         * m4/hostent.m4 (gl_HOSTENT): Likewise.
25247         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25248         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
25249         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
25250         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
25251         Likewise.
25252         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
25253         Likewise.
25254         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
25255         Likewise.
25256         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
25257         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
25258         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
25259         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25260         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
25261         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25262         * m4/servent.m4 (gl_SERVENT): Likewise.
25263         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
25264         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
25265         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
25266         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
25267         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
25268         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
25269         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25270         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25271         * modules/tsearch-tests (configure.ac): Likewise.
25272
25273 2010-08-26  Bruno Haible  <bruno@clisp.org>
25274
25275         Modernize AC_TRY_COMPILE invocations.
25276         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
25277         AC_TRY_COMPILE.
25278         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
25279         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
25280         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
25281         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
25282         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
25283         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
25284         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
25285         * m4/lock.m4 (gl_LOCK): Likewise.
25286         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
25287         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
25288         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
25289         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
25290         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
25291         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
25292         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
25293         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
25294         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
25295         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
25296         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
25297         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
25298         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
25299         extraneous semicolon.
25300
25301 2010-08-26  Jim Meyering  <meyering@redhat.com>
25302
25303         stat-time: relax license LGPL
25304         * modules/stat-time (License): Change from GPL to LGPL,
25305         with consent from all contributors, for use in libguile.
25306         Requested by Ludovic Courtès.
25307
25308 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
25309
25310         poll: return immediately on POLLHUP.
25311         * lib/poll.c (poll): Always set timeout before wait_timeout is
25312         computed.
25313
25314 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25315
25316         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
25317         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
25318         rmdir ("dir/.//"), unlinkat.
25319
25320 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
25321
25322         stdbool: avoid spurious failure with modern xlc
25323         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25324
25325 2010-08-24  Bruno Haible  <bruno@clisp.org>
25326
25327         getloadavg: simplify code
25328         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
25329         gl_have_func. Update comments.
25330
25331 2010-08-24  Eric Blake  <eblake@redhat.com>
25332
25333         getloadavg: don't define SVR4 on cygwin
25334         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
25335         only define SVR4 when -lkvm is required.
25336         Reported by Yaakov Selkowitz.
25337
25338 2010-08-24  Bruno Haible  <bruno@clisp.org>
25339
25340         priv-set: fix comment
25341         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
25342
25343 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
25344
25345         priv-set: fix comments
25346         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
25347         to match code, as suggested by David Bartley in:
25348         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
25349
25350 2010-08-23  Eric Blake  <eblake@redhat.com>
25351
25352         stdbool: avoid rejecting clang
25353         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
25354         * tests/test-stdbool.c: Enable more tests if using the system
25355         <stdbool.h> instead of the gnulib replacement.
25356         (main): Move xlc bug test to a runtime test for all compilers.
25357         Reported by Anders Kaseorg.
25358
25359         argz: fix shell quoting issue
25360         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
25361         Reported by Charles Wilson.
25362
25363 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
25364             Erik Faye-Lund <kusmabite@gmail.com>
25365
25366         poll, select: handle ERROR_BROKEN_PIPE.
25367         * lib/poll.c (win32_compute_revents): Return POLLHUP when
25368         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25369         * lib/select.c (win32_compute_revents): Do not mark a pipe
25370         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
25371
25372 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
25373
25374         fts: allow compilation with C++
25375         * lib/fts_.h: Specify extern "C" linkage with C++.
25376
25377 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25378
25379         Fix gnulib-tool sed script de-commentation for AIX sed.
25380         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
25381         sed.
25382
25383 2010-08-17  Eric Blake  <eblake@redhat.com>
25384
25385         test-stddef: test for (some) offsetof bugs
25386         * tests/test-stddef.c: Enhance test to ensure correct type of
25387         offsetof.
25388         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
25389         that we are not fixing at this time.
25390
25391 2010-08-15  Bruno Haible  <bruno@clisp.org>
25392
25393         stpncpy: Allow stpncpy to be defined as a macro.
25394         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
25395         if it's already correctly declared.
25396         * lib/string.in.h (stpncpy): Undefine before redefining.
25397         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
25398
25399 2010-08-14  Bruno Haible  <bruno@clisp.org>
25400
25401         Rename module 'memxfrm' to 'amemxfrm'.
25402         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
25403         (amemxfrm): Renamed from memxfrm.
25404         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
25405         (amemxfrm): Renamed from memxfrm.
25406         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
25407         * NEWS: Mention the change.
25408         * MODULES.html.sh (String handling <string.h>): Update.
25409         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
25410         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
25411         * lib/unicase/u16-casexfrm.c: Likewise.
25412         * lib/unicase/u32-casexfrm.c: Likewise.
25413         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
25414         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
25415         * lib/uninorm/u16-normxfrm.c: Likewise.
25416         * lib/uninorm/u32-normxfrm.c: Likewise.
25417         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
25418         memxfrm.
25419         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
25420         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
25421         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
25422         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
25423         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
25424         Suggested by Paul Eggert.
25425
25426 2010-08-14  Bruno Haible  <bruno@clisp.org>
25427
25428         Tests for module 'astrxfrm'.
25429         * modules/astrxfrm-tests: New file.
25430         * tests/test-astrxfrm.c: New file.
25431
25432         New module 'astrxfrm'.
25433         * lib/astrxfrm.h: New file.
25434         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
25435         * modules/astrxfrm: New file.
25436
25437 2010-08-14  Reuben Thomas <rrt@sc3d.org>
25438
25439         regex: Tweak doc.
25440         * doc/regex.texi (Overview): Don't mention regex.c.
25441         (GNU Regular Expression Compiling): Likewise.
25442         (Match-end-of-line Operator): Mention 'not_eol'.
25443
25444 2010-08-14  Brian Gough  <bjg@gnu.org>
25445             Bruno Haible  <bruno@clisp.org>
25446
25447         git-merge-changelog: add doc relating to use with bzr and hg.
25448         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25449
25450 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25451
25452         pthread: fix pthread.h creation for srcdir != builddir
25453         * modules/pthread (Makefile.am): Fix the rule to work also in a
25454         non-srcdir build.
25455
25456 2010-08-13  Karl Berry  <karl@gnu.org>
25457
25458         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25459         * doc/posix-*/*: force line break before @url of POSIX
25460         specifications.
25461         Suggested by Werner Lemberg.
25462
25463 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25464
25465         strtod: fix const diagnostic
25466         * lib/strtod.c (strtod): Don't assign const char * to char *,
25467         as this elicits a warning from GCC when warnings are enabled.
25468
25469 2010-08-10  Pádraig Brady <P@draigbrady.com>
25470         and Eric Blake  <eblake@redhat.com>
25471
25472         copy-acl: ignore ENOTSUP on HP-UX
25473         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25474         so that it is available for HP-UX.
25475         * lib/copy-acl.c (qcopy_acl): Use it.
25476         Reported by Patrick M. Callahan.
25477
25478 2010-08-10  Eric Blake  <eblake@redhat.com>
25479
25480         open, chown: relax license
25481         * modules/open (License): Change to LGPLv2+, with consent by all
25482         authors, for use in augeas.
25483         * modules/chown (License): Likewise.
25484         * modules/lchown (Likewise): Likewise.
25485         Requested by Adam Stokes.
25486
25487 2010-08-09  Karl Berry  <karl@gnu.org>
25488
25489         * build-aux/ar-lib: new file, import from Automake.
25490         * config/srclist.txt: autocheck for updates.
25491
25492 2010-08-09  Eric Blake  <eblake@redhat.com>
25493
25494         readlinkat: adjust client modules
25495         * modules/areadlinkat (Depends-on): Use readlinkat, not
25496         symlinkat.
25497         * modules/areadlinkat-with-size (Depends-on): Likewise.
25498
25499         mknod: be more vocal about danger of running tests as root
25500         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25501         root, since that is just asking for problems.
25502         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25503
25504         readlinkat: split into its own module
25505         * modules/symlinkat: Split readlinkat...
25506         * modules/readlinkat: ...into separate module.
25507         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25508         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25509         * lib/symlinkat.c (readlinkat): Move...
25510         * lib/readlinkat.c: ...into new file.
25511         * modules/symlinkat-tests: Split readlinkat test...
25512         * modules/readlinkat-tests: ...into separate module.
25513         * tests/test-symlinkat.c: Split...
25514         * tests/test-readlinkat.c: ...into new file.
25515         * NEWS: Document the split.
25516         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25517         * lib/unistd.in.h (readlinkat): Likewise.
25518         Suggested by Bruno Haible.
25519
25520 2010-08-08  Bruno Haible  <bruno@clisp.org>
25521
25522         memxfrm: Speed up.
25523         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25524         that usually only one call to strxfrm is necessary for each string
25525         part.
25526         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25527
25528 2010-08-07  Karl Berry  <karl@gnu.org>
25529
25530         * doc/posix-headers/limits.texi,
25531         * doc/posix-functions/malloc.texi,
25532         * doc/posix-functions/strsignal.texi: missing @item.
25533         * doc/ld-version-script.texi: spurious leading i.
25534         * doc/regex.texi (Interval Operators): no commas inside @var.
25535
25536 2010-08-01  Bruno Haible  <bruno@clisp.org>
25537
25538         Integrate the regex documentation.
25539         * doc/gnulib.texi: Define 'cn' index.
25540         (Regular expressions): New a chapter that includes regex.texi and
25541         regexprops-generic.texi.
25542         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25543         syntax.
25544
25545         Whitespace cleanup.
25546         * doc/regex.texi: Remove trailing spaces.
25547
25548         Add regex documentation.
25549         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25550         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25551         Written by Kathy A. Hargreaves and Karl Berry.
25552
25553 2010-08-01  Bruno Haible  <bruno@clisp.org>
25554
25555         link: Update documentation.
25556         * doc/posix-functions/link.texi: Update regarding Solaris.
25557
25558 2010-07-31  Bruno Haible  <bruno@clisp.org>
25559
25560         Update modules list.
25561         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25562         (String handling <string.h>): Add memcmp2, memxfrm.
25563         (Container data structures): Add xlist, xsublist, xoset.
25564         (Core language properties): Add alignof, unused-parameter.
25565         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25566         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25567         (Unibyte characters <ctype.h>): New section.
25568         (String handling <string.h>): New section.
25569         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25570         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25571         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25572         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25573         tan, tanh, tanl, y0, y1, yn.
25574         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25575         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25576         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25577         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25578         unlockpt, vdprintf, vdprintf-posix.
25579         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25580         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25581         xconcat-filename.
25582         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25583         getdtablesize, pipe2, pipe2-safer.
25584         (Security): New section.
25585         (Networking functions): Add accept4.
25586         (Signal handling): Add sigpipe.
25587         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25588         mbmemcasecoll.
25589         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25590         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25591         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25592         pipe-filter-ii.
25593         (Misc): Add argp-version-etc, login_tty, parse-duration.
25594
25595 2010-07-31  Bruno Haible  <bruno@clisp.org>
25596
25597         Improve doc in MODULES.html.
25598         * modules/linkat (Description): Add the word "function".
25599         * modules/mkfifo (Description): Likewise.
25600         * modules/mknod (Description): Likewise.
25601         * modules/remove (Description): Likewise.
25602         * modules/renameat (Description): Likewise.
25603         * modules/stat (Description): Likewise.
25604         * modules/symlink (Description): Likewise.
25605         * modules/unlink (Description): Likewise.
25606
25607 2010-07-31  Bruno Haible  <bruno@clisp.org>
25608
25609         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25610         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25611         option --enable/disable-c++ instead of --enable/disable-cxx.
25612         * NEWS: Mention the change.
25613
25614 2010-07-31  Bruno Haible  <bruno@clisp.org>
25615
25616         readlink, areadlink: Relax test a bit.
25617         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25618         alternative to ENOTDIR.
25619         * tests/test-areadlink.h (test_areadlink): Likewise.
25620         Reported by Rainer Tammer.
25621
25622 2010-07-31  Bruno Haible  <bruno@clisp.org>
25623
25624         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25625         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25626         character, perform the search using U_STRCHR.
25627         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25628         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25629         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25630         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25631         Suggested by Paolo Bonzini.
25632
25633 2010-07-31  Bruno Haible  <bruno@clisp.org>
25634
25635         unistr/u*-strstr: Fix dependencies.
25636         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25637         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25638         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25639
25640 2010-07-31  Bruno Haible  <bruno@clisp.org>
25641
25642         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25643         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25644         the beginning of the loop.
25645         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25646         cases in 'switch' statement.
25647
25648         unistr/u8-strchr: Fix several bugs.
25649         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25650         the string. When not found, return NULL, not a pointer near the end.
25651
25652         More tests for unistr/u8-strchr.
25653         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25654         that the function does not read past the first occurrence of the byte
25655         being searched.
25656         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25657         * tests/unistr/test-u16-strchr.c (main): New function.
25658         * tests/unistr/test-u32-strchr.c (main): New function.
25659
25660 2010-07-31  Bruno Haible  <bruno@clisp.org>
25661
25662         posix-modules: Ignore backup files of documentation files.
25663         * posix-modules: grep only through files named *.texi.
25664
25665 2010-07-31  Bruno Haible  <bruno@clisp.org>
25666
25667         symlinkat: Fix documentation.
25668         * doc/posix-functions/readlinkat.texi: Fix module name.
25669
25670 2010-07-31  Bruno Haible  <bruno@clisp.org>
25671
25672         fchownat: Replace also when chown has the trailing slash bug.
25673         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25674         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25675         introduced on 2010-04-10.
25676         Reported by Rainer Tammer.
25677
25678 2010-07-31  Bruno Haible  <bruno@clisp.org>
25679
25680         linkat: Work around AIX 7.1 bug.
25681         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25682         whether linkat handles trailing slash correctly. If not, replace linkat
25683         and define LINKAT_TRAILING_SLASH_BUG.
25684         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25685         check whether (fd1,file1) points to a directory if file1 or file2 ends
25686         in a slash. Code taken from lib/link.c.
25687         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25688         Reported by Rainer Tammer.
25689
25690 2010-07-31  Bruno Haible  <bruno@clisp.org>
25691
25692         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25693         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25694         This disables an xlc optimization that was causing wrong test results.
25695         Reported by Rainer Tammer.
25696
25697 2010-07-31  Bruno Haible  <bruno@clisp.org>
25698
25699         iconv: Work around AIX 6.1..7.1 bug.
25700         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25701         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25702         cross-compiling, guess no on all versions of AIX.
25703         Reported by Rainer Tammer.
25704
25705 2010-07-31  Bruno Haible  <bruno@clisp.org>
25706
25707         readlink: Relax test a bit.
25708         * tests/test-readlink.h (test_readlink): Allow different errno value
25709         when readlink is called with a file name that ends in / and refers to
25710         a file.
25711         Suggested by Eric Blake.
25712         Reported by Rainer Tammer.
25713
25714 2010-07-31  Bruno Haible  <bruno@clisp.org>
25715
25716         copysign: Does not require -lm on glibc systems.
25717         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25718         gl_COMMON_DOUBLE_MATHFUNC.
25719         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25720
25721 2010-07-31  Bruno Haible  <bruno@clisp.org>
25722
25723         duplocale: Work around AIX 7.1 bug.
25724         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25725         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25726         * lib/duplocale.c (rpl_duplocale): Update comment.
25727         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25728         Reported by Rainer Tammer.
25729
25730 2010-07-30  Bruno Haible  <bruno@clisp.org>
25731
25732         dirfd: Avoid link error on AIX 7.1.
25733         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25734         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25735         exist, set REPLACE_DIRFD.
25736         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25737         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25738         * doc/posix-functions/dirfd.texi: Update.
25739         Reported by Rainer Tammer.
25740
25741 2010-07-30  Eric Blake  <eblake@redhat.com>
25742
25743         strtod: next round of AIX fixes
25744         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25745         exponent.
25746         * tests/test-strtod.c (main): Enhance tests.
25747         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25748         Reported by Rainer Tammer.
25749
25750         futimens: fix configure check
25751         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25752         Reported by Bruno Haible.
25753
25754 2010-07-30  Bruno Haible  <bruno@clisp.org>
25755
25756         getline: Update regarding AIX.
25757         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25758         Reported by Rainer Tammer.
25759
25760 2010-07-30  Bruno Haible  <bruno@clisp.org>
25761
25762         wcwidth: Drop replacement on AIX 7.
25763         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25764         AIX 7.
25765         Reported by Rainer Tammer.
25766
25767 2010-07-30  Bruno Haible  <bruno@clisp.org>
25768
25769         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25770         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25771         a 'char *'.
25772         Reported by Rainer Tammer.
25773
25774 2010-07-30  Bruno Haible  <bruno@clisp.org>
25775
25776         unlink: Update regarding AIX.
25777         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25778         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25779         Reported by Rainer Tammer.
25780
25781 2010-07-30  Bruno Haible  <bruno@clisp.org>
25782
25783         symlink: Update regarding AIX.
25784         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25785         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25786         Reported by Rainer Tammer.
25787
25788 2010-07-30  Bruno Haible  <bruno@clisp.org>
25789
25790         strndup: Update regarding AIX.
25791         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25792         AIX 7.
25793         Reported by Rainer Tammer.
25794
25795 2010-07-30  Bruno Haible  <bruno@clisp.org>
25796
25797         stat: Update regarding AIX.
25798         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25799         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25800         Reported by Rainer Tammer.
25801
25802 2010-07-30  Bruno Haible  <bruno@clisp.org>
25803
25804         truncl: Fix autoconf test.
25805         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25806         whether truncl works.
25807         Reported by Rainer Tammer.
25808
25809 2010-07-30  Bruno Haible  <bruno@clisp.org>
25810
25811         round: Update regarding AIX.
25812         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25813         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25814         Reported by Rainer Tammer.
25815
25816 2010-07-30  Bruno Haible  <bruno@clisp.org>
25817
25818         rename: Update regarding AIX.
25819         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25820         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25821         Reported by Rainer Tammer.
25822
25823 2010-07-30  Bruno Haible  <bruno@clisp.org>
25824
25825         printf.m4: Update regarding AIX.
25826         * m4/printf.m4: Update comments regarding AIX.
25827         Reported by Rainer Tammer.
25828
25829 2010-07-30  Bruno Haible  <bruno@clisp.org>
25830
25831         iconv: Update regarding AIX.
25832         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25833         AIX 7.
25834         Reported by Rainer Tammer.
25835
25836 2010-07-30  Bruno Haible  <bruno@clisp.org>
25837
25838         getopt: Update regarding AIX.
25839         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25840         no on AIX.
25841         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25842         Reported by Rainer Tammer.
25843
25844 2010-07-30  Bruno Haible  <bruno@clisp.org>
25845
25846         ldexpl; Update regarding AIX.
25847         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25848         on AIX 7.
25849         Reported by Rainer Tammer.
25850
25851 2010-07-30  Bruno Haible  <bruno@clisp.org>
25852
25853         frexpl: Update regarding AIX.
25854         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25855         on AIX 7.
25856         Reported by Rainer Tammer.
25857
25858 2010-07-30  Bruno Haible  <bruno@clisp.org>
25859
25860         open, fopen: Update regarding AIX.
25861         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25862         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25863         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25864         * doc/posix-functions/fopen.texi: Likewise.
25865         Reported by Rainer Tammer.
25866
25867 2010-07-30  Bruno Haible  <bruno@clisp.org>
25868
25869         chown: Update doc regarding AIX.
25870         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25871         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25872         Reported by Rainer Tammer.
25873
25874 2010-07-30  Eric Blake  <eblake@redhat.com>
25875
25876         strtod: fix bug in replacement function on AIX
25877         * lib/strtod.c (strtod): Special case broken "0x" parse in
25878         underlying strtod.
25879         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25880         * doc/posix-functions/strtod.texi (strtod): Likewise.
25881         Reported by Rainer Tammer.
25882
25883 2010-07-30  Bruno Haible  <bruno@clisp.org>
25884
25885         mbrlen: Fix cross-compilation guess for AIX.
25886         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25887         guess. Leftover from 2008-12-22.
25888
25889 2010-07-30  Bruno Haible  <bruno@clisp.org>
25890
25891         mbrtowc: Fix cross-compilation guess for AIX.
25892         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25893         guess. Leftover from 2008-12-21.
25894
25895 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25896
25897         init.sh: work around trap limitation of some shells
25898         * tests/init.sh (setup_): Move exit trap outside of shell function.
25899
25900 2010-07-29  Eric Blake  <eblake@redhat.com>
25901
25902         strtod: aid debugging
25903         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25904         understanding why strtod is rejected.
25905
25906 2010-07-28  Bruno Haible  <bruno@clisp.org>
25907
25908         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25909         * lib/unistr/u8-chr.c: Include <string.h>.
25910         * tests/unistr/test-u8-chr.c: Likewise.
25911         * tests/unistr/test-u16-chr.c: Likewise.
25912         * tests/unistr/test-u32-chr.c: Likewise.
25913         * tests/unistr/test-u8-strchr.c: Likewise.
25914         * tests/unistr/test-u16-strchr.c: Likewise.
25915         * tests/unistr/test-u32-strchr.c: Likewise.
25916         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25917         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25918         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25919         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25920
25921 2010-07-28  Bruno Haible  <bruno@clisp.org>
25922
25923         Use spaces for indentation, not tabs.
25924         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25925
25926 2010-07-27  Bruno Haible  <bruno@clisp.org>
25927
25928         mbspcasecmp: Fix function specification.
25929         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25930         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25931         Reported by Eric Blake <eblake@redhat.com>.
25932
25933 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25934
25935         timespec: use cast and not conditional, as truncation isn't possible
25936         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25937         instead of a conditional.  Comment about the situation in more detail.
25938         This undoes most of the 2009-10-29 patch.
25939
25940 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25941
25942         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25943         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25944         * lib/unistr/u8-strchr.c: Likewise.
25945         * modules/unistr/u8-chr: Depend on memchr.
25946
25947         unistr/u*-strchr: add tests
25948         * modules/unistr/u8-strchr-tests: New file.
25949         * modules/unistr/u16-strchr-tests: New file.
25950         * modules/unistr/u32-strchr-tests: New file.
25951         * tests/unistr/test-strchr.h: New file.
25952         * tests/unistr/test-u8-strchr.c: New file.
25953         * tests/unistr/test-u16-strchr.c: New file.
25954         * tests/unistr/test-u32-strchr.c: New file.
25955
25956         unistr/u*-chr: test multibyte sequences more
25957         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25958         test vector.
25959         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25960         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25961         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25962
25963         unistr/u*-chr: test multibyte sequences
25964         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25965
25966         unistr/u*-chr: prepare for multibyte tests
25967         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25968         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25969         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25970         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25971         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25972         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25973
25974 2010-07-18  Bruno Haible  <bruno@clisp.org>
25975
25976         unistr/u8-strchr: Optimize non-ASCII argument case.
25977         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25978         because the first byte often matches anyway.
25979         Reported by Pádraig Brady <P@draigbrady.com>.
25980
25981 2010-07-15  Karl Berry  <karl@gnu.org>
25982
25983         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25984
25985 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25986
25987         getcwd: on Solaris, work better if ancestors are inaccessible
25988         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25989         buffer and size, try again with a large buffer.  This works better
25990         on Solaris, since its getcwd succeeds even if the path to the root
25991         is inaccessible, and this is helpful in common cases such as .zfs
25992         hidden directories.  Problem reported by J Chapman Flack in
25993         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25994         Use system getcwd if it's declared, not merely if it's partly
25995         working; use the partly-working test only to avoid needless effort
25996         if the system getcwd fails.
25997         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25998         comment that was already obsolete and is now even more obsolete.
25999         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
26000         now might call strdup.
26001
26002 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
26003
26004         pthread: Add enough so that coreutils/src/sort.c compiles.
26005         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
26006         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
26007         gnulib. Include <sched.h> and <time.h>, as per POSIX.
26008         Include <sys/types.h>, in case it defines pthread_t.
26009         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
26010         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
26011         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
26012         (pthread_rwlockattr_t, pthread_spinlock_t):
26013         New typedefs, if HAVE_PTHREAD_T is not defined.
26014         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
26015         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
26016         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
26017         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
26018         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
26019         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
26020         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
26021         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
26022         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
26023         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
26024         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
26025         New macros.
26026         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
26027         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
26028         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
26029         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
26030         (pthread_spin_unlock): New dummy functions.
26031         (pthread_create): Return EAGAIN; don't set errno.
26032         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
26033         require AC_C_INLINE.
26034         * modules/pthread (Depends-on): Add sched, time.
26035         (pthread.h): Use AM_V_GEN.
26036
26037 2010-07-13  Bruno Haible  <bruno@clisp.org>
26038
26039         striconveh: Don't malloc memory if the result buffer is sufficient.
26040         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
26041         buffer if its size is sufficient.
26042         Reported by Ludovic Courtès <ludo@gnu.org>.
26043
26044 2010-07-13  Bruno Haible  <bruno@clisp.org>
26045
26046         strtod: Add safety check.
26047         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
26048
26049 2010-07-12  Bruno Haible  <bruno@clisp.org>
26050
26051         Unify tests that set gl_cv_func_ldexpl_no_libm.
26052         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
26053         gl_FUNC_LDEXPL.
26054         (gl_FUNC_LDEXPL): Invoke it.
26055         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26056
26057 2010-07-12  Bruno Haible  <bruno@clisp.org>
26058
26059         Unify tests that set gl_cv_func_ldexp_no_libm.
26060         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
26061         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
26062         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
26063         (configure.ac): Simply invoke gl_FUNC_LDEXP.
26064         * modules/strtod (Files): Add m4/ldexp.m4.
26065
26066 2010-07-12  Bruno Haible  <bruno@clisp.org>
26067
26068         Unify tests that set gl_cv_func_frexpl_no_libm.
26069         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
26070         gl_FUNC_FREXPL_NO_LIBM.
26071         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
26072         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26073
26074 2010-07-12  Bruno Haible  <bruno@clisp.org>
26075
26076         Unify tests that set gl_cv_func_frexp_no_libm.
26077         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
26078         gl_FUNC_FREXP_NO_LIBM.
26079         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
26080         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
26081
26082 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26083
26084         memcoll: clarify sizes versus lengths, document better, and tweak perf
26085         * lib/memcoll.c (strcoll_loop, memcoll0):
26086         Improve quality of descriptive comments.  Name variables
26087         consistently as to whether they are lengths (which do not include
26088         terminating null) versus sizes (which do).
26089         * lib/xmemcoll.c (xmemcoll0): Likewise.
26090         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
26091         returned when s1size == 0; this is easier to compile and saves
26092         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
26093
26094 2010-07-12  Bruno Haible  <bruno@clisp.org>
26095
26096         Tests for module '_Exit'.
26097         * modules/_Exit-tests: New file.
26098         * tests/test-_Exit.sh: New file.
26099         * tests/test-_Exit.c: New file.
26100
26101         New module '_Exit'.
26102         * lib/stdlib.in.h (__attribute__): New macro.
26103         (_Exit): New declaration.
26104         * lib/_Exit.c: New file.
26105         * m4/_Exit.m4: New file.
26106         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
26107         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
26108         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
26109         * modules/_Exit: New file.
26110         * tests/test-stdlib-c++.cc (_Exit): Check signature.
26111         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
26112
26113 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
26114
26115         strtod: make it more-accurate typically, and don't require libm
26116         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
26117         Include limits.h.  Don't include string.h.
26118         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
26119         (locale_isspace): New function, so that no casts are needed to
26120         check whether *s is a space.
26121         (ldexp): Provide an unused dummy if not available.
26122         (scale_radix_exp, parse_number, underlying_strtod): New functions.
26123         (strtod): Use them.  This implementation prefers to use the
26124         underlying strtod if available, falling back on our own code
26125         only to fix known bugs.  This is more likely to produce an
26126         accurate result.  Also, it avoids the use of libm functions.
26127         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
26128         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
26129         was absent, but it caused a test failure with coreutils.
26130         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
26131         with libm.
26132         * modules/strtod (Makefile.am, Link): libm is no longer needed.
26133         * modules/strtod-tests (Makefile.am): Likewise.
26134
26135 2010-07-11  Pádraig Brady  <P@draigBrady.com>
26136             Bruno Haible  <bruno@clisp.org>
26137
26138         unistr/u8-strchr: Optimize ASCII argument case.
26139         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
26140
26141 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
26142
26143         (x)memcoll: minor tweaks
26144         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
26145         is after the type that it qualifies.
26146         (memcoll0): Likewise.
26147         * lib/memcoll.h (memcoll0): Likewise.
26148         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
26149         * lib/xmemcoll.h (xmemcoll0): Likewise.
26150         * lib/memcoll.c (memcoll0): Correct the comment.  This function
26151         differs from memcoll in that the NUL byte is part of the argument.
26152         Omit the abort-checks, as performance is a real issue here.  Plus,
26153         the checks were wrong anyway (an off-by-one error).  Omit local
26154         variable 'diff', as it's a bit clearer that way.
26155         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
26156         no longer needed.
26157
26158 2010-07-08  Chen Guo <chenguo4@yahoo.com>
26159
26160         (x)memcoll: speedup when input is known to be NUL delimited
26161         * lib/memcoll.c: Include stdlib.
26162         (memcoll0): New function.
26163         (strcoll_loop): New function, refactored for use in both memcoll
26164         and memcoll0.
26165         * lib/memcoll.h (memcoll0): Add prototype.
26166         * lib/xmemcoll.c (xmemcoll0): New function.
26167         (collate_error): New function, refactored for use in both xmemcoll
26168         and xmemcoll0.
26169         * lib/xmemcoll.h (xmemcoll0): Add prototype.
26170         * m4/memcoll.m4: add inline invocation.
26171
26172 2010-07-06  Pádraig Brady  <P@draigBrady.com>
26173
26174         * build-aux/bootstrap: Remove any local translations
26175         from the translation project synchronization directory,
26176         so that local only translations are not distributed.
26177
26178 2010-07-04  Bruno Haible  <bruno@clisp.org>
26179
26180         fsusage: Clarify which code applies to which platforms.
26181         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
26182         platform.
26183         * lib/fsusage.c (get_fs_usage): Likewise.
26184
26185 2010-07-04  Bruno Haible  <bruno@clisp.org>
26186
26187         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
26188         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
26189         Reported by Martin Lambers <marlam@marlam.de>.
26190
26191 2010-07-04  Jim Meyering  <meyering@redhat.com>
26192
26193         hash: once again explicitly disallow insertion of NULL
26194         * lib/hash.c (hash_insert0): Reinstate just-removed test:
26195         inserting a NULL pointer cannot work with these functions.
26196         Add a comment with details.
26197         This reverts part of the 2010-07-01 commit, 5bef1a35
26198         "hash: extend module to deal with non-pointer keys".
26199
26200 2010-07-01  Bruno Haible  <bruno@clisp.org>
26201
26202         stdbool: Update doc.
26203         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
26204         Info from Christian Weisgerber <naddy@mips.inka.de>.
26205
26206 2010-07-01  Jim Meyering  <meyering@redhat.com>
26207
26208         hash: extend module to deal with non-pointer keys
26209         * lib/hash.c (hash_insert0): New interface, much like hash_insert
26210         but that allows insertion of non-pointer entries.
26211         Do not disallow an ENTRY value of NULL.
26212         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
26213         * lib/hash.h (hash_insert0): Declare.
26214
26215 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26216
26217         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
26218         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
26219         not present (i.e. with autoconf 2.59 and when using gettextize, not
26220         gnulib), require AC_GNU_SOURCE instead.
26221
26222 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
26223
26224         idpriv-drop: Fix tests.
26225         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
26226         not to the test-idpriv-droptemp program.
26227
26228 2010-06-29  Bruno Haible  <bruno@clisp.org>
26229
26230         string: Fix syntax error with g++ 2.96.
26231         * lib/string.in.h (__pure__): Remove definition.
26232         (_GL_ATTRIBUTE_PURE): New macro.
26233         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
26234         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
26235         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26236
26237 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
26238
26239         unitypes: Fix bug introduced on 2010-05-18.
26240         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
26241
26242 2010-06-22  Eric Blake  <eblake@redhat.com>
26243
26244         memmem: slight optimization
26245         * lib/str-two-way.h (critical_factorization): Update comments.
26246         Reduce work during factorization phase.
26247         Reported by Carlos Bueno <carlos@bueno.org>.
26248
26249 2010-06-21  Bruno Haible  <bruno@clisp.org>
26250
26251         Fix HAVE_CALLOC_POSIX misnomer.
26252         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
26253         !HAVE_CALLOC_POSIX.
26254         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
26255         HAVE_CALLOC_POSIX.
26256         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
26257         instead of HAVE_CALLOC_POSIX.
26258         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
26259         HAVE_CALLOC_POSIX.
26260
26261         Use modern idiom for calloc() replacement.
26262         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
26263         AC_FUNC_CALLOC.
26264         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
26265         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
26266         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26267         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
26268         (gl_REPLACE_CALLOC): New macro.
26269
26270 2010-06-21  Bruno Haible  <bruno@clisp.org>
26271
26272         Fix HAVE_REALLOC_POSIX misnomer.
26273         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
26274         !HAVE_REALLOC_POSIX.
26275         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
26276         HAVE_REALLOC_POSIX.
26277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
26278         instead of HAVE_REALLOC_POSIX.
26279         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
26280         HAVE_REALLOC_POSIX.
26281
26282         Use modern idiom for realloc() replacement.
26283         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
26284         AC_FUNC_REALLOC.
26285         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
26286         Autoconf's AC_FUNC_REALLOC.
26287         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26288         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
26289         (gl_REPLACE_REALLOC): New macro.
26290         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26291
26292 2010-06-21  Bruno Haible  <bruno@clisp.org>
26293
26294         Fix HAVE_MALLOC_POSIX misnomer.
26295         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
26296         !HAVE_MALLOC_POSIX.
26297         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
26298         HAVE_MALLOC_POSIX.
26299         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
26300         instead of HAVE_MALLOC_POSIX.
26301         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
26302         HAVE_MALLOC_POSIX.
26303
26304         Use modern idiom for malloc() replacement.
26305         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
26306         AC_FUNC_MALLOC.
26307         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
26308         Autoconf's AC_FUNC_MALLOC.
26309         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
26310         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
26311         (gl_REPLACE_MALLOC): New macro.
26312         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
26313
26314 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
26315
26316         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
26317         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
26318         This macro takes 3 arguments, not 4.
26319
26320 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
26321
26322         ipv6: fix detection under mingw
26323         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
26324         in6_addr.
26325
26326 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
26327
26328         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
26329         that strtod() works when cross-compiling to a glibc version known
26330         to work.
26331
26332 2010-06-15  Bruno Haible  <bruno@clisp.org>
26333
26334         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
26335
26336 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
26337
26338         select: Correct timeout.
26339         * lib/select.c (rpl_select): Compute wait_timeout correctly.
26340
26341 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26342
26343         git-version-gen: init shell var to avoid env var influence
26344         * build-aux/git-version-gen (v): Init shell var to empty.
26345
26346 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
26347
26348         priv-set: Don't assume that priv.h exists merely because getppriv does.
26349         See Jan Andersen's bug report about AIX 5L in
26350         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
26351         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
26352         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
26353         * lib/priv-set.h: Likewise.
26354         * tests/test-priv-set.c: Likewise.
26355
26356 2010-06-13  Bruno Haible  <bruno@clisp.org>
26357
26358         relocatable: Make it easier to test whether to install wrappers.
26359         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
26360         RELOCATABLE_VIA_WRAPPER.
26361
26362 2010-06-13  Bruno Haible  <bruno@clisp.org>
26363
26364         gnulib-tool: Display specified modules and dependencies differently.
26365         * gnulib-tool (func_show_module_list): New function.
26366         (func_import, func_create_testdir): Invoke it.
26367         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
26368
26369 2010-06-13  Bruno Haible  <bruno@clisp.org>
26370
26371         gnulib-tool: Align code of func_import and func_create_testdir.
26372         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
26373         specified_modules.
26374
26375 2010-06-12  Jim Meyering  <meyering@redhat.com>
26376
26377         test-inttostr: avoid spurious failure on Solaris 9
26378         * tests/test-inttostr.c (main): Skip the test when snprintf fails
26379         to accept "%ju".  Reported by Bruno Haible.
26380
26381 2010-06-11  Jim Meyering  <meyering@redhat.com>
26382
26383         test-sys_socket: mark variables as used more readably
26384         * tests/test-sys_socket.c (main): Mark otherwise unused variables
26385         as "used" explicitly via (void) statement casts.  This is more
26386         readable than using them in an artificial return expression.
26387         Suggestion from Bruno Haible.
26388
26389 2010-06-11  Bruno Haible  <bruno@clisp.org>
26390
26391         Avoid some more warnings from "gcc -Wwrite-strings".
26392         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
26393         to 'const char *'.
26394         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
26395         * tests/test-c-strcasestr.c (main): Likewise.
26396         * tests/test-mbscasestr1.c (main): Likewise.
26397         * tests/test-mbscasestr2.c (main): Likewise.
26398         * tests/test-memmem.c (main): Likewise.
26399         * tests/test-strstr.c (main): Likewise.
26400         * tests/test-strcasestr.c (main): Likewise.
26401
26402 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26403
26404         init.sh: change framework_failure_ to fail with status 99, not 1
26405         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
26406         automake's parallel-tests rule that this is an unexpected failure,
26407         even if the test is listed in XFAIL_TESTS.
26408
26409 2010-06-11  Jim Meyering  <meyering@redhat.com>
26410
26411         test-inttostr: avoid warnings about 4-6KB literal strings
26412         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
26413         Include "macros.h", for its definition of ASSERT.
26414         (CK): s/assert/ASSERT/
26415         * modules/inttostr-tests (Files): Add macros.h.
26416
26417         init.sh: don't use $ME_ or skip_ before they are defined
26418         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
26419         their first uses.  Also hoist their companions: warn_, fail_,
26420         framework_failure_, $stderr_fileno.  Prompted by a patch from
26421         Stefano Lattarini.
26422
26423         test-sys_socket: avoid set-but-not-used warnings from gcc
26424         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
26425         avoid warning about set-but-not-used variables.
26426
26427         test-xvasprintf: avoid 'const' discard warnings
26428         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
26429         "const" when assigning from literal strings.
26430         (test_xasprintf): Add "void" in function argument list to placate
26431         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
26432
26433         tests: avoid compilation warnings in argmatch and exclude tests...
26434         in packages that define ARGMATCH_DIE_DECL, like coreutils.
26435         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
26436         Since it always exits, declare with the "noreturn" attribute.
26437         * tests/test-argmatch.c: Likewise.
26438
26439         tests: avoid 'const' discard warnings in mbsstr tests
26440         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26441         * tests/test-mbsstr2.c (main): Likewise.
26442
26443         test-verify: avoid warning from gcc's -Wmissing-declarations
26444         * tests/test-verify.c (function): Declare to be static.
26445
26446         test-inttostr.c: include <string.h> for use of strcmp
26447         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26448
26449         test-linkat: avoid failed assertion on "other" architectures
26450         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26451         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26452         sparc: https://bugs.launchpad.net/bugs/591968
26453
26454 2010-06-11  Jim Meyering  <meyering@redhat.com>
26455
26456         printf.m4: avoid autoconf's "Expanded Before Required" warning
26457         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26458         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26459         autoconf warning.
26460
26461 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26462
26463         Replacement header templates are now named with ".in", not "_".
26464         * doc/gnulib-intro.texi: Correct.
26465
26466 2010-06-10  Jim Meyering  <meyering@redhat.com>
26467
26468         inttostr-tests: depend on snprintf, not snprintf-posix
26469         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26470         snprintf-posix, to avoid this aclocal failure:
26471           missing file gnulib-tests/vasnprintf.c
26472           configure.ac:45: error: expected source file, required through \
26473           AC_LIBSOURCES, not found
26474
26475 2010-06-10  Jim Meyering  <meyering@redhat.com>
26476
26477         inttostr: add a new function, inttostr, and tests
26478         The namesake function was not available.  The existence of the
26479         template file, inttostr.c makes its addition nontrivial.
26480         * lib/anytostr.c: Rename from inttostr.c.
26481         (anytostr): Rename from inttostr.
26482         * lib/inttostr.c: New file.
26483         * modules/inttostr (Files): Add anytostr.c.
26484         (Makefile.am): Set lib_SOURCES instead of ...
26485         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26486         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26487         * lib/offtostr.c: Likewise.
26488         * lib/uinttostr.c: Likewise.
26489         * lib/umaxtostr.c: Likewise.
26490         * modules/inttostr-tests: New file.
26491         * tests/test-inttostr.c: New file.  Test these functions.
26492
26493 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26494             Bruno Haible  <bruno@clisp.org>
26495
26496         Add "Extending Gnulib" chapter to manual.
26497         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26498         chapter.
26499         (Extending Gnulib): New chapter.
26500         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26501         chapter.
26502
26503 2010-06-09  Bruno Haible  <bruno@clisp.org>
26504
26505         Avoid relocwrapper link errors due to gnulib replacement functions.
26506         * lib/areadlink.c: Use the system's malloc, realloc functions.
26507         (areadlink): Set errno to ENOMEM explicitly.
26508         * modules/areadlink (Depends-on): Remove malloc-posix.
26509         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26510
26511 2010-06-09  Bruno Haible  <bruno@clisp.org>
26512
26513         Avoid relocwrapper link errors due to gnulib replacement functions.
26514         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26515         * lib/malloca.c: Likewise.
26516         * lib/relocatable.c: Likewise.
26517         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26518         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26519         * lib/setenv.c: Use the system's malloc, realloc functions.
26520         * lib/strerror.c: Use the system's sprintf function.
26521         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26522
26523 2010-06-04  Bruno Haible  <bruno@clisp.org>
26524
26525         Prefer documented low-level autoconf macro names.
26526         * m4/lib-link.m4: Use m4_translit instead of translit.
26527         * m4/environ.m4: Likewise.
26528         * m4/mathfunc.m4: Likewise.
26529         * m4/onceonly.m4: Likewise.
26530         * m4/stdint.m4: Likewise.
26531         Suggested by Eric Blake.
26532
26533 2010-06-04  Martin Lambers  <marlam@marlam.de>
26534             Bruno Haible  <bruno@clisp.org>
26535
26536         havelib: Allow library names with '+' characters.
26537         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26538         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26539
26540 2010-06-09  Bruno Haible  <bruno@clisp.org>
26541
26542         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26543         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26544         realloc failed.
26545
26546 2010-06-08  Peter Simons  <simons@cryp.to>
26547
26548         maint.mk: make the news-check rule more configurable
26549         * top/maint.mk (news-check-lines-spec): New variable.
26550         (news-check): Use "sed -n 1,10p" in place of "head".
26551
26552 2010-06-07  Jim Meyering  <meyering@redhat.com>
26553
26554         do-release-commit-and-tag: fix typo in --help
26555         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26556
26557         regex: avoid new dead-code warning with gcc-4.6.0
26558         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26559         if-block containing a while-loop.  It's been unused for at least
26560         5 years.
26561
26562 2010-06-05  Bruno Haible  <bruno@clisp.org>
26563
26564         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26565         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26566
26567 2010-06-04  Bruno Haible  <bruno@clisp.org>
26568
26569         Update to GNU gettext 0.18.1.
26570         * modules/gettext (configure.ac): Require gettext infrastructure from
26571         version 0.18.1.
26572
26573 2010-06-03  Bruno Haible  <bruno@clisp.org>
26574
26575         Don't use AC_LIBOBJ with file names in subdirectories.
26576         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26577         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26578         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26579         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26580         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26581         gl_LIBUNISTRING_LIBSOURCE.
26582         (Makefile.am): Augment lib_SOURCES here, conditionally.
26583         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26584
26585 2010-06-03  Bruno Haible  <bruno@clisp.org>
26586
26587         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26588         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26589         expansion does not end with a newline.
26590         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26591         unnecessary newline.
26592
26593 2010-06-03  Bruno Haible  <bruno@clisp.org>
26594
26595         Reduce dependencies.
26596         * tests/test-quotearg.h: New file, extracted from
26597         tests/test-quotearg.c.
26598         * tests/test-quotearg-simple.c: New file, extracted from
26599         tests/test-quotearg.c.
26600         * tests/test-quotearg.c: Don't include <ctype.h>.
26601         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26602         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26603         use_quote_double_quotes, use_quotearg_colon): Moved to
26604         tests/test-quotearg.h.
26605         (results_g, flag_results, custom_quotes, custom_results): Moved
26606         to tests/test-quotearg-simple.c.
26607         (main): Moved the part that does not depend on gettext to
26608         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26609         performed.
26610         * modules/quotearg-simple: New file.
26611         * modules/quotearg-simple-tests: New file.
26612         * modules/quotearg (Depends-on): Add quotearg-simple.
26613         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26614         (Files): Add tests/test-quotearg.h.
26615         Reported by Paolo Bonzini.
26616
26617 2010-06-03  Bruno Haible  <bruno@clisp.org>
26618
26619         Reduce dependencies.
26620         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26621
26622 2010-06-03  Bruno Haible  <bruno@clisp.org>
26623
26624         time: Undefine more broken macros.
26625         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26626         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26627         Reported by Eric Blake.
26628
26629 2010-06-03  Bruno Haible  <bruno@clisp.org>
26630
26631         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26632         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26633         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26634         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26635         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26636         Reported by Ludovic Courtès <ludo@gnu.org>.
26637
26638 2010-06-02  Eric Blake  <eblake@redhat.com>
26639
26640         time: work with mingw + pthreads-win32 library
26641         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26642         if timespec is defined only in pthread.h.
26643         * modules/time (Makefile.am): Substitute it.
26644         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26645         <pthread.h>, when needed.
26646         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26647         from the library.
26648
26649 2010-05-31  Bruno Haible  <bruno@clisp.org>
26650
26651         Avoid expanding two macros in the wrong order.
26652         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26653         gl_LIBUNISTRING if it is defined.
26654         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26655         autoconf >= 2.64.
26656         Reported by Ludovic Courtès <ludo@gnu.org>.
26657
26658 2010-05-27  Jim Meyering  <meyering@redhat.com>
26659
26660         maint.mk: also prohibit "#undef" of always-defined symbols
26661         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26662         Allow more than one space before the symbol name.
26663         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26664         the regexp uses alternation.
26665
26666 2010-05-26  Eric Blake  <eblake@redhat.com>
26667
26668         maint.mk: avoid echo -e
26669         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26670         Convert all uses of echo -* to printf.
26671         Reported by Matthias Bolte.
26672
26673 2010-05-25  Bruno Haible  <bruno@clisp.org>
26674
26675         Update to GNU gettext 0.18, part 2.
26676         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26677         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26678
26679 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26680
26681         Add missing include in test-pwrite.c.
26682         * tests/test-pwrite.c: Include string.h, for strcmp.
26683
26684 2010-05-24  Bruno Haible  <bruno@clisp.org>
26685
26686         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26687
26688 2010-05-24  Bruno Haible  <bruno@clisp.org>
26689
26690         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26691         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26692         iconveh_error argument.
26693         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26694         U_STRCONV_TO_LOCALE.
26695         * lib/unistr/u16-strcoll.c: Likewise.
26696         * lib/unistr/u32-strcoll.c: Likewise.
26697         * modules/unistr/u8-strcoll (Depends-on): Add
26698         uniconv/u8-strconv-to-enc, localcharset. Remove
26699         uniconv/u8-strconv-to-locale.
26700         (configure.ac): Bump version number.
26701         * modules/unistr/u16-strcoll (Depends-on): Add
26702         uniconv/u16-strconv-to-enc, localcharset. Remove
26703         uniconv/u16-strconv-to-locale.
26704         (configure.ac): Bump version number.
26705         * modules/unistr/u32-strcoll (Depends-on): Add
26706         uniconv/u32-strconv-to-enc, localcharset. Remove
26707         uniconv/u32-strconv-to-locale.
26708         (configure.ac): Bump version number.
26709
26710 2010-05-24  Bruno Haible  <bruno@clisp.org>
26711
26712         Avoid a test failure on NetBSD 5.0.
26713         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26714         an iconv() bug.
26715
26716 2010-05-24  Bruno Haible  <bruno@clisp.org>
26717
26718         Adjust #include directive style.
26719         * modules/regex (Includes): Recommend to write <regex.h>.
26720
26721 2010-05-24  Bruno Haible  <bruno@clisp.org>
26722
26723         regex: Don't require alloca.
26724         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26725         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26726         only inside if (0).
26727
26728 2010-05-23  Jim Meyering  <meyering@redhat.com>
26729
26730         test-renameat.c: include <sys/stat.h>
26731         * tests/test-renameat.c: Include <sys/stat.h>; required for
26732         definition of S_IS* macros.
26733
26734 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26735
26736         Update maintainer documentation for 'relocatable-prog' module.
26737         * doc/relocatable-maint.texi: Update.
26738         Comments by Bruno Haible.
26739
26740 2010-05-23  Bruno Haible  <bruno@clisp.org>
26741
26742         git-merge-changelog: Enable --split-merged-entry by default.
26743         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26744         (usage): Don't mention this option any more.
26745         Reported by Ralf Wildenhues.
26746
26747 2010-05-23  Jim Meyering  <meyering@redhat.com>
26748
26749         test-pwrite: do not leave behind a test file named "out"
26750         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26751         The trivial-looking use of init.sh is really necessary.
26752         It ensures that the temporary file, "out", is created in
26753         a temporary directory, and removed upon termination.
26754         * tests/test-pwrite.sh: Re-add file.
26755         * modules/pwrite-tests: Reference it.
26756
26757 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26758
26759         Fix output redirection buglet in init.sh.
26760         * tests/init.sh: Fix redirection of stderr.
26761
26762 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26763
26764         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26765
26766 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26767
26768         * modules/valgrind-tests: New file.
26769         * m4/valgrind-tests.m4: New file.
26770         * doc/valgrind-tests.texi: New file.
26771         * doc/gnulib.texi (Running self-tests under valgrind): New
26772         section.
26773
26774 2010-05-19  Bruno Haible  <bruno@clisp.org>
26775
26776         Clean up dead code in recent commit.
26777         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26778         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26779         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26780         Suggested by Paolo Bonzini.
26781
26782 2010-05-19  Bruno Haible  <bruno@clisp.org>
26783
26784         Avoid valgrind error reports from libunistring.
26785         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26786         * modules/libunistring (Files): Add it.
26787         * modules/libunistring-optional (Files): Likewise.
26788
26789 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26790             Bruno Haible  <bruno@clisp.org>
26791
26792         New module 'libunistring-optional'.
26793         * modules/libunistring-optional: New file.
26794         * m4/libunistring-base.m4: New file.
26795         * m4/libunistring-optional.m4: New file.
26796         * lib/unicase.in.h: Renamed from lib/unicase.h.
26797         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26798         * lib/unictype.in.h: Renamed from lib/unictype.h.
26799         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26800         * lib/uniname.in.h: Renamed from lib/uniname.h.
26801         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26802         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26803         * lib/unistr.in.h: Renamed from lib/unistr.h.
26804         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26805         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26806         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26807         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26808         gl_LIBUNISTRING. If the library was found, determine the installed
26809         version and set LIBUNISTRING_VERSION.
26810         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26811         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26812         handle a configuration option --with-included-libunistring.
26813         * modules/libunistring (Files): Add m4/absolute-header.m4.
26814         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26815         Add m4/libunistring-base.m4.
26816         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26817         (Makefile.am): Build unicase.h from unicase.in.h.
26818         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26819         Add m4/libunistring-base.m4.
26820         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26821         (Makefile.am): Build uniconv.h from uniconv.in.h.
26822         * modules/unictype/base (Files): Use unictype.in.h instead of
26823         unictype.h. Add m4/libunistring-base.m4.
26824         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26825         (Makefile.am): Build unictype.h from unictype.in.h.
26826         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26827         Add m4/libunistring-base.m4.
26828         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26829         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26830         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26831         Add m4/libunistring-base.m4.
26832         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26833         (Makefile.am): Build uniname.h from uniname.in.h.
26834         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26835         Add m4/libunistring-base.m4.
26836         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26837         (Makefile.am): Build uninorm.h from uninorm.in.h.
26838         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26839         unistdio.h. Add m4/libunistring-base.m4.
26840         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26841         (Makefile.am): Build unistdio.h from unistdio.in.h.
26842         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26843         Add m4/libunistring-base.m4.
26844         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26845         (Makefile.am): Build unistr.h from unistr.in.h.
26846         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26847         Add m4/libunistring-base.m4.
26848         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26849         (Makefile.am): Build unitypes.h from unitypes.in.h.
26850         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26851         Add m4/libunistring-base.m4.
26852         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26853         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26854         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26855         uniwidth.h. Add m4/libunistring-base.m4.
26856         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26857         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26858         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26859         instead of augmenting lib_SOURCES.
26860         * modules/unicase/empty-suffix-context: Likewise.
26861         * modules/unicase/locale-language: Likewise.
26862         * modules/unicase/tolower: Likewise.
26863         * modules/unicase/totitle: Likewise.
26864         * modules/unicase/toupper: Likewise.
26865         * modules/unicase/u8-casecmp: Likewise.
26866         * modules/unicase/u8-casecoll: Likewise.
26867         * modules/unicase/u8-casefold: Likewise.
26868         * modules/unicase/u8-casexfrm: Likewise.
26869         * modules/unicase/u8-ct-casefold: Likewise.
26870         * modules/unicase/u8-ct-tolower: Likewise.
26871         * modules/unicase/u8-ct-totitle: Likewise.
26872         * modules/unicase/u8-ct-toupper: Likewise.
26873         * modules/unicase/u8-is-cased: Likewise.
26874         * modules/unicase/u8-is-casefolded: Likewise.
26875         * modules/unicase/u8-is-lowercase: Likewise.
26876         * modules/unicase/u8-is-titlecase: Likewise.
26877         * modules/unicase/u8-is-uppercase: Likewise.
26878         * modules/unicase/u8-prefix-context: Likewise.
26879         * modules/unicase/u8-suffix-context: Likewise.
26880         * modules/unicase/u8-tolower: Likewise.
26881         * modules/unicase/u8-totitle: Likewise.
26882         * modules/unicase/u8-toupper: Likewise.
26883         * modules/unicase/u16-casecmp: Likewise.
26884         * modules/unicase/u16-casecoll: Likewise.
26885         * modules/unicase/u16-casefold: Likewise.
26886         * modules/unicase/u16-casexfrm: Likewise.
26887         * modules/unicase/u16-ct-casefold: Likewise.
26888         * modules/unicase/u16-ct-tolower: Likewise.
26889         * modules/unicase/u16-ct-totitle: Likewise.
26890         * modules/unicase/u16-ct-toupper: Likewise.
26891         * modules/unicase/u16-is-cased: Likewise.
26892         * modules/unicase/u16-is-casefolded: Likewise.
26893         * modules/unicase/u16-is-lowercase: Likewise.
26894         * modules/unicase/u16-is-titlecase: Likewise.
26895         * modules/unicase/u16-is-uppercase: Likewise.
26896         * modules/unicase/u16-prefix-context: Likewise.
26897         * modules/unicase/u16-suffix-context: Likewise.
26898         * modules/unicase/u16-tolower: Likewise.
26899         * modules/unicase/u16-totitle: Likewise.
26900         * modules/unicase/u16-toupper: Likewise.
26901         * modules/unicase/u32-casecmp: Likewise.
26902         * modules/unicase/u32-casecoll: Likewise.
26903         * modules/unicase/u32-casefold: Likewise.
26904         * modules/unicase/u32-casexfrm: Likewise.
26905         * modules/unicase/u32-ct-casefold: Likewise.
26906         * modules/unicase/u32-ct-tolower: Likewise.
26907         * modules/unicase/u32-ct-totitle: Likewise.
26908         * modules/unicase/u32-ct-toupper: Likewise.
26909         * modules/unicase/u32-is-cased: Likewise.
26910         * modules/unicase/u32-is-casefolded: Likewise.
26911         * modules/unicase/u32-is-lowercase: Likewise.
26912         * modules/unicase/u32-is-titlecase: Likewise.
26913         * modules/unicase/u32-is-uppercase: Likewise.
26914         * modules/unicase/u32-prefix-context: Likewise.
26915         * modules/unicase/u32-suffix-context: Likewise.
26916         * modules/unicase/u32-tolower: Likewise.
26917         * modules/unicase/u32-totitle: Likewise.
26918         * modules/unicase/u32-toupper: Likewise.
26919         * modules/unicase/ulc-casecmp: Likewise.
26920         * modules/unicase/ulc-casecoll: Likewise.
26921         * modules/unicase/ulc-casexfrm: Likewise.
26922         * modules/uniconv/u8-conv-from-enc: Likewise.
26923         * modules/uniconv/u8-conv-to-enc: Likewise.
26924         * modules/uniconv/u8-strconv-from-enc: Likewise.
26925         * modules/uniconv/u8-strconv-from-locale: Likewise.
26926         * modules/uniconv/u8-strconv-to-enc: Likewise.
26927         * modules/uniconv/u8-strconv-to-locale: Likewise.
26928         * modules/uniconv/u16-conv-from-enc: Likewise.
26929         * modules/uniconv/u16-conv-to-enc: Likewise.
26930         * modules/uniconv/u16-strconv-from-enc: Likewise.
26931         * modules/uniconv/u16-strconv-from-locale: Likewise.
26932         * modules/uniconv/u16-strconv-to-enc: Likewise.
26933         * modules/uniconv/u16-strconv-to-locale: Likewise.
26934         * modules/uniconv/u32-conv-from-enc: Likewise.
26935         * modules/uniconv/u32-conv-to-enc: Likewise.
26936         * modules/uniconv/u32-strconv-from-enc: Likewise.
26937         * modules/uniconv/u32-strconv-from-locale: Likewise.
26938         * modules/uniconv/u32-strconv-to-enc: Likewise.
26939         * modules/uniconv/u32-strconv-to-locale: Likewise.
26940         * modules/unictype/bidicategory-byname: Likewise.
26941         * modules/unictype/bidicategory-name: Likewise.
26942         * modules/unictype/bidicategory-of: Likewise.
26943         * modules/unictype/bidicategory-test: Likewise.
26944         * modules/unictype/block-list: Likewise.
26945         * modules/unictype/block-test: Likewise.
26946         * modules/unictype/category-C: Likewise.
26947         * modules/unictype/category-Cc: Likewise.
26948         * modules/unictype/category-Cf: Likewise.
26949         * modules/unictype/category-Cn: Likewise.
26950         * modules/unictype/category-Co: Likewise.
26951         * modules/unictype/category-Cs: Likewise.
26952         * modules/unictype/category-L: Likewise.
26953         * modules/unictype/category-Ll: Likewise.
26954         * modules/unictype/category-Lm: Likewise.
26955         * modules/unictype/category-Lo: Likewise.
26956         * modules/unictype/category-Lt: Likewise.
26957         * modules/unictype/category-Lu: Likewise.
26958         * modules/unictype/category-M: Likewise.
26959         * modules/unictype/category-Mc: Likewise.
26960         * modules/unictype/category-Me: Likewise.
26961         * modules/unictype/category-Mn: Likewise.
26962         * modules/unictype/category-N: Likewise.
26963         * modules/unictype/category-Nd: Likewise.
26964         * modules/unictype/category-Nl: Likewise.
26965         * modules/unictype/category-No: Likewise.
26966         * modules/unictype/category-P: Likewise.
26967         * modules/unictype/category-Pc: Likewise.
26968         * modules/unictype/category-Pd: Likewise.
26969         * modules/unictype/category-Pe: Likewise.
26970         * modules/unictype/category-Pf: Likewise.
26971         * modules/unictype/category-Pi: Likewise.
26972         * modules/unictype/category-Po: Likewise.
26973         * modules/unictype/category-Ps: Likewise.
26974         * modules/unictype/category-S: Likewise.
26975         * modules/unictype/category-Sc: Likewise.
26976         * modules/unictype/category-Sk: Likewise.
26977         * modules/unictype/category-Sm: Likewise.
26978         * modules/unictype/category-So: Likewise.
26979         * modules/unictype/category-Z: Likewise.
26980         * modules/unictype/category-Zl: Likewise.
26981         * modules/unictype/category-Zp: Likewise.
26982         * modules/unictype/category-Zs: Likewise.
26983         * modules/unictype/category-and: Likewise.
26984         * modules/unictype/category-and-not: Likewise.
26985         * modules/unictype/category-byname: Likewise.
26986         * modules/unictype/category-name: Likewise.
26987         * modules/unictype/category-none: Likewise.
26988         * modules/unictype/category-of: Likewise.
26989         * modules/unictype/category-or: Likewise.
26990         * modules/unictype/category-test: Likewise.
26991         * modules/unictype/combining-class: Likewise.
26992         * modules/unictype/ctype-alnum: Likewise.
26993         * modules/unictype/ctype-alpha: Likewise.
26994         * modules/unictype/ctype-blank: Likewise.
26995         * modules/unictype/ctype-cntrl: Likewise.
26996         * modules/unictype/ctype-digit: Likewise.
26997         * modules/unictype/ctype-graph: Likewise.
26998         * modules/unictype/ctype-lower: Likewise.
26999         * modules/unictype/ctype-print: Likewise.
27000         * modules/unictype/ctype-punct: Likewise.
27001         * modules/unictype/ctype-space: Likewise.
27002         * modules/unictype/ctype-upper: Likewise.
27003         * modules/unictype/ctype-xdigit: Likewise.
27004         * modules/unictype/decimal-digit: Likewise.
27005         * modules/unictype/digit: Likewise.
27006         * modules/unictype/mirror: Likewise.
27007         * modules/unictype/numeric: Likewise.
27008         * modules/unictype/property-alphabetic: Likewise.
27009         * modules/unictype/property-ascii-hex-digit: Likewise.
27010         * modules/unictype/property-bidi-arabic-digit: Likewise.
27011         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
27012         * modules/unictype/property-bidi-block-separator: Likewise.
27013         * modules/unictype/property-bidi-boundary-neutral: Likewise.
27014         * modules/unictype/property-bidi-common-separator: Likewise.
27015         * modules/unictype/property-bidi-control: Likewise.
27016         * modules/unictype/property-bidi-embedding-or-override: Likewise.
27017         * modules/unictype/property-bidi-eur-num-separator: Likewise.
27018         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
27019         * modules/unictype/property-bidi-european-digit: Likewise.
27020         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
27021         * modules/unictype/property-bidi-left-to-right: Likewise.
27022         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
27023         * modules/unictype/property-bidi-other-neutral: Likewise.
27024         * modules/unictype/property-bidi-pdf: Likewise.
27025         * modules/unictype/property-bidi-segment-separator: Likewise.
27026         * modules/unictype/property-bidi-whitespace: Likewise.
27027         * modules/unictype/property-byname: Likewise.
27028         * modules/unictype/property-combining: Likewise.
27029         * modules/unictype/property-composite: Likewise.
27030         * modules/unictype/property-currency-symbol: Likewise.
27031         * modules/unictype/property-dash: Likewise.
27032         * modules/unictype/property-decimal-digit: Likewise.
27033         * modules/unictype/property-default-ignorable-code-point: Likewise.
27034         * modules/unictype/property-deprecated: Likewise.
27035         * modules/unictype/property-diacritic: Likewise.
27036         * modules/unictype/property-extender: Likewise.
27037         * modules/unictype/property-format-control: Likewise.
27038         * modules/unictype/property-grapheme-base: Likewise.
27039         * modules/unictype/property-grapheme-extend: Likewise.
27040         * modules/unictype/property-grapheme-link: Likewise.
27041         * modules/unictype/property-hex-digit: Likewise.
27042         * modules/unictype/property-hyphen: Likewise.
27043         * modules/unictype/property-id-continue: Likewise.
27044         * modules/unictype/property-id-start: Likewise.
27045         * modules/unictype/property-ideographic: Likewise.
27046         * modules/unictype/property-ids-binary-operator: Likewise.
27047         * modules/unictype/property-ids-trinary-operator: Likewise.
27048         * modules/unictype/property-ignorable-control: Likewise.
27049         * modules/unictype/property-iso-control: Likewise.
27050         * modules/unictype/property-join-control: Likewise.
27051         * modules/unictype/property-left-of-pair: Likewise.
27052         * modules/unictype/property-line-separator: Likewise.
27053         * modules/unictype/property-logical-order-exception: Likewise.
27054         * modules/unictype/property-lowercase: Likewise.
27055         * modules/unictype/property-math: Likewise.
27056         * modules/unictype/property-non-break: Likewise.
27057         * modules/unictype/property-not-a-character: Likewise.
27058         * modules/unictype/property-numeric: Likewise.
27059         * modules/unictype/property-other-alphabetic: Likewise.
27060         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
27061         * modules/unictype/property-other-grapheme-extend: Likewise.
27062         * modules/unictype/property-other-id-continue: Likewise.
27063         * modules/unictype/property-other-id-start: Likewise.
27064         * modules/unictype/property-other-lowercase: Likewise.
27065         * modules/unictype/property-other-math: Likewise.
27066         * modules/unictype/property-other-uppercase: Likewise.
27067         * modules/unictype/property-paired-punctuation: Likewise.
27068         * modules/unictype/property-paragraph-separator: Likewise.
27069         * modules/unictype/property-pattern-syntax: Likewise.
27070         * modules/unictype/property-pattern-white-space: Likewise.
27071         * modules/unictype/property-private-use: Likewise.
27072         * modules/unictype/property-punctuation: Likewise.
27073         * modules/unictype/property-quotation-mark: Likewise.
27074         * modules/unictype/property-radical: Likewise.
27075         * modules/unictype/property-sentence-terminal: Likewise.
27076         * modules/unictype/property-soft-dotted: Likewise.
27077         * modules/unictype/property-space: Likewise.
27078         * modules/unictype/property-terminal-punctuation: Likewise.
27079         * modules/unictype/property-test: Likewise.
27080         * modules/unictype/property-titlecase: Likewise.
27081         * modules/unictype/property-unassigned-code-value: Likewise.
27082         * modules/unictype/property-unified-ideograph: Likewise.
27083         * modules/unictype/property-uppercase: Likewise.
27084         * modules/unictype/property-variation-selector: Likewise.
27085         * modules/unictype/property-white-space: Likewise.
27086         * modules/unictype/property-xid-continue: Likewise.
27087         * modules/unictype/property-xid-start: Likewise.
27088         * modules/unictype/property-zero-width: Likewise.
27089         * modules/unictype/scripts: Likewise.
27090         * modules/unictype/syntax-c-ident: Likewise.
27091         * modules/unictype/syntax-c-whitespace: Likewise.
27092         * modules/unictype/syntax-java-ident: Likewise.
27093         * modules/unictype/syntax-java-whitespace: Likewise.
27094         * modules/unilbrk/u8-possible-linebreaks: Likewise.
27095         * modules/unilbrk/u8-width-linebreaks: Likewise.
27096         * modules/unilbrk/u16-possible-linebreaks: Likewise.
27097         * modules/unilbrk/u16-width-linebreaks: Likewise.
27098         * modules/unilbrk/u32-possible-linebreaks: Likewise.
27099         * modules/unilbrk/u32-width-linebreaks: Likewise.
27100         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
27101         * modules/unilbrk/ulc-width-linebreaks: Likewise.
27102         * modules/uniname/uniname: Likewise.
27103         * modules/uninorm/canonical-decomposition: Likewise.
27104         * modules/uninorm/composition: Likewise.
27105         * modules/uninorm/decomposing-form: Likewise.
27106         * modules/uninorm/decomposition: Likewise.
27107         * modules/uninorm/filter: Likewise.
27108         * modules/uninorm/nfc: Likewise.
27109         * modules/uninorm/nfd: Likewise.
27110         * modules/uninorm/nfkc: Likewise.
27111         * modules/uninorm/nfkd: Likewise.
27112         * modules/uninorm/u8-normalize: Likewise.
27113         * modules/uninorm/u8-normcmp: Likewise.
27114         * modules/uninorm/u8-normcoll: Likewise.
27115         * modules/uninorm/u8-normxfrm: Likewise.
27116         * modules/uninorm/u16-normalize: Likewise.
27117         * modules/uninorm/u16-normcmp: Likewise.
27118         * modules/uninorm/u16-normcoll: Likewise.
27119         * modules/uninorm/u16-normxfrm: Likewise.
27120         * modules/uninorm/u32-normalize: Likewise.
27121         * modules/uninorm/u32-normcmp: Likewise.
27122         * modules/uninorm/u32-normcoll: Likewise.
27123         * modules/uninorm/u32-normxfrm: Likewise.
27124         * modules/unistdio/u8-asnprintf: Likewise.
27125         * modules/unistdio/u8-asprintf: Likewise.
27126         * modules/unistdio/u8-snprintf: Likewise.
27127         * modules/unistdio/u8-sprintf: Likewise.
27128         * modules/unistdio/u8-u8-asnprintf: Likewise.
27129         * modules/unistdio/u8-u8-asprintf: Likewise.
27130         * modules/unistdio/u8-u8-snprintf: Likewise.
27131         * modules/unistdio/u8-u8-sprintf: Likewise.
27132         * modules/unistdio/u8-u8-vasnprintf: Likewise.
27133         * modules/unistdio/u8-u8-vasprintf: Likewise.
27134         * modules/unistdio/u8-u8-vsnprintf: Likewise.
27135         * modules/unistdio/u8-u8-vsprintf: Likewise.
27136         * modules/unistdio/u8-vasnprintf: Likewise.
27137         * modules/unistdio/u8-vasprintf: Likewise.
27138         * modules/unistdio/u8-vsnprintf: Likewise.
27139         * modules/unistdio/u8-vsprintf: Likewise.
27140         * modules/unistdio/u16-asnprintf: Likewise.
27141         * modules/unistdio/u16-asprintf: Likewise.
27142         * modules/unistdio/u16-snprintf: Likewise.
27143         * modules/unistdio/u16-sprintf: Likewise.
27144         * modules/unistdio/u16-u16-asnprintf: Likewise.
27145         * modules/unistdio/u16-u16-asprintf: Likewise.
27146         * modules/unistdio/u16-u16-snprintf: Likewise.
27147         * modules/unistdio/u16-u16-sprintf: Likewise.
27148         * modules/unistdio/u16-u16-vasnprintf: Likewise.
27149         * modules/unistdio/u16-u16-vasprintf: Likewise.
27150         * modules/unistdio/u16-u16-vsnprintf: Likewise.
27151         * modules/unistdio/u16-u16-vsprintf: Likewise.
27152         * modules/unistdio/u16-vasnprintf: Likewise.
27153         * modules/unistdio/u16-vasprintf: Likewise.
27154         * modules/unistdio/u16-vsnprintf: Likewise.
27155         * modules/unistdio/u16-vsprintf: Likewise.
27156         * modules/unistdio/u32-asnprintf: Likewise.
27157         * modules/unistdio/u32-asprintf: Likewise.
27158         * modules/unistdio/u32-snprintf: Likewise.
27159         * modules/unistdio/u32-sprintf: Likewise.
27160         * modules/unistdio/u32-u32-asnprintf: Likewise.
27161         * modules/unistdio/u32-u32-asprintf: Likewise.
27162         * modules/unistdio/u32-u32-snprintf: Likewise.
27163         * modules/unistdio/u32-u32-sprintf: Likewise.
27164         * modules/unistdio/u32-u32-vasnprintf: Likewise.
27165         * modules/unistdio/u32-u32-vasprintf: Likewise.
27166         * modules/unistdio/u32-u32-vsnprintf: Likewise.
27167         * modules/unistdio/u32-u32-vsprintf: Likewise.
27168         * modules/unistdio/u32-vasnprintf: Likewise.
27169         * modules/unistdio/u32-vasprintf: Likewise.
27170         * modules/unistdio/u32-vsnprintf: Likewise.
27171         * modules/unistdio/u32-vsprintf: Likewise.
27172         * modules/unistdio/ulc-asnprintf: Likewise.
27173         * modules/unistdio/ulc-asprintf: Likewise.
27174         * modules/unistdio/ulc-fprintf: Likewise.
27175         * modules/unistdio/ulc-snprintf: Likewise.
27176         * modules/unistdio/ulc-sprintf: Likewise.
27177         * modules/unistdio/ulc-vasnprintf: Likewise.
27178         * modules/unistdio/ulc-vasprintf: Likewise.
27179         * modules/unistdio/ulc-vfprintf: Likewise.
27180         * modules/unistdio/ulc-vsnprintf: Likewise.
27181         * modules/unistdio/ulc-vsprintf: Likewise.
27182         * modules/unistr/u8-check: Likewise.
27183         * modules/unistr/u8-chr: Likewise.
27184         * modules/unistr/u8-cmp: Likewise.
27185         * modules/unistr/u8-cmp2: Likewise.
27186         * modules/unistr/u8-cpy: Likewise.
27187         * modules/unistr/u8-cpy-alloc: Likewise.
27188         * modules/unistr/u8-endswith: Likewise.
27189         * modules/unistr/u8-mblen: Likewise.
27190         * modules/unistr/u8-mbsnlen: Likewise.
27191         * modules/unistr/u8-mbtouc: Likewise.
27192         * modules/unistr/u8-mbtouc-unsafe: Likewise.
27193         * modules/unistr/u8-mbtoucr: Likewise.
27194         * modules/unistr/u8-move: Likewise.
27195         * modules/unistr/u8-next: Likewise.
27196         * modules/unistr/u8-prev: Likewise.
27197         * modules/unistr/u8-set: Likewise.
27198         * modules/unistr/u8-startswith: Likewise.
27199         * modules/unistr/u8-stpcpy: Likewise.
27200         * modules/unistr/u8-stpncpy: Likewise.
27201         * modules/unistr/u8-strcat: Likewise.
27202         * modules/unistr/u8-strchr: Likewise.
27203         * modules/unistr/u8-strcmp: Likewise.
27204         * modules/unistr/u8-strcoll: Likewise.
27205         * modules/unistr/u8-strcpy: Likewise.
27206         * modules/unistr/u8-strcspn: Likewise.
27207         * modules/unistr/u8-strdup: Likewise.
27208         * modules/unistr/u8-strlen: Likewise.
27209         * modules/unistr/u8-strmblen: Likewise.
27210         * modules/unistr/u8-strmbtouc: Likewise.
27211         * modules/unistr/u8-strncat: Likewise.
27212         * modules/unistr/u8-strncmp: Likewise.
27213         * modules/unistr/u8-strncpy: Likewise.
27214         * modules/unistr/u8-strnlen: Likewise.
27215         * modules/unistr/u8-strpbrk: Likewise.
27216         * modules/unistr/u8-strrchr: Likewise.
27217         * modules/unistr/u8-strspn: Likewise.
27218         * modules/unistr/u8-strstr: Likewise.
27219         * modules/unistr/u8-strtok: Likewise.
27220         * modules/unistr/u8-to-u16: Likewise.
27221         * modules/unistr/u8-to-u32: Likewise.
27222         * modules/unistr/u8-uctomb: Likewise.
27223         * modules/unistr/u16-check: Likewise.
27224         * modules/unistr/u16-chr: Likewise.
27225         * modules/unistr/u16-cmp: Likewise.
27226         * modules/unistr/u16-cmp2: Likewise.
27227         * modules/unistr/u16-cpy: Likewise.
27228         * modules/unistr/u16-cpy-alloc: Likewise.
27229         * modules/unistr/u16-endswith: Likewise.
27230         * modules/unistr/u16-mblen: Likewise.
27231         * modules/unistr/u16-mbsnlen: Likewise.
27232         * modules/unistr/u16-mbtouc: Likewise.
27233         * modules/unistr/u16-mbtouc-unsafe: Likewise.
27234         * modules/unistr/u16-mbtoucr: Likewise.
27235         * modules/unistr/u16-move: Likewise.
27236         * modules/unistr/u16-next: Likewise.
27237         * modules/unistr/u16-prev: Likewise.
27238         * modules/unistr/u16-set: Likewise.
27239         * modules/unistr/u16-startswith: Likewise.
27240         * modules/unistr/u16-stpcpy: Likewise.
27241         * modules/unistr/u16-stpncpy: Likewise.
27242         * modules/unistr/u16-strcat: Likewise.
27243         * modules/unistr/u16-strchr: Likewise.
27244         * modules/unistr/u16-strcmp: Likewise.
27245         * modules/unistr/u16-strcoll: Likewise.
27246         * modules/unistr/u16-strcpy: Likewise.
27247         * modules/unistr/u16-strcspn: Likewise.
27248         * modules/unistr/u16-strdup: Likewise.
27249         * modules/unistr/u16-strlen: Likewise.
27250         * modules/unistr/u16-strmblen: Likewise.
27251         * modules/unistr/u16-strmbtouc: Likewise.
27252         * modules/unistr/u16-strncat: Likewise.
27253         * modules/unistr/u16-strncmp: Likewise.
27254         * modules/unistr/u16-strncpy: Likewise.
27255         * modules/unistr/u16-strnlen: Likewise.
27256         * modules/unistr/u16-strpbrk: Likewise.
27257         * modules/unistr/u16-strrchr: Likewise.
27258         * modules/unistr/u16-strspn: Likewise.
27259         * modules/unistr/u16-strstr: Likewise.
27260         * modules/unistr/u16-strtok: Likewise.
27261         * modules/unistr/u16-to-u32: Likewise.
27262         * modules/unistr/u16-to-u8: Likewise.
27263         * modules/unistr/u16-uctomb: Likewise.
27264         * modules/unistr/u32-check: Likewise.
27265         * modules/unistr/u32-chr: Likewise.
27266         * modules/unistr/u32-cmp: Likewise.
27267         * modules/unistr/u32-cmp2: Likewise.
27268         * modules/unistr/u32-cpy: Likewise.
27269         * modules/unistr/u32-cpy-alloc: Likewise.
27270         * modules/unistr/u32-endswith: Likewise.
27271         * modules/unistr/u32-mblen: Likewise.
27272         * modules/unistr/u32-mbsnlen: Likewise.
27273         * modules/unistr/u32-mbtouc: Likewise.
27274         * modules/unistr/u32-mbtouc-unsafe: Likewise.
27275         * modules/unistr/u32-mbtoucr: Likewise.
27276         * modules/unistr/u32-move: Likewise.
27277         * modules/unistr/u32-next: Likewise.
27278         * modules/unistr/u32-prev: Likewise.
27279         * modules/unistr/u32-set: Likewise.
27280         * modules/unistr/u32-startswith: Likewise.
27281         * modules/unistr/u32-stpcpy: Likewise.
27282         * modules/unistr/u32-stpncpy: Likewise.
27283         * modules/unistr/u32-strcat: Likewise.
27284         * modules/unistr/u32-strchr: Likewise.
27285         * modules/unistr/u32-strcmp: Likewise.
27286         * modules/unistr/u32-strcoll: Likewise.
27287         * modules/unistr/u32-strcpy: Likewise.
27288         * modules/unistr/u32-strcspn: Likewise.
27289         * modules/unistr/u32-strdup: Likewise.
27290         * modules/unistr/u32-strlen: Likewise.
27291         * modules/unistr/u32-strmblen: Likewise.
27292         * modules/unistr/u32-strmbtouc: Likewise.
27293         * modules/unistr/u32-strncat: Likewise.
27294         * modules/unistr/u32-strncmp: Likewise.
27295         * modules/unistr/u32-strncpy: Likewise.
27296         * modules/unistr/u32-strnlen: Likewise.
27297         * modules/unistr/u32-strpbrk: Likewise.
27298         * modules/unistr/u32-strrchr: Likewise.
27299         * modules/unistr/u32-strspn: Likewise.
27300         * modules/unistr/u32-strstr: Likewise.
27301         * modules/unistr/u32-strtok: Likewise.
27302         * modules/unistr/u32-to-u16: Likewise.
27303         * modules/unistr/u32-to-u8: Likewise.
27304         * modules/unistr/u32-uctomb: Likewise.
27305         * modules/uniwbrk/u8-wordbreaks: Likewise.
27306         * modules/uniwbrk/u16-wordbreaks: Likewise.
27307         * modules/uniwbrk/u32-wordbreaks: Likewise.
27308         * modules/uniwbrk/ulc-wordbreaks: Likewise.
27309         * modules/uniwbrk/wordbreak-property: Likewise.
27310         * modules/uniwidth/u8-strwidth: Likewise.
27311         * modules/uniwidth/u8-width: Likewise.
27312         * modules/uniwidth/u16-strwidth: Likewise.
27313         * modules/uniwidth/u16-width: Likewise.
27314         * modules/uniwidth/u32-strwidth: Likewise.
27315         * modules/uniwidth/u32-width: Likewise.
27316         * modules/uniwidth/width: Likewise.
27317         * modules/unicase/cased-tests (Makefile.am): Link all test programs
27318         with $(LIBUNISTRING).
27319         * modules/unicase/ignorable-tests: Likewise.
27320         * modules/unicase/locale-language-tests: Likewise.
27321         * modules/unicase/tolower-tests: Likewise.
27322         * modules/unicase/totitle-tests: Likewise.
27323         * modules/unicase/toupper-tests: Likewise.
27324         * modules/unicase/u8-casecmp-tests: Likewise.
27325         * modules/unicase/u8-casecoll-tests: Likewise.
27326         * modules/unicase/u8-casefold-tests: Likewise.
27327         * modules/unicase/u8-is-cased-tests: Likewise.
27328         * modules/unicase/u8-is-casefolded-tests: Likewise.
27329         * modules/unicase/u8-is-lowercase-tests: Likewise.
27330         * modules/unicase/u8-is-titlecase-tests: Likewise.
27331         * modules/unicase/u8-is-uppercase-tests: Likewise.
27332         * modules/unicase/u8-tolower-tests: Likewise.
27333         * modules/unicase/u8-totitle-tests: Likewise.
27334         * modules/unicase/u8-toupper-tests: Likewise.
27335         * modules/unicase/u16-casecmp-tests: Likewise.
27336         * modules/unicase/u16-casecoll-tests: Likewise.
27337         * modules/unicase/u16-casefold-tests: Likewise.
27338         * modules/unicase/u16-is-cased-tests: Likewise.
27339         * modules/unicase/u16-is-casefolded-tests: Likewise.
27340         * modules/unicase/u16-is-lowercase-tests: Likewise.
27341         * modules/unicase/u16-is-titlecase-tests: Likewise.
27342         * modules/unicase/u16-is-uppercase-tests: Likewise.
27343         * modules/unicase/u16-tolower-tests: Likewise.
27344         * modules/unicase/u16-totitle-tests: Likewise.
27345         * modules/unicase/u16-toupper-tests: Likewise.
27346         * modules/unicase/u32-casecmp-tests: Likewise.
27347         * modules/unicase/u32-casecoll-tests: Likewise.
27348         * modules/unicase/u32-casefold-tests: Likewise.
27349         * modules/unicase/u32-is-cased-tests: Likewise.
27350         * modules/unicase/u32-is-casefolded-tests: Likewise.
27351         * modules/unicase/u32-is-lowercase-tests: Likewise.
27352         * modules/unicase/u32-is-titlecase-tests: Likewise.
27353         * modules/unicase/u32-is-uppercase-tests: Likewise.
27354         * modules/unicase/u32-tolower-tests: Likewise.
27355         * modules/unicase/u32-totitle-tests: Likewise.
27356         * modules/unicase/u32-toupper-tests: Likewise.
27357         * modules/unicase/ulc-casecmp-tests: Likewise.
27358         * modules/unicase/ulc-casecoll-tests: Likewise.
27359         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
27360         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
27361         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
27362         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
27363         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
27364         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
27365         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
27366         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
27367         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
27368         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
27369         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
27370         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
27371         * modules/unictype/bidicategory-byname-tests: Likewise.
27372         * modules/unictype/bidicategory-name-tests: Likewise.
27373         * modules/unictype/bidicategory-of-tests: Likewise.
27374         * modules/unictype/bidicategory-test-tests: Likewise.
27375         * modules/unictype/block-list-tests: Likewise.
27376         * modules/unictype/block-of-tests: Likewise.
27377         * modules/unictype/block-test-tests: Likewise.
27378         * modules/unictype/category-C-tests: Likewise.
27379         * modules/unictype/category-Cc-tests: Likewise.
27380         * modules/unictype/category-Cf-tests: Likewise.
27381         * modules/unictype/category-Cn-tests: Likewise.
27382         * modules/unictype/category-Co-tests: Likewise.
27383         * modules/unictype/category-Cs-tests: Likewise.
27384         * modules/unictype/category-L-tests: Likewise.
27385         * modules/unictype/category-Ll-tests: Likewise.
27386         * modules/unictype/category-Lm-tests: Likewise.
27387         * modules/unictype/category-Lo-tests: Likewise.
27388         * modules/unictype/category-Lt-tests: Likewise.
27389         * modules/unictype/category-Lu-tests: Likewise.
27390         * modules/unictype/category-M-tests: Likewise.
27391         * modules/unictype/category-Mc-tests: Likewise.
27392         * modules/unictype/category-Me-tests: Likewise.
27393         * modules/unictype/category-Mn-tests: Likewise.
27394         * modules/unictype/category-N-tests: Likewise.
27395         * modules/unictype/category-Nd-tests: Likewise.
27396         * modules/unictype/category-Nl-tests: Likewise.
27397         * modules/unictype/category-No-tests: Likewise.
27398         * modules/unictype/category-P-tests: Likewise.
27399         * modules/unictype/category-Pc-tests: Likewise.
27400         * modules/unictype/category-Pd-tests: Likewise.
27401         * modules/unictype/category-Pe-tests: Likewise.
27402         * modules/unictype/category-Pf-tests: Likewise.
27403         * modules/unictype/category-Pi-tests: Likewise.
27404         * modules/unictype/category-Po-tests: Likewise.
27405         * modules/unictype/category-Ps-tests: Likewise.
27406         * modules/unictype/category-S-tests: Likewise.
27407         * modules/unictype/category-Sc-tests: Likewise.
27408         * modules/unictype/category-Sk-tests: Likewise.
27409         * modules/unictype/category-Sm-tests: Likewise.
27410         * modules/unictype/category-So-tests: Likewise.
27411         * modules/unictype/category-Z-tests: Likewise.
27412         * modules/unictype/category-Zl-tests: Likewise.
27413         * modules/unictype/category-Zp-tests: Likewise.
27414         * modules/unictype/category-Zs-tests: Likewise.
27415         * modules/unictype/category-and-not-tests: Likewise.
27416         * modules/unictype/category-and-tests: Likewise.
27417         * modules/unictype/category-byname-tests: Likewise.
27418         * modules/unictype/category-name-tests: Likewise.
27419         * modules/unictype/category-none-tests: Likewise.
27420         * modules/unictype/category-of-tests: Likewise.
27421         * modules/unictype/category-or-tests: Likewise.
27422         * modules/unictype/category-test-withtable-tests: Likewise.
27423         * modules/unictype/combining-class-tests: Likewise.
27424         * modules/unictype/ctype-alnum-tests: Likewise.
27425         * modules/unictype/ctype-alpha-tests: Likewise.
27426         * modules/unictype/ctype-blank-tests: Likewise.
27427         * modules/unictype/ctype-cntrl-tests: Likewise.
27428         * modules/unictype/ctype-digit-tests: Likewise.
27429         * modules/unictype/ctype-graph-tests: Likewise.
27430         * modules/unictype/ctype-lower-tests: Likewise.
27431         * modules/unictype/ctype-print-tests: Likewise.
27432         * modules/unictype/ctype-punct-tests: Likewise.
27433         * modules/unictype/ctype-space-tests: Likewise.
27434         * modules/unictype/ctype-upper-tests: Likewise.
27435         * modules/unictype/ctype-xdigit-tests: Likewise.
27436         * modules/unictype/decimal-digit-tests: Likewise.
27437         * modules/unictype/digit-tests: Likewise.
27438         * modules/unictype/mirror-tests: Likewise.
27439         * modules/unictype/numeric-tests: Likewise.
27440         * modules/unictype/property-alphabetic-tests: Likewise.
27441         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27442         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27443         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27444         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27445         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27446         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27447         * modules/unictype/property-bidi-control-tests: Likewise.
27448         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27449         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27450         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27451         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27452         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27453         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27454         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27455         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27456         * modules/unictype/property-bidi-pdf-tests: Likewise.
27457         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27458         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27459         * modules/unictype/property-byname-tests: Likewise.
27460         * modules/unictype/property-combining-tests: Likewise.
27461         * modules/unictype/property-composite-tests: Likewise.
27462         * modules/unictype/property-currency-symbol-tests: Likewise.
27463         * modules/unictype/property-dash-tests: Likewise.
27464         * modules/unictype/property-decimal-digit-tests: Likewise.
27465         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27466         * modules/unictype/property-deprecated-tests: Likewise.
27467         * modules/unictype/property-diacritic-tests: Likewise.
27468         * modules/unictype/property-extender-tests: Likewise.
27469         * modules/unictype/property-format-control-tests: Likewise.
27470         * modules/unictype/property-grapheme-base-tests: Likewise.
27471         * modules/unictype/property-grapheme-extend-tests: Likewise.
27472         * modules/unictype/property-grapheme-link-tests: Likewise.
27473         * modules/unictype/property-hex-digit-tests: Likewise.
27474         * modules/unictype/property-hyphen-tests: Likewise.
27475         * modules/unictype/property-id-continue-tests: Likewise.
27476         * modules/unictype/property-id-start-tests: Likewise.
27477         * modules/unictype/property-ideographic-tests: Likewise.
27478         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27479         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27480         * modules/unictype/property-ignorable-control-tests: Likewise.
27481         * modules/unictype/property-iso-control-tests: Likewise.
27482         * modules/unictype/property-join-control-tests: Likewise.
27483         * modules/unictype/property-left-of-pair-tests: Likewise.
27484         * modules/unictype/property-line-separator-tests: Likewise.
27485         * modules/unictype/property-logical-order-exception-tests: Likewise.
27486         * modules/unictype/property-lowercase-tests: Likewise.
27487         * modules/unictype/property-math-tests: Likewise.
27488         * modules/unictype/property-non-break-tests: Likewise.
27489         * modules/unictype/property-not-a-character-tests: Likewise.
27490         * modules/unictype/property-numeric-tests: Likewise.
27491         * modules/unictype/property-other-alphabetic-tests: Likewise.
27492         * modules/unictype/property-other-default-ignorable-code-point-tests:
27493         Likewise.
27494         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27495         * modules/unictype/property-other-id-continue-tests: Likewise.
27496         * modules/unictype/property-other-id-start-tests: Likewise.
27497         * modules/unictype/property-other-lowercase-tests: Likewise.
27498         * modules/unictype/property-other-math-tests: Likewise.
27499         * modules/unictype/property-other-uppercase-tests: Likewise.
27500         * modules/unictype/property-paired-punctuation-tests: Likewise.
27501         * modules/unictype/property-paragraph-separator-tests: Likewise.
27502         * modules/unictype/property-pattern-syntax-tests: Likewise.
27503         * modules/unictype/property-pattern-white-space-tests: Likewise.
27504         * modules/unictype/property-private-use-tests: Likewise.
27505         * modules/unictype/property-punctuation-tests: Likewise.
27506         * modules/unictype/property-quotation-mark-tests: Likewise.
27507         * modules/unictype/property-radical-tests: Likewise.
27508         * modules/unictype/property-sentence-terminal-tests: Likewise.
27509         * modules/unictype/property-soft-dotted-tests: Likewise.
27510         * modules/unictype/property-space-tests: Likewise.
27511         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27512         * modules/unictype/property-test-tests: Likewise.
27513         * modules/unictype/property-titlecase-tests: Likewise.
27514         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27515         * modules/unictype/property-unified-ideograph-tests: Likewise.
27516         * modules/unictype/property-uppercase-tests: Likewise.
27517         * modules/unictype/property-variation-selector-tests: Likewise.
27518         * modules/unictype/property-white-space-tests: Likewise.
27519         * modules/unictype/property-xid-continue-tests: Likewise.
27520         * modules/unictype/property-xid-start-tests: Likewise.
27521         * modules/unictype/property-zero-width-tests: Likewise.
27522         * modules/unictype/scripts-tests: Likewise.
27523         * modules/unictype/syntax-c-ident-tests: Likewise.
27524         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27525         * modules/unictype/syntax-java-ident-tests: Likewise.
27526         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27527         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27528         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27529         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27530         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27531         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27532         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27533         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27534         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27535         * modules/uniname/uniname-tests: Likewise.
27536         * modules/uninorm/canonical-decomposition-tests: Likewise.
27537         * modules/uninorm/compat-decomposition-tests: Likewise.
27538         * modules/uninorm/composition-tests: Likewise.
27539         * modules/uninorm/decomposing-form-tests: Likewise.
27540         * modules/uninorm/decomposition-tests: Likewise.
27541         * modules/uninorm/filter-tests: Likewise.
27542         * modules/uninorm/nfc-tests: Likewise.
27543         * modules/uninorm/nfd-tests: Likewise.
27544         * modules/uninorm/nfkc-tests: Likewise.
27545         * modules/uninorm/nfkd-tests: Likewise.
27546         * modules/uninorm/u8-normcmp-tests: Likewise.
27547         * modules/uninorm/u8-normcoll-tests: Likewise.
27548         * modules/uninorm/u16-normcmp-tests: Likewise.
27549         * modules/uninorm/u16-normcoll-tests: Likewise.
27550         * modules/uninorm/u32-normcmp-tests: Likewise.
27551         * modules/uninorm/u32-normcoll-tests: Likewise.
27552         * modules/unistdio/u8-asnprintf-tests: Likewise.
27553         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27554         * modules/unistdio/u8-vasprintf-tests: Likewise.
27555         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27556         * modules/unistdio/u8-vsprintf-tests: Likewise.
27557         * modules/unistdio/u16-asnprintf-tests: Likewise.
27558         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27559         * modules/unistdio/u16-vasprintf-tests: Likewise.
27560         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27561         * modules/unistdio/u16-vsprintf-tests: Likewise.
27562         * modules/unistdio/u32-asnprintf-tests: Likewise.
27563         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27564         * modules/unistdio/u32-vasprintf-tests: Likewise.
27565         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27566         * modules/unistdio/u32-vsprintf-tests: Likewise.
27567         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27568         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27569         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27570         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27571         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27572         * modules/unistr/u8-check-tests: Likewise.
27573         * modules/unistr/u8-chr-tests: Likewise.
27574         * modules/unistr/u8-cmp-tests: Likewise.
27575         * modules/unistr/u8-cmp2-tests: Likewise.
27576         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27577         * modules/unistr/u8-cpy-tests: Likewise.
27578         * modules/unistr/u8-mblen-tests: Likewise.
27579         * modules/unistr/u8-mbsnlen-tests: Likewise.
27580         * modules/unistr/u8-mbtouc-tests: Likewise.
27581         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27582         * modules/unistr/u8-mbtoucr-tests: Likewise.
27583         * modules/unistr/u8-move-tests: Likewise.
27584         * modules/unistr/u8-next-tests: Likewise.
27585         * modules/unistr/u8-prev-tests: Likewise.
27586         * modules/unistr/u8-set-tests: Likewise.
27587         * modules/unistr/u8-stpcpy-tests: Likewise.
27588         * modules/unistr/u8-stpncpy-tests: Likewise.
27589         * modules/unistr/u8-strcat-tests: Likewise.
27590         * modules/unistr/u8-strcmp-tests: Likewise.
27591         * modules/unistr/u8-strcoll-tests: Likewise.
27592         * modules/unistr/u8-strcpy-tests: Likewise.
27593         * modules/unistr/u8-strdup-tests: Likewise.
27594         * modules/unistr/u8-strlen-tests: Likewise.
27595         * modules/unistr/u8-strmblen-tests: Likewise.
27596         * modules/unistr/u8-strmbtouc-tests: Likewise.
27597         * modules/unistr/u8-strncat-tests: Likewise.
27598         * modules/unistr/u8-strncmp-tests: Likewise.
27599         * modules/unistr/u8-strncpy-tests: Likewise.
27600         * modules/unistr/u8-strnlen-tests: Likewise.
27601         * modules/unistr/u8-to-u16-tests: Likewise.
27602         * modules/unistr/u8-to-u32-tests: Likewise.
27603         * modules/unistr/u8-uctomb-tests: Likewise.
27604         * modules/unistr/u16-check-tests: Likewise.
27605         * modules/unistr/u16-chr-tests: Likewise.
27606         * modules/unistr/u16-cmp-tests: Likewise.
27607         * modules/unistr/u16-cmp2-tests: Likewise.
27608         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27609         * modules/unistr/u16-cpy-tests: Likewise.
27610         * modules/unistr/u16-mblen-tests: Likewise.
27611         * modules/unistr/u16-mbsnlen-tests: Likewise.
27612         * modules/unistr/u16-mbtouc-tests: Likewise.
27613         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27614         * modules/unistr/u16-mbtoucr-tests: Likewise.
27615         * modules/unistr/u16-move-tests: Likewise.
27616         * modules/unistr/u16-next-tests: Likewise.
27617         * modules/unistr/u16-prev-tests: Likewise.
27618         * modules/unistr/u16-set-tests: Likewise.
27619         * modules/unistr/u16-stpcpy-tests: Likewise.
27620         * modules/unistr/u16-stpncpy-tests: Likewise.
27621         * modules/unistr/u16-strcat-tests: Likewise.
27622         * modules/unistr/u16-strcmp-tests: Likewise.
27623         * modules/unistr/u16-strcoll-tests: Likewise.
27624         * modules/unistr/u16-strcpy-tests: Likewise.
27625         * modules/unistr/u16-strdup-tests: Likewise.
27626         * modules/unistr/u16-strlen-tests: Likewise.
27627         * modules/unistr/u16-strmblen-tests: Likewise.
27628         * modules/unistr/u16-strmbtouc-tests: Likewise.
27629         * modules/unistr/u16-strncat-tests: Likewise.
27630         * modules/unistr/u16-strncmp-tests: Likewise.
27631         * modules/unistr/u16-strncpy-tests: Likewise.
27632         * modules/unistr/u16-strnlen-tests: Likewise.
27633         * modules/unistr/u16-to-u32-tests: Likewise.
27634         * modules/unistr/u16-to-u8-tests: Likewise.
27635         * modules/unistr/u16-uctomb-tests: Likewise.
27636         * modules/unistr/u32-check-tests: Likewise.
27637         * modules/unistr/u32-chr-tests: Likewise.
27638         * modules/unistr/u32-cmp-tests: Likewise.
27639         * modules/unistr/u32-cmp2-tests: Likewise.
27640         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27641         * modules/unistr/u32-cpy-tests: Likewise.
27642         * modules/unistr/u32-mblen-tests: Likewise.
27643         * modules/unistr/u32-mbsnlen-tests: Likewise.
27644         * modules/unistr/u32-mbtouc-tests: Likewise.
27645         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27646         * modules/unistr/u32-mbtoucr-tests: Likewise.
27647         * modules/unistr/u32-move-tests: Likewise.
27648         * modules/unistr/u32-next-tests: Likewise.
27649         * modules/unistr/u32-prev-tests: Likewise.
27650         * modules/unistr/u32-set-tests: Likewise.
27651         * modules/unistr/u32-stpcpy-tests: Likewise.
27652         * modules/unistr/u32-stpncpy-tests: Likewise.
27653         * modules/unistr/u32-strcat-tests: Likewise.
27654         * modules/unistr/u32-strcmp-tests: Likewise.
27655         * modules/unistr/u32-strcoll-tests: Likewise.
27656         * modules/unistr/u32-strcpy-tests: Likewise.
27657         * modules/unistr/u32-strdup-tests: Likewise.
27658         * modules/unistr/u32-strlen-tests: Likewise.
27659         * modules/unistr/u32-strmblen-tests: Likewise.
27660         * modules/unistr/u32-strmbtouc-tests: Likewise.
27661         * modules/unistr/u32-strncat-tests: Likewise.
27662         * modules/unistr/u32-strncmp-tests: Likewise.
27663         * modules/unistr/u32-strncpy-tests: Likewise.
27664         * modules/unistr/u32-strnlen-tests: Likewise.
27665         * modules/unistr/u32-to-u16-tests: Likewise.
27666         * modules/unistr/u32-to-u8-tests: Likewise.
27667         * modules/unistr/u32-uctomb-tests: Likewise.
27668         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27669         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27670         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27671         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27672         * modules/uniwidth/u8-strwidth-tests: Likewise.
27673         * modules/uniwidth/u8-width-tests: Likewise.
27674         * modules/uniwidth/u16-strwidth-tests: Likewise.
27675         * modules/uniwidth/u16-width-tests: Likewise.
27676         * modules/uniwidth/u32-strwidth-tests: Likewise.
27677         * modules/uniwidth/u32-width-tests: Likewise.
27678         * modules/uniwidth/width-tests: Likewise.
27679
27680 2010-05-18  Richard Jones  <rjones@redhat.com>
27681
27682         doc: users.txt: list hivex
27683         * users.txt: Add hivex.
27684
27685 2010-05-18  Richard Jones  <rjones@redhat.com>
27686
27687         doc: users.txt: list febootstrap
27688         * users.txt: Add febootstrap.
27689
27690 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27691
27692         bootstrap: fix an error when gnulib is not used as a git submodule
27693         * build-aux/bootstrap (gnulib_path): If its length is zero then
27694         assign "gnulib" to it.
27695         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27696
27697 2010-05-16  Bruno Haible  <bruno@clisp.org>
27698
27699         Avoid autoconf warnings about AM_ICONV.
27700         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27701         2.64.
27702
27703 2010-05-16  Bruno Haible  <bruno@clisp.org>
27704
27705         absolute-header: Make the macro usable in more situations.
27706         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27707         from gl_ABSOLUTE_HEADER.
27708         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27709
27710 2010-05-16  James Youngman  <jay@gnu.org>
27711
27712         doc: update users.txt
27713         * users.txt: Add CSSC.
27714
27715 2010-05-16  Jim Meyering  <meyering@redhat.com>
27716
27717         init.sh: fix an error in the previous change; add more comments
27718         * tests/init.sh: Compare exit code in loop against 9, not 2.
27719         Patch by Bruno Haible.
27720         Make the two tests more similar by adding an empty "then" clause.
27721         Add comments.
27722
27723         init.sh: avoid unnecessary shell re-exec
27724         * tests/init.sh: Improve the re-exec-required check to first test the
27725         current shell.  If it passes the test, do not search for a shell that
27726         does pass, and do not re-exec.  This test is particularly contorted to
27727         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27728         of $(...) evokes a syntax error and causes immediate shell exit with
27729         status 2.  Bruno Haible reported that the re-exec made it impossible
27730         to single-step through any init.sh-using script.
27731
27732 2010-05-16  Bruno Haible  <bruno@clisp.org>
27733
27734         Fix collision between gnulib's and libintl's printf replacements.
27735         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27736         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27737         (printf): When using GNU C, map the __printf__ function to rpl_printf
27738         via __asm__. When not using GNU C, define rpl_printf instead of
27739         __printf__.
27740         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27741         commit.
27742         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27743         commit.
27744         * m4/asm-underscore.m4: New file.
27745         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27746         * modules/stdio (Files): Add m4/asm-underscore.m4.
27747         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27748         Reported by Ben Pfaff.
27749
27750 2010-05-16  Bruno Haible  <bruno@clisp.org>
27751
27752         verify: Avoid skipping the test on openSUSE 11.0.
27753         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27754
27755 2010-05-13  Bruno Haible  <bruno@clisp.org>
27756
27757         Avoid useless warnings from G++.
27758         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27759         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27760         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27761
27762 2010-05-11  Jim Meyering  <meyering@redhat.com>
27763
27764         maint.mk: tweak preceding change
27765         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27766         regexps tighter by anchoring at EOL, and make the new group "shy"
27767         for slightly decreased overhead.
27768
27769 2010-05-11  Eric Blake  <eblake@redhat.com>
27770
27771         maint.mk: gnulib doesn't guarantee NSIG
27772         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27773
27774 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27775
27776         test-pwrite.c: Remove unused variable declaration.
27777         * tests/test-pwrite.c (main): Remove read_buf declaration.
27778
27779         Remove useless test-pwrite.sh file.
27780         * tests/test-pwrite.sh: Delete file.
27781         * modules/pwrite-tests: Remove references.
27782         Reported by Bruno Haible.
27783
27784 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27785
27786         init.sh: fix a typo
27787         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27788
27789 2010-05-10  Jim Meyering  <meyering@redhat.com>
27790
27791         maint.mk: avoid using a temporary file in the always-defined-macros check
27792         * top/maint.mk (.re-defmac): Remove rule.
27793         (gl_trap_): Remove definition.
27794         (sc_prohibit_always-defined_macros): Rewrite not to create and
27795         depend on a temporary file.  Instead, depend on GNU grep's ability
27796         to read a list of regular expressions from stdin when given "-f -".
27797
27798 2010-05-09  Bruno Haible  <bruno@clisp.org>
27799
27800         Update to GNU gettext 0.18, part 1.
27801         * m4/gettext.m4: Update to GNU gettext 0.18.
27802         * m4/intl.m4: Likewise.
27803         * m4/po.m4: Likewise.
27804         * modules/gettext (Files): Add m4/fcntl-o.m4.
27805         (configure.ac): Require gettext infrastructure from version 0.18.
27806
27807 2010-05-09  Jim Meyering  <meyering@redhat.com>
27808
27809         init.sh: enable MALLOC_PERTURB_
27810         * tests/init.sh: Enable glibc's malloc-perturbing option.
27811
27812         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27813         With my recent change in init.sh from the two-line form:
27814             -#   : ${srcdir=.}
27815             -#   . "$srcdir/init.sh"; path_prepend_ .
27816             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27817         I noticed that using the one-line form would cause this test
27818         to fail with a false-positive, or to stop working altogether,
27819         depending on whether help-version changed or all the tests did.
27820         * top/maint.mk (_hv_regex): Remove this definition.
27821         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27822         (_hv_regex_strong): Use a stronger regex to check for conformance.
27823         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27824         Give a separate diagnostic for lack of conforming use.
27825
27826         maint.mk: prohibit definition of symbols defined by gnulib
27827         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27828         definition of symbols defined by gnulib.
27829
27830 2010-05-09  Bruno Haible  <bruno@clisp.org>
27831
27832         acl: Avoid test failure on Cygwin-hosted mingw.
27833         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27834
27835 2010-05-09  Bruno Haible  <bruno@clisp.org>
27836
27837         error: Use system's fcntl function.
27838         * lib/error.c (fcntl): Undefine.
27839
27840 2010-05-09  Jim Meyering  <meyering@redhat.com>
27841
27842         verify: adjust formatting to be more consistent
27843         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27844         argument-list '('s, and after one comma.
27845
27846 2010-05-09  Bruno Haible  <bruno@clisp.org>
27847
27848         error: More reliable output on mingw.
27849         * lib/error.c: Include <windows.h>.
27850         (is_open): New function.
27851         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27852         defined.
27853
27854 2010-05-09  Bruno Haible  <bruno@clisp.org>
27855
27856         vasnprintf: Fix syntax errors in libintl build on mingw.
27857         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27858         pad_ourselves and prec_ourselves after use.
27859
27860 2010-05-08  Bruno Haible  <bruno@clisp.org>
27861
27862         * lib/config.charset: Update comments for Cygwin 1.7.
27863         * lib/localcharset.c: Likewise.
27864
27865 2010-05-07  Jim Meyering  <meyering@redhat.com>
27866
27867         init.sh: improve comments
27868         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27869         . "${srcdir=.}/init.sh"; path_prepend_ .
27870         Add a note about path_prepend_ and the alternative of using
27871         TESTS_ENVIRONMENT.
27872
27873 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27874
27875         exclude: Unescape hashed patterns in wildcard mode.
27876         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27877         to the hash list.
27878         * tests/test-exclude8.sh: New test case.
27879         * modules/exclude-tests: Add new test.
27880
27881 2010-05-05  Eric Blake  <eblake@redhat.com>
27882
27883         verify: automate tests
27884         * modules/verify-tests: New module.
27885         * tests/test-verify.sh: New file.
27886         * tests/test-verify.c: Guard each negative test with a unique id.
27887         Also avoid warning about unused left hand of comma expressions.
27888
27889 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27890
27891         Further improvements to verify.h, suggested by Eric Blake.
27892         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27893         the GL_* versions, to avoid collision with OpenGL.
27894         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27895         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27896         than testing merely whether it's defined.
27897
27898         Modify verify.h to pacify gcc -Wredundant_decls.
27899         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27900         These use the prefix "GL_" since they're likely to be useful elsewhere.
27901         We may need to break them out into a different .h file.
27902         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27903         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27904         of verify_function__.
27905
27906 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27907
27908         Tests for module pwrite.
27909         * modules/pwrite-tests: New file.
27910         * tests/test-pwrite.sh: New file.
27911         * tests/test-pwrite.c: New file.
27912
27913         New module pwrite.
27914         * lib/unistd.in.h (pwrite): New declaration.
27915         * lib/pwrite.c: New file, from glibc with modifications.
27916         * m4/pwrite.m4: New file.
27917         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27918         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27919         REPLACE_PWRITE.
27920         * modules/pwrite: New file.
27921         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27922         REPLACE_PWRITE.
27923         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27924         * doc/posix-functions/pwrite.texi: Mention the new module.
27925
27926 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27927
27928         pread: Update documentation.
27929         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27930
27931 2010-05-04  Eric Blake  <eblake@redhat.com>
27932
27933         docs: update cygwin progress
27934         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27935         this bug.
27936         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27937         Added in cygwin 1.7.2.
27938         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27939         Likewise.
27940         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27941         Likewise.
27942         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27943         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27944         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27945         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27946         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27947         Mention nproc module.
27948         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27949         bug in cygwin 1.7.5 addition.
27950         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27951         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27952         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27953         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27954         1.7.5.
27955         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27956         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27957         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27958         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27959         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27960         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27961         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27962         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27963         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27964         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27965         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27966         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27967         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27968         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27969         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27970         Likewise.
27971         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27972         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27973         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27974         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27975         Likewise.
27976         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27977         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27978         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27979         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27980         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27981         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27982         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27983         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27984         Likewise.
27985         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27986         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27987         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27988         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27989         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27990         Likewise.
27991         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27992         Likewise.
27993         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27994         Likewise.
27995         * doc/glibc-functions/xdrrec_endofrecord.texi
27996         (xdrrec_endofrecord): Likewise.
27997         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27998         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27999         Likewise.
28000         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
28001         Likewise.
28002
28003 2010-05-04  Jim Meyering  <meyering@redhat.com>
28004
28005         gendocs.sh: make its "-s FILE" option more useful
28006         * build-aux/gendocs.sh: When honoring the -s FILE option, update
28007         $PACKAGE to reflect the probably-different basename of "FILE".
28008
28009 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28010
28011         bootstrap: don't ignore download_po_files failure
28012         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
28013         failure.
28014
28015 2010-05-03  Jim Meyering  <meyering@redhat.com>
28016
28017         maint.mk: allow to pass options to gendocs.sh
28018         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
28019         (gendocs_options_): New overridable variable.
28020
28021         gnu-web-doc-update: don't ignore configure or build failure
28022         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
28023
28024         announce-gen: backslash-escape '@'s in --help output
28025         * build-aux/announce-gen: Fix syntax errors.
28026
28027         maint.mk, announce-gen: allow project-specific announcement mail headers
28028         * top/maint.mk (translation_project_): Define default.
28029         (announcement_Cc_, announcement_mail_headers_): Likewise.
28030         (announcement): Invoke announce-gen with new --mail-headers option.
28031         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
28032
28033         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
28034         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
28035         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
28036         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
28037         line in the "err2" output file when running "make check" in verbose
28038         mode (i.e., with set -x enabled).
28039
28040 2010-05-03  Bruno Haible  <bruno@clisp.org>
28041
28042         wctob: Fix for weird platforms.
28043         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
28044         argument value.
28045
28046 2010-05-03  Jim Meyering  <meyering@redhat.com>
28047
28048         maint.mk: prohibit unwarranted use of <strings.h>
28049         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
28050         strings.h in a file that does not also use strcasecmp, strncasecmp,
28051         ffs or ffsll.
28052
28053         maint.mk: remove obsolete comments
28054         * top/maint.mk: Remove stale, commented-out rules.
28055
28056 2010-05-02  Bruno Haible  <bruno@clisp.org>
28057
28058         wcwidth: Declare also when it's aliased.
28059         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
28060         macro.
28061
28062 2010-05-02  Bruno Haible  <bruno@clisp.org>
28063
28064         Fix regression from 2010-04-25.
28065         * gnulib-tool (func_modules_transitive_closure): Check the status of
28066         all modules, not only of the tests that are of the form foo-tests where
28067         foo is a module.
28068
28069 2010-05-02  Bruno Haible  <bruno@clisp.org>
28070
28071         wctob: Work around nasty Cygwin 1.7.2 bug.
28072         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
28073         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
28074
28075 2010-05-01  Bruno Haible  <bruno@clisp.org>
28076
28077         fpurge: Sharper test.
28078         * tests/test-fpurge.c (main): Add one more ftell check.
28079         * modules/fpurge-tests (Depends-on): Add ftell.
28080         Suggested by Eric Blake.
28081
28082 2010-05-01  Bruno Haible  <bruno@clisp.org>
28083
28084         ftello: Another test.
28085         * tests/test-ftello3.c: New file.
28086         * modules/ftello-tests (Files): Add it.
28087         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28088         MOSTLYCLEANFILES.
28089
28090         ftell: Another test.
28091         * tests/test-ftell3.c: New file.
28092         * modules/ftell-tests (Files): Add it.
28093         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
28094         MOSTLYCLEANFILES.
28095
28096 2010-05-01  Bruno Haible  <bruno@clisp.org>
28097
28098         ftell, ftello: Work around Solaris bug.
28099         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
28100         * lib/ftello.c: Include stdio-impl.h.
28101         (ftello): On Solaris, when _IOWRT is set, compute the result without
28102         looking at _IOREAD.
28103         * modules/ftello (Files): Add lib/stdio-impl.h.
28104         * doc/posix-functions/ftell.texi: Mention Solaris bug.
28105         * doc/posix-functions/ftello.texi: Likewise.
28106         Reported by Eric Blake.
28107
28108 2010-05-01  Bruno Haible  <bruno@clisp.org>
28109
28110         freading: Adapt to special meaning of _IOREAD flag on Solaris.
28111         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
28112         the _IOWRT flag is also set.
28113
28114 2010-05-01  Bruno Haible  <bruno@clisp.org>
28115
28116         Fix doc about a HP-UX stdio bug.
28117         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
28118         * doc/posix-functions/ftello.texi: Likewise.
28119
28120 2010-05-01  Bruno Haible  <bruno@clisp.org>
28121
28122         lseek test: Fix failure on Solaris.
28123         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
28124         output.
28125
28126 2010-04-30  Jim Meyering  <meyering@redhat.com>
28127
28128         bootstrap: don't ignore failure to generate po*/Makevars
28129         * build-aux/bootstrap (with_gettext): Don't ignore failure
28130         to create po/Makevars or runtime-po/Makevars.
28131
28132 2010-04-29  Eric Blake  <eblake@redhat.com>
28133
28134         headers: relax license to LGPLv2+
28135         * modules/fcntl-h (License): Relax license.
28136         * modules/getopt-posix (License): Likewise.
28137         * modules/locale (License): Likewise.
28138         * modules/math (License): Likewise.
28139         * modules/pty (License): Likewise.
28140         * modules/sched (License): Likewise.
28141         * modules/search (License): Likewise.
28142         * modules/spawn (License): Likewise.
28143         * modules/stdarg (License): Likewise.
28144         * modules/sysexits (License): Likewise.
28145
28146 2010-04-29  Jim Meyering  <meyering@redhat.com>
28147
28148         inttypes: relax license to LGPLv2+
28149         * modules/inttypes (License): Relax license.
28150
28151 2010-04-29  Simon Josefsson  <simon@josefsson.org>
28152
28153         * top/maint.mk (indent): Run twice to produce idempotent results.
28154
28155 2010-04-28  Bruno Haible  <bruno@clisp.org>
28156
28157         getdate: Generate getdate.c in the source directory.
28158         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
28159         MOSTLYCLEANFILES.
28160         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
28161
28162 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
28163
28164         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
28165         is not declared as a const *; avoid warnings in that case.
28166
28167 2010-04-28  Eric Blake  <eblake@redhat.com>
28168
28169         canonicalize-lgpl: avoid compiler warning
28170         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
28171         declaration' / 'extraneous semicolon' warning with some compilers.
28172         Reported by Andreas Gruenbacher.
28173
28174 2010-04-28  Jim Meyering  <meyering@redhat.com>
28175
28176         init.sh: ensure a more reliable exit status when exiting via trap
28177         * tests/init.sh (setup_): Don't rely on $? in signal handler.
28178         Inspired by patches from Dmitry V. Levin.
28179         Also trap on signal 3 (SIGQUIT).
28180
28181 2010-04-27  Bruno Haible  <bruno@clisp.org>
28182
28183         Update doc about utimes().
28184         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
28185         'utimens' module.
28186         Reported by Andreas Gruenbacher <agruen@suse.de>.
28187
28188 2010-04-27  Eric Blake  <eblake@redhat.com>
28189
28190         full-read, full-write: relax license
28191         * modules/full-read (License): Drop to LGPLv2+.
28192         * modules/full-write (License): Likewise.
28193         * modules/safe-read (License): Likewise.
28194         * modules/safe-write (License): Likewise.
28195
28196         pthread: mention library for linking
28197         * modules/pthread (Link): Mention $(LIB_PTHREAD).
28198
28199 2010-04-27  Jim Meyering  <meyering@redhat.com>
28200
28201         maint.mk: fix a bug introduced in last change
28202         * top/maint.mk (gl_assured_headers_): Now that all names are on
28203         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
28204         is not anchored to end of word, it should be adequate.
28205
28206         maint.mk: avoid side-effect in latest syntax-check
28207         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
28208         to run commands via $(shell...), and hence to incur cost only when
28209         the new rule is actually run.
28210
28211         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
28212         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
28213         and use that to create a regexp used to detect all #if HAVE_..._H uses.
28214         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
28215         (gl_assured_headers_, az_, AZ_): Define.
28216         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
28217
28218 2010-04-26  Jim Meyering  <jim@meyering.net>
28219             Bruno Haible  <bruno@clisp.org>
28220
28221         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
28222         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
28223         Prompted by an exchange with Gilles Espinasse.
28224
28225 2010-04-26  Jim Meyering  <meyering@redhat.com>
28226
28227         git-version-gen: aesthetic tweak
28228         * build-aux/git-version-gen: Use "$nl" rather than a literal,
28229         so that the command remains on a single line.
28230
28231 2010-04-26  Eric Blake  <eblake@redhat.com>
28232
28233         git-version-gen: allow use on EBCDIC hosts
28234         * build-aux/git-version-gen (dirty): Use literal rather than tying
28235         ourselves to ascii.
28236         Reported by Steve Goetze.
28237
28238 2010-04-25  Bruno Haible  <bruno@clisp.org>
28239
28240         netdb: Add support for GNULIB_POSIXCHECK.
28241         * lib/netdb.in.h: Include warn-on-use.h.
28242         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
28243         functions are used when GNULIB_POSIXCHECK is defined and the
28244         getaddrinfo module is not in use.
28245         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
28246         freeaddrinfo, gai_strerror, getnameinfo are declared.
28247         * modules/netdb (Depends-on): Add warn-on-use.
28248         (Makefile.am): Include warn-on-use.h in netdb.h.
28249
28250 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
28251
28252         build: avoid "make check" failure without .git/ directory
28253         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
28254         there is no .git/ directory.
28255
28256 2010-04-25  Bruno Haible  <bruno@clisp.org>
28257
28258         ptsname: Fix misuse of ttyname_r.
28259         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
28260         of errno.
28261
28262 2010-04-25  Bruno Haible  <bruno@clisp.org>
28263
28264         ttyname_r: Make it work on Solaris 10.
28265         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
28266         if the system function has the POSIX declaration. Test whether the
28267         function fails if the buffer is less than 128 bytes large.
28268         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
28269         system's ttyname_r function. Provide a reasonably large buffer.
28270         * modules/ttyname_r (Depends-on): Add extensions.
28271         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
28272
28273 2010-04-25  Bruno Haible  <bruno@clisp.org>
28274
28275         Use the 'extensions' module for some more functions on Solaris.
28276         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
28277         module.
28278         * doc/posix-functions/ctime_r.texi: Likewise.
28279         * doc/posix-functions/getgrgid_r.texi: Likewise.
28280         * doc/posix-functions/getgrnam_r.texi: Likewise.
28281         * doc/posix-functions/getpwnam_r.texi: Likewise.
28282         * doc/posix-functions/getpwuid_r.texi: Likewise.
28283         * doc/posix-functions/readdir_r.texi: Likewise.
28284         * doc/posix-functions/sigwait.texi: Likewise.
28285         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
28286         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
28287
28288 2010-04-25  Bruno Haible  <bruno@clisp.org>
28289
28290         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
28291         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
28292         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
28293         * lib/ttyname_r.c: Include <limits.h>.
28294         (ttyname_r): Define using the system's ttyname_r function, if it exists
28295         and not on Solaris.
28296         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
28297         set.
28298         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
28299         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
28300         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
28301         Reported by Simon Josefsson.
28302
28303 2010-04-25  Bruno Haible  <bruno@clisp.org>
28304
28305         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
28306         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
28307         * doc/posix-functions/ctime_r.texi: Likewise.
28308         * doc/posix-functions/getgrgid_r.texi: Likewise.
28309         * doc/posix-functions/getgrnam_r.texi: Likewise.
28310         * doc/posix-functions/getlogin_r.texi: Likewise.
28311         * doc/posix-functions/getpwnam_r.texi: Likewise.
28312         * doc/posix-functions/getpwuid_r.texi: Likewise.
28313         * doc/posix-functions/readdir_r.texi: Likewise.
28314         * doc/posix-functions/sigwait.texi: Likewise.
28315         * doc/posix-functions/ttyname_r.texi: Likewise.
28316         Reported by Simon Josefsson.
28317
28318 2010-04-25  Bruno Haible  <bruno@clisp.org>
28319
28320         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
28321         * gnulib-tool (func_usage): Document that --with-*-tests options apply
28322         also to --create-testdir.
28323         (func_acceptable): Don't consider the status of *-tests modules here.
28324         (func_modules_transitive_closure): Consider it here, before including a
28325         test module.
28326         (func_import, func_create_testdir): Set inc_all_direct_tests,
28327         inc_all_indirect_tests.
28328         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
28329         --create-testdir and --create-megatestdir.
28330
28331 2010-04-25  Bruno Haible  <bruno@clisp.org>
28332
28333         gnulib-tool: Add --without-*-tests options.
28334         * gnulib-tool (func_usage): Document the --without-*-tests options.
28335         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
28336         excl_unportable_tests): New variables.
28337         Fail if they are specified with --import or --update.
28338         (func_acceptable): Respect the excl_*_tests variables.
28339         (func_import): Set the excl_*_tests variables to empty.
28340
28341 2010-04-25  Simon Josefsson  <simon@josefsson.org>
28342             Bruno Haible  <bruno@clisp.org>
28343
28344         Work around a MacOS X 10.4 bug with openpty.
28345         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
28346         * tests/test-openpty.c (main): Close the master side explicitly.
28347
28348 2010-04-25  Bruno Haible  <bruno@clisp.org>
28349
28350         strnlen: Fix a C++ test error on MacOS X and Solaris.
28351         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
28352         the function is not declared.
28353         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
28354         Simon Josefsson.
28355
28356 2010-04-24  Bruno Haible  <bruno@clisp.org>
28357
28358         Avoid a gcc warning.
28359         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
28360         of correct type for %08lx directive.
28361         Reported by Eric Blake.
28362
28363 2010-04-24  Bruno Haible  <bruno@clisp.org>
28364
28365         vasnprintf: Correct errno value in case of out-of-memory.
28366         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
28367         or sprintf. Use the errno value from SNPRINTF or sprintf.
28368         Reported by Ian Beckwith <ianb@erislabs.net>.
28369
28370 2010-04-24  Bruno Haible  <bruno@clisp.org>
28371
28372         ansi-c++-opt: Find correct compiler when cross-compiling.
28373         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
28374         AC_CHECK_PROGS.
28375         Reported by Simon Josefsson.
28376
28377 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
28378
28379         vc-list-files: Add support for subversion
28380         * build-aux/vc-list-files: Use "svn list" to generate the list of
28381         files controlled by subversion.
28382
28383 2010-04-23  Jim Meyering  <meyering@redhat.com>
28384
28385         vc-list-files tests: convert to use init.sh
28386         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
28387         path_prepend_.
28388         Use Exit, not exit.
28389         Use skip_ rather than open coding it.
28390         Remove trap set-up and compare definitions.
28391         * tests/test-vc-list-files-git.sh: Likewise.
28392         * modules/vc-list-files-tests (Files): Add tests/init.sh.
28393
28394 2010-04-22  Simon Josefsson  <simon@josefsson.org>
28395
28396         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
28397         backup files.
28398
28399 2010-04-21  Simon Josefsson  <simon@josefsson.org>
28400
28401         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
28402
28403 2010-04-20  Eric Blake  <eblake@redhat.com>
28404
28405         tests: be robust to ignored SIGPIPE
28406         * tests/test-select-in.sh: Consume all output.
28407         * tests/test-lseek.sh: Check correct exit status, while avoiding
28408         EPIPE.
28409
28410 2010-04-20  Simon Josefsson  <simon@josefsson.org>
28411             Bruno Haible  <bruno@clisp.org>
28412
28413         visibility: Don't use -fvisibility if it leads to a warning.
28414         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
28415         yes, don't pretend that visibility works if it leads to a warning.
28416         Reported by Mike Gran <spk121@yahoo.com>.
28417
28418 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
28419
28420         * build-aux/bootstrap: Use "git -h" for testing for supported options
28421         instead of "git --help".  The short-form option only shows a summary,
28422         and doesn't layout the full man page.  Grep for the full option name
28423         in the summary, too.
28424
28425 2010-04-19  Bruno Haible  <bruno@clisp.org>
28426
28427         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
28428         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
28429         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
28430         mention of RELOCATABLE_STRIP.
28431         Reported by Sylvain Beucler <beuc@beuc.net>.
28432
28433 2010-04-19  Bruno Haible  <bruno@clisp.org>
28434
28435         * lib/diffseq.h: Fix typo in comment.
28436         Reported by Eric Blake.
28437
28438 2010-04-19  Bruno Haible  <bruno@clisp.org>
28439
28440         ioctl: Move autoconf macro to a .m4 file.
28441         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28442         * modules/ioctl (Files): Add it.
28443         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28444         Reported by Ian Beckwith <ianb@erislabs.net>.
28445
28446 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28447             Bruno Haible  <bruno@clisp.org>
28448
28449         diffseq: Accommodate use-case with abstract arrays.
28450         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28451         is not defined.
28452         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28453         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28454
28455 2010-04-18  Bruno Haible  <bruno@clisp.org>
28456
28457         * doc/posix-headers/stdbool.texi: More precise wording.
28458
28459 2010-04-17  Jim Meyering  <meyering@redhat.com>
28460
28461         maint.mk: use gnu-style indentation in an embedded perl script
28462         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28463         Rename variable: s/two/last_two_bytes/
28464
28465 2010-04-16  Eric Blake  <eblake@redhat.com>
28466
28467         test-stdbool: skip test that fails with Solaris CC
28468         * tests/test-stdbool.c (f): Skip test that causes compilation
28469         error under buggy C++ compiler.
28470         * lib/stdbool.in.h: Document the limitation.
28471         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28472
28473         setenv: allow compilation with C++
28474         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28475         register keyword.
28476
28477         stdint: allow test to pass with C++
28478         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28479
28480         getopt: allow compilation with C++
28481         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28482         struct.
28483         * lib/getopt.c (_getopt_internal_r): Use correct type.
28484         Reported by Dagobert Michelson, via Joel E. Denny.
28485
28486 2010-04-16  Bruno Haible  <bruno@clisp.org>
28487
28488         Override netdb.h always.
28489         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28490         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28491         Reported by Ludovic Courtès <ludo@gnu.org>.
28492
28493 2010-04-15  Bruno Haible  <bruno@clisp.org>
28494
28495         openpty: Fix mistake from 2010-03-21.
28496         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28497         Reported by Simon Josefsson.
28498
28499 2010-04-15  Eric Blake  <eblake@redhat.com>
28500
28501         test-forkpty: fix expected signature
28502         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28503         Reported by Simon Josefsson.
28504
28505 2010-04-15  Jim Meyering  <meyering@redhat.com>
28506
28507         maint.mk: texinfo_suffix_re_: correct the default regexp
28508         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28509
28510         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28511         make it configurable via texinfo_suffix_re_.
28512
28513 2010-04-14  Eric Blake  <eblake@redhat.com>
28514
28515         strtok_r: relax license to LGPLv2+
28516         * modules/strtok_r (License): Relax license.
28517         Reported by Matthias Bolte.
28518
28519 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28520
28521         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28522         version 1.4.4 by default instead of requiring the libgcrypt
28523         version used during build.  This makes it possible to use the
28524         application with older but still binary compatible libgcrypt
28525         versions.
28526
28527 2010-04-13  Eric Blake  <eblake@redhat.com>
28528
28529         getopt-gnu: match recent glibc fixes and posix ruling
28530         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28531         '+' handling, when requesting extensions.
28532         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28533         'W;' handling.
28534         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28535         * doc/posix-functions/getopt.texi (getopt): Document this.
28536         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28537         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28538         Likewise.
28539
28540         getopt: merge bug fixes from glibc
28541         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28542         diagnostics.  Honor '+:' correctly.  Reject ';'.
28543
28544         getopt-posix: detect MacOS bug
28545         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28546         optind when missing a required argument.
28547         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28548         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28549         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28550         Likewise.
28551
28552         getopt-posix: avoid spurious failure on Solaris
28553         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28554         an indicator that setting optind=1 is sufficient for reset.
28555
28556         getopt-posix: avoid spurious failure on FreeBSD
28557         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28558         in POSIX mode, since the m4 test uses it.
28559
28560         gnulib-tool: silence warning on BSD sh
28561         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28562
28563 2010-04-13  Jim Meyering  <meyering@redhat.com>
28564
28565         doc: users.txt: GNU patch now uses gnulib
28566         * users.txt: Add patch.
28567
28568 2010-04-12  Jim Meyering  <meyering@redhat.com>
28569
28570         maint.mk: generate more concise timing data for syntax-check rules
28571         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28572         " done" from each line that reports a syntax-check test duration.
28573
28574 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28575
28576         git-version-gen: use "git update-index..." rather than "git status"
28577         * build-aux/git-version-gen: Use git update-index --refresh, not
28578         "git status".  With some versions of git, "git status" would fail
28579         to update the index and result in an unwarranted "-dirty" suffix.
28580
28581 2010-04-11  Jim Meyering  <meyering@redhat.com>
28582
28583         openat: correct formatting (no semantic change)
28584         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28585         Suggested by Bruno Haible.
28586
28587 2010-04-11  Bruno Haible  <bruno@clisp.org>
28588
28589         Stricter declaration checking in testdirs.
28590         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28591         If for_tests is true, augment AM_CPPFLAGS to define
28592         GNULIB_STRICT_CHECKING.
28593         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28594         GNULIB_STRICT_CHECKING is defined, verify that the function is
28595         declared.
28596
28597 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28598             Bruno Haible  <bruno@clisp.org>
28599
28600         libunistring: Improve configure output.
28601         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28602         Don't say "consider installing GNU libunistring" when checking again
28603         with libiconv.
28604
28605 2010-04-11  Bruno Haible  <bruno@clisp.org>
28606
28607         libunistring: Correct value of $LTLIBUNISTRING.
28608         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28609         correct the value of $LTLIBUNISTRING.
28610
28611 2010-04-11  Bruno Haible  <bruno@clisp.org>
28612
28613         havelib: Add static libraries to LIBS in the right order.
28614         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28615         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28616
28617 2010-04-11  Bruno Haible  <bruno@clisp.org>
28618
28619         libunistring: Detect libunistring also when it depends on libiconv.
28620         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28621         the second AC_LIB_HAVE_LINKFLAGS invocation.
28622
28623 2010-04-11  James Youngman  <jay@gnu.org>
28624
28625         close-stream: declare local scalars to be "const"
28626         * lib/close-stream.c (close_stream): Make boolean variables const
28627         to document the fact that we set but do not change them.
28628
28629 2010-04-11  Bruno Haible  <bruno@clisp.org>
28630
28631         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28632
28633 2010-04-11  Jim Meyering  <meyering@redhat.com>
28634
28635         maint.mk: don't include dist-check.mk
28636         * top/maint.mk: Remove bogus include directive.
28637
28638         maint.mk: improve empty-line-at-EOF check
28639         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28640         solution, rather than tail+Perl-based one.  The latter would read
28641         a few kilobytes from the end of each file, and did not handle empty
28642         files properly.
28643
28644         maint.mk: print the elapsed time for each syntax-check rule
28645         * top/maint.mk (sc_m_rules_): Save start time in a file.
28646         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28647         (local-check): Interpose the .z rules
28648
28649 2010-04-11  Jim Meyering  <meyering@redhat.com>
28650
28651         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28652         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28653         empty file with one that ends in an empty line.
28654
28655 2010-04-10  Bruno Haible  <bruno@clisp.org>
28656
28657         mkdir: Make it work on mingw64.
28658         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28659         * lib/mkdir.c: Update comment.
28660         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
28661
28662 2010-04-10  Bruno Haible  <bruno@clisp.org>
28663
28664         Don't override improved macro from newer autoconf.
28665         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28666         autoconf >= 2.62.
28667         Reported by Joel E. Denny <jdenny@clemson.edu>.
28668
28669 2010-04-10  Jim Meyering  <meyering@redhat.com>
28670
28671         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28672         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28673
28674         maint.mk: correct a diagnostic
28675         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28676         in diagnostic; now use $prohibit.
28677
28678 2010-04-10  Bruno Haible  <address@hidden>
28679
28680         fchownat: Fix a C++ test error on Solaris 8.
28681         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28682         the function does not exist.
28683
28684 2010-04-10  Bruno Haible  <bruno@clisp.org>
28685
28686         vasnprintf: Add more tests.
28687         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28688         (test_function): Test converting an invalid wide string.
28689
28690         vasnprintf: Correct handling of unconvertible wide string arguments.
28691         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28692         VASNPRINTF.
28693         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28694         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28695         smaller than the expected maximum need for the directive. Set errno to
28696         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28697         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28698         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28699         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28700         * modules/vasnprintf (Files): Add m4/printf.m4.
28701         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28702
28703 2010-04-10  Bruno Haible  <bruno@clisp.org>
28704
28705         vasnprintf: Fix crash in %ls directive.
28706         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28707         string is passed as argument to %ls, with no precision and no width.
28708         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28709
28710 2010-04-10  Bruno Haible  <bruno@clisp.org>
28711
28712         vasnprintf: Fix multiple test failures on mingw.
28713         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28714         _snprintf, or snwprintf, not _snwprintf.
28715
28716 2010-04-10  Bruno Haible  <bruno@clisp.org>
28717
28718         write: Fix a C++ test error on mingw.
28719         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28720
28721 2010-04-10  Bruno Haible  <bruno@clisp.org>
28722
28723         vasnprintf test: Reduce code duplication.
28724         * tests/test-vasnprintf.c (test_function): New function, extracted from
28725         test_vasnprintf.
28726         (test_vasnprintf, test_asnprintf): Invoke it.
28727
28728 2010-04-10  Bruno Haible  <bruno@clisp.org>
28729
28730         strnlen: Fix warning in C++ mode on MacOS X.
28731         * lib/string.in.h (strnlen): Use the modern idiom.
28732         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28733         defining strnlen as a macro already in <config.h>.
28734         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28735         REPLACE_STRNLEN.
28736         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28737         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28738
28739 2010-04-08  James Youngman  <jay@gnu.org>
28740
28741         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28742         the example.
28743
28744 2010-04-09  Jim Meyering  <meyering@redhat.com>
28745
28746         maint.mk: print better diagnostic when there is no $(_hv_file)
28747         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28748         announce that when $(_hv_file) (aka help-version) does not exist.
28749
28750         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28751         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28752         not try to interpret its random input bytes.  Jarno Rajahalme reported
28753         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28754         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28755         (mktempd_): Likewise, just in case.
28756
28757         ftruncate: add two years to projected module removal date: 2012
28758         * m4/ftruncate.m4: Adjust comments.
28759
28760         ftruncate: mark module as obsolete; even MinGW provides it, now
28761         * modules/ftruncate (Status): Obsolete.
28762         (Notice): Say that.
28763         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28764         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28765
28766 2010-04-08  Bruno Haible  <bruno@clisp.org>
28767
28768         Fix side effects from tests-related modules.
28769         * modules/dprintf-posix (Comment): New section.
28770         * modules/fprintf-posix (Comment): Likewise.
28771         * modules/obstack-printf-posix (Comment): Likewise.
28772         * modules/printf-posix (Comment): Likewise.
28773         * modules/snprintf-posix (Comment): Likewise.
28774         * modules/sprintf-posix (Comment): Likewise.
28775         * modules/vasnprintf-posix (Comment): Likewise.
28776         * modules/vasprintf-posix (Comment): Likewise.
28777         * modules/vdprintf-posix (Comment): Likewise.
28778         * modules/vfprintf-posix (Comment): Likewise.
28779         * modules/vprintf-posix (Comment): Likewise.
28780         * modules/vsnprintf-posix (Comment): Likewise.
28781         * modules/vsprintf-posix (Comment): Likewise.
28782         * modules/xprintf-posix (Comment): Likewise.
28783         * modules/xvasprintf-posix (Comment): Likewise.
28784         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28785         * modules/floorf-tests (Depends-on): Likewise.
28786         * modules/round-tests (Depends-on): Likewise.
28787         * modules/roundf-tests (Depends-on): Likewise.
28788         * modules/trunc-tests (Depends-on): Likewise.
28789         * modules/truncf-tests (Depends-on): Likewise.
28790         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28791         'fprintf-posix' module is not present.
28792         * tests/test-floorf2.c (check): Likewise.
28793         * tests/test-trunc2.c (check): Likewise.
28794         * tests/test-truncf2.c (check): Likewise.
28795         * tests/test-round2.c (equal): Likewise.
28796         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28797
28798 2010-04-07  Karl Berry  <karl@gnu.org>
28799
28800         * config/srclist.txt,
28801         * config/srclistvars.sh,
28802         * config/srclist-update: doc fixes.
28803
28804 2010-04-07  Jim Meyering  <meyering@redhat.com>
28805
28806         maint.mk: add a PATH crosschecking syntax-check rule
28807         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28808         Useful if you use a test like the one in help-version (coreutils,
28809         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28810         printed by prog --version.
28811
28812 2010-04-06  Bruno Haible  <bruno@clisp.org>
28813
28814         Fix link error on mingw.
28815         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28816         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28817
28818 2010-04-06  Bruno Haible  <bruno@clisp.org>
28819
28820         Assume rmdir exists.
28821         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28822
28823 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28824
28825         doc: update users.txt
28826         * users.txt: Add gcal.
28827
28828 2010-04-06  Jim Meyering  <meyering@redhat.com>
28829
28830         init.sh: simply unset TMPDIR rather than risking env -i
28831         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28832         although it probably works fine on all Unix-based systems, some
28833         systems (Cygwin?) cannot tolerate a totally cleared environment.
28834         Suggestion from Eric Blake.
28835
28836 2010-04-06  Jim Meyering  <meyering@redhat.com>
28837
28838         init.sh: portability fix: use env's POSIX-specified -i option not -u
28839         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28840         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28841
28842 2010-04-05  Bruno Haible  <bruno@clisp.org>
28843
28844         btowc: Work around Cygwin 1.7.2 bug.
28845         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28846         does not map NUL to 0.
28847         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28848
28849 2010-04-05  Bruno Haible  <bruno@clisp.org>
28850
28851         Make the multithread modules work on Cygwin 1.7.2.
28852         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28853         imported symbols can be declared weak, so that it returns "no" on
28854         Cygwin 1.7.2.
28855
28856 2010-04-05  Bruno Haible  <bruno@clisp.org>
28857
28858         Use the module 'strncat'.
28859         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28860
28861         Tests for module 'strncat'.
28862         * modules/strncat-tests: New file.
28863         * tests/test-strncat.c: New file.
28864
28865         New module 'strncat'.
28866         * lib/string.in.h (strncat): New declaration.
28867         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28868         * m4/strncat.m4: New file, based on m4/memchr.m4.
28869         * modules/strncat: New file.
28870         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28871         is declared.
28872         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28873         REPLACE_STRNCAT.
28874         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28875         REPLACE_STRNCAT.
28876         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28877         module.
28878         * tests/test-string-c++.cc: Check signature of strncat.
28879
28880 2010-04-05  Jim Meyering  <meyering@redhat.com>
28881
28882         xstrtoumax-tests: convert to use init.sh
28883         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28884         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28885         Use Exit, not exit.
28886         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28887
28888         xstrtoimax-tests: convert to use init.sh
28889         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28890         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28891         Use Exit, not exit.
28892         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28893
28894 2010-04-05  Bruno Haible  <bruno@clisp.org>
28895
28896         sys_socket: Avoid #define replacements in C++ mode.
28897         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28898         warning to the function if possible, rather than #defining the symbol
28899         to a dysfunctional alias.
28900
28901 2010-04-05  Bruno Haible  <bruno@clisp.org>
28902
28903         fseeko: Fix C++ test error on mingw.
28904         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28905         gl_FUNC_FSEEKO.
28906         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28907         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28908         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28909         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28910
28911 2010-04-05  Bruno Haible  <bruno@clisp.org>
28912
28913         duplocale: Improve test output.
28914         * tests/test-duplocale.c (main): Print reason for skipped test.
28915
28916 2010-04-05  Bruno Haible  <bruno@clisp.org>
28917
28918         Assume rmdir exists.
28919         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28920         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28921
28922 2010-04-05  Bruno Haible  <bruno@clisp.org>
28923
28924         Fix link error on Solaris 8 with cc.
28925         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28926
28927 2010-04-05  Bruno Haible  <bruno@clisp.org>
28928
28929         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28930         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28931
28932 2010-04-05  Bruno Haible  <bruno@clisp.org>
28933
28934         vasprintf: Update documentation.
28935         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28936
28937 2010-04-05  Bruno Haible  <bruno@clisp.org>
28938
28939         ptsname: Improve test.
28940         * tests/test-ptsname.c (main): Also try the various master names of BSD
28941         systems.
28942
28943 2010-04-05  Bruno Haible  <bruno@clisp.org>
28944
28945         memchr: Avoid a possible C++ test error.
28946         * lib/string.in.h (memchr): Provide declaration if function is missing.
28947         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28948         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28950         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28951
28952 2010-04-05  Bruno Haible  <bruno@clisp.org>
28953
28954         strtok_r: Improve idiom.
28955         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28956         AC_LIBOBJ is used.
28957
28958 2010-04-05  Bruno Haible  <bruno@clisp.org>
28959
28960         strdup: Improve idiom.
28961         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28962         AC_LIBOBJ is used.
28963         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28964         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28965         when AC_LIBOBJ is used.
28966
28967 2010-04-05  Bruno Haible  <bruno@clisp.org>
28968
28969         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28970         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28971         don't set REPLACE_MBSINIT to 1.
28972         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28973         don't set REPLACE_MBRTOWC to 1.
28974         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28975         exist, don't set REPLACE_MBSRTOWCS to 1.
28976         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28977         exist, don't set REPLACE_MBSNRTOWCS to 1.
28978         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28979         don't set REPLACE_WCRTOMB to 1.
28980         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28981         exist, don't set REPLACE_WCSRTOMBS to 1.
28982         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28983         exist, don't set REPLACE_WCSNRTOMBS to 1.
28984
28985 2010-04-05  Bruno Haible  <bruno@clisp.org>
28986
28987         ldexpl: Improve idiom.
28988         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28989         make sure to set HAVE_DECL_LDEXPL to 0.
28990
28991 2010-04-05  Jim Meyering  <meyering@redhat.com>
28992
28993         xstrtol-tests: convert to use init.sh
28994         * modules/xstrtol-tests (Files): Add tests/init.sh.
28995         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28996         Use Exit, not exit.
28997         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28998
28999         atexit-tests: convert to use init.sh
29000         * modules/atexit-tests (Files): Add tests/init.sh.
29001         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
29002         Use Exit, not exit.
29003         Remove uses of $EXEEXT and "./" to run a program in the current dir.
29004
29005         init.sh: fix typo
29006         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
29007
29008         init.sh: make it easier for a test script to write to the tty, ...
29009         when using automake's parallel-tests mode.
29010         * tests/init.sh (stderr_fileno_): Define overridable variable.
29011         (warn_): New function, to use it.
29012         (fail_, skip_, framework_failure_): Use warn_.
29013
29014 2010-04-04  Bruno Haible  <bruno@clisp.org>
29015
29016         btowc: Avoid warning.
29017         * lib/btowc.c: Include <stdlib.h>.
29018         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
29019
29020 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29021             Bruno Haible  <bruno@clisp.org>
29022
29023         wchar: Port to NetBSD 1.5.
29024         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
29025         * lib/wctype.in.h (WEOF): Likewise.
29026
29027 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
29028             Bruno Haible  <bruno@clisp.org>
29029
29030         Port extended stdio to NetBSD 1.5.
29031         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
29032         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
29033         older.
29034
29035 2010-04-04  Bruno Haible  <bruno@clisp.org>
29036
29037         string: Remove unused substitution.
29038         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
29039         HAVE_DECL_STRERROR.
29040         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
29041
29042 2010-04-04  Bruno Haible  <bruno@clisp.org>
29043
29044         strtod: Avoid a possible C++ test error.
29045         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
29046         set REPLACE_STRTOD.
29047
29048 2010-04-04  Bruno Haible  <bruno@clisp.org>
29049
29050         strerror: Update documentation.
29051         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
29052
29053 2010-04-04  Bruno Haible  <bruno@clisp.org>
29054
29055         stdio: Fix some C++ test errors on Solaris 8 with GCC.
29056         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
29057         _GL_CXXALIAS_SYS_CAST.
29058
29059 2010-04-04  Bruno Haible  <bruno@clisp.org>
29060
29061         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
29062         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
29063         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
29064         REPLACE_FREXPL to 1.
29065         * doc/posix-functions/frexpl.texi: Update documentation.
29066
29067 2010-04-04  Bruno Haible  <bruno@clisp.org>
29068
29069         math: Fix some C++ test errors on Solaris 8 and Cygwin.
29070         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
29071
29072 2010-04-04  Bruno Haible  <bruno@clisp.org>
29073
29074         Implement nanosleep for native Windows.
29075         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
29076
29077 2010-04-04  Bruno Haible  <bruno@clisp.org>
29078
29079         math: Fix some C++ test errors on Solaris 8.
29080         * lib/math.in.h (truncf, trunc): Use simpler idiom.
29081
29082 2010-04-04  Bruno Haible  <bruno@clisp.org>
29083
29084         math: Fix some C++ test errors on Cygwin.
29085         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
29086         truncl): Provide declaration if the system does not have it.
29087         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
29088         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
29089         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
29090         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
29091         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
29092         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
29093         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
29094         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
29095         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
29096         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
29097         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
29098         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
29099         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
29100         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
29101         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
29102         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
29103         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
29104         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29105         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29106         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
29107         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
29108         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
29109
29110 2010-04-04  Bruno Haible  <bruno@clisp.org>
29111
29112         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
29113         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
29114         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
29115         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
29116         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29117         * m4/isinf.m4 (gl_ISINF): Likewise.
29118         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29119
29120 2010-04-04  Bruno Haible  <bruno@clisp.org>
29121
29122         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
29123         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29124
29125 2010-04-04  Bruno Haible  <bruno@clisp.org>
29126
29127         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
29128         * modules/tmpfile (configure.ac): Update.
29129
29130         tmpfile: Fix C++ test error on mingw.
29131         * lib/stdio.in.h (tmpfile): New declaration.
29132         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
29133         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
29134         * modules/tmpfile (Depends-on): Add stdio.
29135         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
29136         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
29137         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
29138         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
29139         REPLACE_TMPFILE.
29140         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
29141
29142 2010-04-04  Bruno Haible  <bruno@clisp.org>
29143
29144         ioctl: Fix C++ test error on mingw.
29145         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
29146         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
29147         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
29148
29149 2010-04-03  Bruno Haible  <bruno@clisp.org>
29150
29151         wcwidth: Fix C++ test error on mingw.
29152         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
29153         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
29154         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
29155
29156 2010-04-03  Bruno Haible  <bruno@clisp.org>
29157
29158         nanosleep: Fix C++ test error on mingw.
29159         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
29160         * lib/time.in.h (nanosleep): Use modern idiom.
29161         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
29162         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
29163         REPLACE_NANOSLEEP to 1.
29164         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
29165         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
29166
29167 2010-04-03  Bruno Haible  <bruno@clisp.org>
29168
29169         strptime: Fix C++ test error on mingw.
29170         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
29171         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
29172         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
29173         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
29174         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
29175         not REPLACE_STRPTIME.
29176         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
29177         REPLACE_STRPTIME.
29178
29179 2010-04-03  Bruno Haible  <bruno@clisp.org>
29180
29181         timegm: Fix C++ test error on mingw.
29182         * lib/time.in.h (timegm): Use modern idiom.
29183         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
29184         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
29185         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
29186         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
29187
29188 2010-04-03  Bruno Haible  <bruno@clisp.org>
29189
29190         timegm: Assume declaration if function exists.
29191         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
29192         if it exists. Don't clobber ac_cv_func_timegm.
29193
29194 2010-04-03  Bruno Haible  <bruno@clisp.org>
29195
29196         time_r: Fix C++ test error on mingw.
29197         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
29198         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
29199         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
29200         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
29201         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
29202
29203 2010-04-03  Bruno Haible  <bruno@clisp.org>
29204
29205         time_r: Minor updates.
29206         * modules/time_r (Description): Mention the provided functions.
29207         * lib/time_r.c: Don't include <string.h>.
29208         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
29209         * doc/posix-functions/localtime_r.texi: Likewise.
29210
29211 2010-04-03  Bruno Haible  <bruno@clisp.org>
29212
29213         time: Fix regression introduced on 2010-03-08.
29214         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
29215         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
29216
29217 2010-04-03  Jim Meyering  <meyering@redhat.com>
29218
29219         maint.mk: don't silently disable project-specific syntax-check rules
29220         * top/maint.mk (_prohibit_regexp): Define, to help people realize
29221         that they need to convert their project-specific syntax-check rules
29222         to use the new _sc_search_regexp.
29223
29224 2010-04-03  Bruno Haible  <bruno@clisp.org>
29225
29226         fchdir: Fix regression introduced on 2010-03-08.
29227         * lib/unistd.in.h (fchdir): Fix declaration.
29228         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
29229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
29230         REPLACE_FCHDIR.
29231         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
29232         REPLACE_FCHDIR.
29233
29234 2010-04-03  Bruno Haible  <bruno@clisp.org>
29235
29236         getpagesize: Fix C++ test error on mingw.
29237         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
29238         system does not declare the function.
29239         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
29240         declared.
29241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29242         HAVE_DECL_GETPAGESIZE.
29243         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
29244
29245 2010-04-03  Bruno Haible  <bruno@clisp.org>
29246
29247         stdio: Make C++ tests work on mingw.
29248         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
29249         does not declare the function.
29250
29251 2010-04-03  Bruno Haible  <bruno@clisp.org>
29252
29253         ftello: Fix C++ test error on mingw.
29254         * lib/stdio.in.h (ftello): Use modern idiom.
29255         * lib/ftello.c (ftello): Renamed from rpl_ftello.
29256         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
29257         is missing and that it needs to be replaced.
29258         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
29259         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
29260         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
29261
29262 2010-04-03  Bruno Haible  <bruno@clisp.org>
29263
29264         fseeko: Fix C++ test error on mingw.
29265         * lib/stdio.in.h (fseeko): Use modern idiom.
29266         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
29267         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
29268         is missing and that it needs to be replaced.
29269         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
29270         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
29271         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
29272
29273 2010-04-03  Bruno Haible  <bruno@clisp.org>
29274
29275         mkstemp: Fix C++ test error on mingw.
29276         * lib/stdlib.in.h (mkstemp): Use modern idiom.
29277         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
29278         function is missing and that it needs to be replaced.
29279         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
29280         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
29281
29282 2010-04-03  Bruno Haible  <bruno@clisp.org>
29283
29284         stpncpy: Fix C++ test error on mingw.
29285         * lib/string.in.h (stpncpy): Use modern idiom.
29286         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
29287         function is missing and that it needs to be replaced.
29288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29289         REPLACE_STPNCPY.
29290         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
29291
29292 2010-04-03  Bruno Haible  <bruno@clisp.org>
29293
29294         sys_stat: Fix C++ test error on mingw.
29295         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
29296         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
29297
29298 2010-04-03  Bruno Haible  <bruno@clisp.org>
29299
29300         pty: Update doc.
29301         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
29302
29303 2010-04-03  Bruno Haible  <bruno@clisp.org>
29304
29305         unistd: Fix C++ test error on mingw.
29306         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
29307
29308 2010-04-03  Bruno Haible  <bruno@clisp.org>
29309
29310         Update doc regarding mingw.
29311         * doc/glibc-functions/openpty.texi: Update regarding mingw.
29312         * doc/glibc-functions/login_tty.texi: Likewise.
29313         * doc/glibc-functions/forkpty.texi: Likewise.
29314
29315 2010-04-03  Bruno Haible  <bruno@clisp.org>
29316
29317         stdlib: Avoid compilation failure of c-strtold on mingw.
29318         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
29319
29320 2010-04-03  Bruno Haible  <bruno@clisp.org>
29321
29322         locale: Make C++ tests work on Cygwin and mingw.
29323         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
29324         cannot provide the function.
29325         Reported by Simon Josefsson.
29326
29327 2010-04-03  Bruno Haible  <bruno@clisp.org>
29328
29329         localename: Port to MacOS X 10.6.
29330         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
29331         memory layout of the locales in MacOS X 10.6 as well.
29332         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
29333
29334 2010-04-02  Bruno Haible  <bruno@clisp.org>
29335
29336         gnulib-tool: Ensure that long-running tests are executed last.
29337         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
29338         running tests after the one for the other tests.
29339
29340 2010-04-02  Bruno Haible  <bruno@clisp.org>
29341
29342         gnulib-tool: Ensure the tests in the main directory are executed first.
29343         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
29344         start with the current directory.
29345
29346 2010-04-02  Bruno Haible  <bruno@clisp.org>
29347
29348         Tests for module 'havelib', moved here from GNU gettext.
29349         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
29350         modifications.
29351         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
29352         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
29353         with modifications.
29354         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
29355         modifications.
29356         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
29357         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
29358         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
29359         with modifications.
29360         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
29361         with modifications.
29362         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
29363         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
29364         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
29365         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
29366         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
29367         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
29368         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
29369         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
29370         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
29371         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
29372         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
29373         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
29374         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
29375         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
29376         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
29377         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
29378         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
29379         with modifications.
29380         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
29381         with modifications.
29382         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
29383         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
29384         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
29385         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
29386         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
29387         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
29388         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
29389         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
29390         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
29391         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
29392         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
29393         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
29394         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
29395         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
29396         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
29397         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
29398         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
29399         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
29400         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
29401         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
29402         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
29403         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
29404         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
29405         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
29406         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
29407         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
29408         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
29409         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
29410         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
29411         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
29412         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
29413         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
29414         * tests/havelib/rpathx/rpathx.c: New file, from
29415         gettext/autoconf-lib-link.
29416         * tests/havelib/rpathx/Makefile.am: New file, from
29417         gettext/autoconf-lib-link.
29418         * tests/havelib/rpathx/configure.ac: New file, from
29419         gettext/autoconf-lib-link with modifications.
29420         * tests/havelib/rpathy/rpathy.c: New file, from
29421         gettext/autoconf-lib-link.
29422         * tests/havelib/rpathy/Makefile.am: New file, from
29423         gettext/autoconf-lib-link.
29424         * tests/havelib/rpathy/configure.ac: New file, from
29425         gettext/autoconf-lib-link with modifications.
29426         * tests/havelib/rpathz/rpathz.c: New file, from
29427         gettext/autoconf-lib-link.
29428         * tests/havelib/rpathz/Makefile.am: New file, from
29429         gettext/autoconf-lib-link.
29430         * tests/havelib/rpathz/configure.ac: New file, from
29431         gettext/autoconf-lib-link with modifications.
29432         * tests/havelib/rpathlx/usex.c: New file, from
29433         gettext/autoconf-lib-link.
29434         * tests/havelib/rpathlx/Makefile.am: New file, from
29435         gettext/autoconf-lib-link.
29436         * tests/havelib/rpathlx/configure.ac: New file, from
29437         gettext/autoconf-lib-link with modifications.
29438         * tests/havelib/rpathly/usey.c: New file, from
29439         gettext/autoconf-lib-link.
29440         * tests/havelib/rpathly/Makefile.am: New file, from
29441         gettext/autoconf-lib-link.
29442         * tests/havelib/rpathly/configure.ac: New file, from
29443         gettext/autoconf-lib-link with modifications.
29444         * tests/havelib/rpathlz/usez.c: New file, from
29445         gettext/autoconf-lib-link.
29446         * tests/havelib/rpathlz/Makefile.am: New file, from
29447         gettext/autoconf-lib-link.
29448         * tests/havelib/rpathlz/configure.ac: New file, from
29449         gettext/autoconf-lib-link with modifications.
29450         * tests/havelib/rpathlyx/usey.c: New file, from
29451         gettext/autoconf-lib-link.
29452         * tests/havelib/rpathlyx/Makefile.am: New file, from
29453         gettext/autoconf-lib-link.
29454         * tests/havelib/rpathlyx/configure.ac: New file, from
29455         gettext/autoconf-lib-link with modifications.
29456         * tests/havelib/rpathlzyx/usez.c: New file, from
29457         gettext/autoconf-lib-link.
29458         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29459         gettext/autoconf-lib-link.
29460         * tests/havelib/rpathlzyx/configure.ac: New file, from
29461         gettext/autoconf-lib-link with modifications.
29462         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29463         with modifications.
29464
29465 2010-04-02  Bruno Haible  <bruno@clisp.org>
29466
29467         gnulib-tool: Create distributed built sources also for the tests.
29468         * gnulib-tool (func_create_testdir): Also generate distributed built
29469         sources in the tests directory.
29470
29471 2010-04-02  Bruno Haible  <bruno@clisp.org>
29472
29473         gnulib-tool: Obey user's environment variables.
29474         * gnulib-tool (func_create_testdir): When creating built sources,
29475         respect the environment variables for autoconf, automake, etc. given by
29476         the user.
29477
29478 2010-04-02  Bruno Haible  <bruno@clisp.org>
29479
29480         gnulib-tool: Provide the value of --m4-base to modules.
29481         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29482         of gl_m4_base.
29483
29484 2010-04-02  Eric Blake  <eblake@redhat.com>
29485
29486         maint.mk: fix some fallout
29487         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29488         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29489
29490 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29491
29492         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29493         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29494         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29495         (sc_cast_of_x_alloc_return_value): Likewise.
29496         (sc_cast_of_alloca_return_value): Likewise.
29497         (sc_space_tab): Likewise.
29498         (sc_prohibit_atoi_atof): Likewise.
29499         (sc_prohibit_magic_number_exit): Likewise.
29500         (sc_error_exit_success): Likewise.
29501         (sc_file_system): Likewise.
29502         (sc_prohibit_have_config_h): Likewise.
29503         (sc_require_config_h): Likewise.
29504         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29505         (sc_obsolete_symbols): Likewise.
29506         (sc_changelog): Likewise.
29507         (sc_program_name): Likewise.
29508         (sc_the_the): Likewise.
29509         (sc_trailing_blank): Likewise.
29510         (sc_two_space_separator_in_usage): Likewise.
29511         (sc_useless_cpp_parens): Likewise.
29512         (sc_GPL_version): Likewise.
29513         (sc_GFDL_version): Likewise.
29514         (sc_texinfo_acronym): Likewise.
29515         (sc_prohibit_cvs_keyword): Likewise.
29516         (sc_prohibit_stat_st_blocks): Likewise.
29517         (sc_prohibit_S_IS_definition): Likewise.
29518         (sc_redundant_const): Likewise.
29519         (sc_makefile_TAB_only_indentation): Likewise.
29520         (sc_m4_quote_check): Likewise.
29521         (sc_makefile_path_separator_check): Likewise.
29522         (sc_copyright_check): Likewise.
29523         (sc_Wundef_boolean): Likewise.
29524         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29525
29526         maint.mk: match 0 or more whitespace-before-function-call '('
29527         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29528         that have zero or two-and-more spaces between the function name
29529         and the open parenthesis.
29530         (sc_error_message_warn_fatal): Likewise.
29531         (sc_error_message_uppercase): Likewise.
29532         (sc_error_message_period): Likewise.
29533
29534 2010-03-31  Eric Blake  <eblake@redhat.com>
29535
29536         maint.mk: check for [ as well as test
29537         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29538         Based on a libvirt report by Matthias Bolte.
29539
29540         gnumakefile: don't squelch _version output
29541         * top/GNUmakefile (_version): Create one-shot dependency rather
29542         than using $(shell) when version must be regenerated.
29543         (_autoreconf): Run verbosely, by default.
29544
29545         sys_time: avoid compiler warnings
29546         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29547         unconditional, fixing regression from 2010-03-29.
29548         Reported by Simon Josefsson.
29549
29550 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29551
29552         maint.mk: s/_header_without_use/_sc_header_without_use/
29553         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29554         (sc_prohibit_assert_without_use): Use the new name.
29555         (sc_prohibit_close_stream_without_use): Likewise.
29556         (sc_prohibit_getopt_without_use): Likewise.
29557         (sc_prohibit_quotearg_without_use): Likewise.
29558         (sc_prohibit_quote_without_use): Likewise.
29559         (sc_prohibit_long_options_without_use): Likewise.
29560         (sc_prohibit_inttostr_without_use): Likewise.
29561         (sc_prohibit_ignore_value_without_use): Likewise.
29562         (sc_prohibit_error_without_use): Likewise.
29563         (sc_prohibit_xalloc_without_use): Likewise.
29564         (sc_prohibit_hash_without_use): Likewise.
29565         (sc_prohibit_hash_pjw_without_use): Likewise.
29566         (sc_prohibit_safe_read_without_use): Likewise.
29567         (sc_prohibit_argmatch_without_use): Likewise.
29568         (sc_prohibit_canonicalize_without_use): Likewise.
29569         (sc_prohibit_root_dev_ino_without_use): Likewise.
29570         (sc_prohibit_openat_without_use): Likewise.
29571         (sc_prohibit_c_ctype_without_use): Likewise.
29572         (sc_prohibit_signal_without_use): Likewise.
29573         (sc_prohibit_intprops_without_use): Likewise.
29574
29575 2010-03-30  Eric Blake  <eblake@redhat.com>
29576
29577         maint: improve module indicators
29578         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29579         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29580         columns, and avoid extra macro expansion.
29581
29582         fdopendir: work around FreeBSD bug
29583         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29584         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29585         * modules/dirent (Makefile.am): Substitute it.
29586         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29587         declaration.
29588         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29589         fix.
29590         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29591
29592 2010-03-29  Bruno Haible  <bruno@clisp.org>
29593
29594         Emit #pragma system_header after the inclusion guard, not before.
29595         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29596         guard that spans the entire file, not before. This enables an
29597         optimization in GCC's preprocessor.
29598         * lib/ctype.in.h: Likewise.
29599         * lib/dirent.in.h: Likewise.
29600         * lib/errno.in.h: Likewise.
29601         * lib/float.in.h: Likewise.
29602         * lib/getopt.in.h: Likewise.
29603         * lib/iconv.in.h: Likewise.
29604         * lib/langinfo.in.h: Likewise.
29605         * lib/locale.in.h: Likewise.
29606         * lib/math.in.h: Likewise.
29607         * lib/netdb.in.h: Likewise.
29608         * lib/netinet_in.in.h: Likewise.
29609         * lib/pty.in.h: Likewise.
29610         * lib/sched.in.h: Likewise.
29611         * lib/se-selinux.in.h: Likewise.
29612         * lib/search.in.h: Likewise.
29613         * lib/spawn.in.h: Likewise.
29614         * lib/stdarg.in.h: Likewise.
29615         * lib/stdint.in.h: Likewise.
29616         * lib/string.in.h: Likewise.
29617         * lib/strings.in.h: Likewise.
29618         * lib/sys_file.in.h: Likewise.
29619         * lib/sys_ioctl.in.h: Likewise.
29620         * lib/sys_time.in.h: Likewise.
29621         * lib/sys_times.in.h: Likewise.
29622         * lib/sys_utsname.in.h: Likewise.
29623         * lib/sys_wait.in.h: Likewise.
29624         * lib/sysexits.in.h: Likewise.
29625         * lib/wctype.in.h: Likewise.
29626
29627 2010-03-28  James Youngman  <jay@gnu.org>
29628
29629         save-cwd: don't leak a file descriptor when the caller execs.
29630         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29631         saved file descriptor.
29632         * modules/save-cwd (Depends-on): Depend on cloexec.
29633
29634 2010-03-29  Bruno Haible  <bruno@clisp.org>
29635
29636         Remove vestiges of fts-lgpl module.
29637         * lib/fts_.h: Assume GNULIB_FTS is 1.
29638         * lib/fts.c: Likewise.
29639         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29640
29641 2010-03-28  Bruno Haible  <bruno@clisp.org>
29642
29643         Fix definition of tests witness macro.
29644         * gnulib-tool (func_import): Fix definition of witness macro.
29645
29646 2010-03-28  Bruno Haible  <bruno@clisp.org>
29647
29648         Fix ioctl's protoype on glibc systems.
29649         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29650         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29651         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29652         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29653         signature. If not, arrange to replace the ioctl function.
29654         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29655         REPLACE_IOCTL.
29656         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29657         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29658         Reported by Ludovic Courtès <ludo@gnu.org>.
29659
29660 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29661
29662         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29663         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29664         made it so grep -r --include=GLOB* ... did not work.
29665
29666 2010-03-26  Jim Meyering  <meyering@redhat.com>
29667             Eric Blake  <eblake@redhat.com>
29668
29669         maint.mk: prohibit use of test's -o and -a operators
29670         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29671
29672 2010-03-28  Bruno Haible  <bruno@clisp.org>
29673
29674         Remove unused GNULIB_XYZ macro definitions.
29675         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29676         invocation.
29677
29678 2010-03-28  Bruno Haible  <bruno@clisp.org>
29679
29680         Mark privileged tests modules.
29681         * modules/idpriv-drop-tests (Status): New section.
29682         * modules/idpriv-droptemp-tests (Status): New section.
29683
29684 2010-03-28  Bruno Haible  <bruno@clisp.org>
29685
29686         Split C++ tests into separate tests modules.
29687         * modules/dirent-c++-tests: New file, extracted from
29688         modules/dirent-tests.
29689         * modules/dirent-tests: Depend on it.
29690         * modules/fcntl-h-c++-tests: New file, extracted from
29691         modules/fcntl-h-tests.
29692         * modules/fcntl-h-tests: Depend on it.
29693         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29694         * modules/glob-tests: Depend on it.
29695         * modules/iconv-h-c++-tests: New file, extracted from
29696         modules/iconv-h-tests.
29697         * modules/iconv-h-tests: Depend on it.
29698         * modules/langinfo-c++-tests: New file, extracted from
29699         modules/langinfo-tests.
29700         * modules/langinfo-tests: Depend on it.
29701         * modules/locale-c++-tests: New file, extracted from
29702         modules/locale-tests.
29703         * modules/locale-tests: Depend on it.
29704         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29705         * modules/math-tests: Depend on it.
29706         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29707         * modules/pty-tests: Depend on it.
29708         * modules/search-c++-tests: New file, extracted from
29709         modules/search-tests.
29710         * modules/search-tests: Depend on it.
29711         * modules/signal-c++-tests: New file, extracted from
29712         modules/signal-tests.
29713         * modules/signal-tests: Depend on it.
29714         * modules/spawn-c++-tests: New file, extracted from
29715         modules/spawn-tests.
29716         * modules/spawn-tests: Depend on it.
29717         * modules/stdio-c++-tests: New file, extracted from
29718         modules/stdio-tests.
29719         * modules/stdio-tests: Depend on it.
29720         * modules/stdlib-c++-tests: New file, extracted from
29721         modules/stdlib-tests.
29722         * modules/stdlib-tests: Depend on it.
29723         * modules/string-c++-tests: New file, extracted from
29724         modules/string-tests.
29725         * modules/string-tests: Depend on it.
29726         * modules/sys_ioctl-c++-tests: New file, extracted from
29727         modules/sys_ioctl-tests.
29728         * modules/sys_ioctl-tests: Depend on it.
29729         * modules/sys_select-c++-tests: New file, extracted from
29730         modules/sys_select-tests.
29731         * modules/sys_select-tests: Depend on it.
29732         * modules/sys_socket-c++-tests: New file, extracted from
29733         modules/sys_socket-tests.
29734         * modules/sys_socket-tests: Depend on it.
29735         * modules/sys_stat-c++-tests: New file, extracted from
29736         modules/sys_stat-tests.
29737         * modules/sys_stat-tests: Depend on it.
29738         * modules/sys_time-c++-tests: New file, extracted from
29739         modules/sys_time-tests.
29740         * modules/sys_time-tests: Depend on it.
29741         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29742         * modules/time-tests: Depend on it.
29743         * modules/unistd-c++-tests: New file, extracted from
29744         modules/unistd-tests.
29745         * modules/unistd-tests: Depend on it.
29746         * modules/wchar-c++-tests: New file, extracted from
29747         modules/wchar-tests.
29748         * modules/wchar-tests: Depend on it.
29749         * modules/wctype-c++-tests: New file, extracted from
29750         modules/wctype-tests.
29751         * modules/wctype-tests: Depend on it.
29752         Reported by Simon Josefsson.
29753
29754 2010-03-28  Bruno Haible  <bruno@clisp.org>
29755
29756         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29757         * gnulib-tool (func_exists_module): New function, extracted from
29758         func_verify_module.
29759         (func_verify_module): Use it.
29760         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29761         'foo' only if 'foo' exists.
29762         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29763         module.
29764
29765 2010-03-28  Bruno Haible  <bruno@clisp.org>
29766
29767         gnulib-tool: Add support for special categories of tests.
29768         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29769         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29770         (func_usage): Document them.
29771         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29772         inc_unportable_tests, inc_all_tests): New variables.
29773         (func_acceptable): Consider these variables.
29774         (func_modules_transitive_closure): Make it work when the 'Status' field
29775         consists of multiple words.
29776         (func_import): Store and restore the values of inc_cxx_tests,
29777         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29778         inc_all_tests in gnulib-comp.m4.
29779         (func_create_testdir): Set inc_all_tests to true.
29780         * doc/gnulib.texi (Extra tests modules): New section.
29781         Suggested by Jim Meyering.
29782
29783 2010-03-28  Bruno Haible  <bruno@clisp.org>
29784
29785         ansi-c++-opt: Allow turning off the C++ build by default.
29786         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29787         gl_CXX_CHOICE_DEFAULT_NO is defined.
29788         Requested by Eric Blake.
29789
29790 2010-03-28  Bruno Haible  <bruno@clisp.org>
29791
29792         unistd: Avoid #define replacements in C++ mode.
29793         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29794         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29795         setsockopt, shutdown, select): In C++, attach a warning to the function
29796         if possible, rather than #defining the symbol to a dysfunctional alias.
29797         Reported by John W. Eaton <jwe@gnu.org>.
29798
29799 2010-03-28  Bruno Haible  <bruno@clisp.org>
29800
29801         Fix link errors on mingw.
29802         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29803         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29804         $(LIBSOCKET).
29805         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29806         $(LIBSOCKET).
29807
29808 2010-03-28  Bruno Haible  <bruno@clisp.org>
29809             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29810
29811         lib-ignore: Determine different options for different compilers.
29812         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29813         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29814         Add comments.
29815         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29816         * NEWS: Mention the change.
29817
29818 2010-03-27  Bruno Haible  <bruno@clisp.org>
29819
29820         Remove unused GNULIB_XYZ macro definitions.
29821         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29822         * modules/fseek (configure.ac): Likewise.
29823         * modules/ioctl (configure.ac): Likewise.
29824         * modules/open (configure.ac): Likewise.
29825         * modules/stdlib-safer (configure.ac): Likewise.
29826
29827 2010-03-27  Bruno Haible  <bruno@clisp.org>
29828
29829         Add a remark about certain modules.
29830         * modules/malloc (Comment): New section.
29831         * modules/realloc (Comment): Likewise.
29832         * modules/sigpipe (Comment): Likewise.
29833
29834 2010-03-27  Bruno Haible  <bruno@clisp.org>
29835
29836         Resolve conflict between the two kinds of module indicators.
29837         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29838         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29839         * modules/canonicalize (configure.ac): Invoke
29840         gl_MODULE_INDICATOR_FOR_TESTS.
29841         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29842         GNULIB_XYZ.
29843         * tests/test-dirent-c++.cc: Likewise.
29844         * tests/test-dirent-safer.c: Likewise.
29845         * tests/test-dup2.c: Likewise.
29846         * tests/test-fchdir.c: Likewise.
29847         * tests/test-fcntl-h-c++.cc: Likewise.
29848         * tests/test-getopt.c: Likewise.
29849         * tests/test-getopt.h: Likewise.
29850         * tests/test-langinfo-c++.cc: Likewise.
29851         * tests/test-locale-c++.cc: Likewise.
29852         * tests/test-math-c++.cc: Likewise.
29853         * tests/test-pty-c++.cc: Likewise.
29854         * tests/test-search-c++.cc: Likewise.
29855         * tests/test-signal-c++.cc: Likewise.
29856         * tests/test-spawn-c++.cc: Likewise.
29857         * tests/test-stdio-c++.cc: Likewise.
29858         * tests/test-stdlib-c++.cc: Likewise.
29859         * tests/test-string-c++.cc: Likewise.
29860         * tests/test-sys_ioctl-c++.cc: Likewise.
29861         * tests/test-sys_select-c++.cc: Likewise.
29862         * tests/test-sys_socket-c++.cc: Likewise.
29863         * tests/test-sys_stat-c++.cc: Likewise.
29864         * tests/test-sys_time-c++.cc: Likewise.
29865         * tests/test-time-c++.cc: Likewise.
29866         * tests/test-unistd-c++.cc: Likewise.
29867         * tests/test-wchar-c++.cc: Likewise.
29868         * tests/uninorm/test-u8-nfc.c: Likewise.
29869         * tests/uninorm/test-u8-nfd.c: Likewise.
29870         * tests/uninorm/test-u8-nfkc.c: Likewise.
29871         * tests/uninorm/test-u8-nfkd.c: Likewise.
29872         * tests/uninorm/test-u16-nfc.c: Likewise.
29873         * tests/uninorm/test-u16-nfd.c: Likewise.
29874         * tests/uninorm/test-u16-nfkc.c: Likewise.
29875         * tests/uninorm/test-u16-nfkd.c: Likewise.
29876         * tests/uninorm/test-u32-nfc.c: Likewise.
29877         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29878         * tests/uninorm/test-u32-nfd.c: Likewise.
29879         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29880         * tests/uninorm/test-u32-nfkc.c: Likewise.
29881         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29882         * tests/uninorm/test-u32-nfkd.c: Likewise.
29883         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29884         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29885
29886 2010-03-27  Bruno Haible  <bruno@clisp.org>
29887
29888         Distinguish two kinds of module indicators.
29889         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29890         gl_MODULE_INDICATOR.
29891         (gl_MODULE_INDICATOR): New macro.
29892         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29893         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29894         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29895         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29896         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29897         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29898         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29899         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29900         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29901         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29902         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29903         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29905         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29906         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29907         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29908         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29909         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29910         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29911         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29912         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29913         * modules/cloexec (configure.ac): Likewise.
29914         * modules/getopt-gnu (configure.ac): Likewise.
29915         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29916         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29917         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29918         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29919
29920 2010-03-27  Bruno Haible  <bruno@clisp.org>
29921
29922         New module description field 'Comment'.
29923         * gnulib-tool: New option --extract-comment.
29924         (func_usage): Document it.
29925         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29926         (func_get_comment): New function.
29927         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29928
29929 2010-03-27  Bruno Haible  <bruno@clisp.org>
29930
29931         Addendum to 2010-02-07 commit.
29932         * gnulib-tool (func_usage): Document --extract-applicability option.
29933
29934 2010-03-27  Bruno Haible  <bruno@clisp.org>
29935
29936         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29937         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29938         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29939         rather than link errors.
29940
29941 2010-03-27  Bruno Haible  <bruno@clisp.org>
29942
29943         Avoid side effects from tests-related modules on the compilation of lib.
29944         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29945         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29946         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29947         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29948         macro.
29949         (func_import): Define a witness macro. Assign it a value that depends
29950         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29951         tests-related modules.
29952         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29953         Reported by Jim Meyering.
29954
29955 2010-03-27  Bruno Haible  <bruno@clisp.org>
29956
29957         Factorize common .m4 code.
29958         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29959         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29960         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29961         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29962         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29963         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29964         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29965         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29966         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29967         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29968         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29969         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29970         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29971         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29972         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29973         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29974         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29975         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29976         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29977         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29978         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29979         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29980         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29981         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29982         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29983         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29984         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29985         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29986         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29987         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29988         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29989         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29990
29991 2010-03-27  Bruno Haible  <bruno@clisp.org>
29992
29993         Fix a compilation error on Cygwin with g++ >= 4.3.
29994         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29995         if it is undefined or if we alias it to chmod.
29996         (lstat): Don't warn about the use of this function if it is undefined
29997         or if we alias it to stat.
29998         Reported by Simon Josefsson.
29999
30000 2010-03-27  Bruno Haible  <bruno@clisp.org>
30001
30002         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
30003         * modules/getlogin (configure.ac): Update.
30004
30005         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
30006         * modules/getlogin_r (configure.ac): Update.
30007
30008         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
30009         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
30010         * modules/inet_ntop (configure.ac): Update.
30011
30012         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
30013         * modules/inet_pton (configure.ac): Update.
30014
30015         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
30016         * modules/mbslen (configure.ac): Update.
30017
30018         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
30019         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
30020         * modules/forkpty (configure.ac): Update.
30021         * modules/openpty (configure.ac): Update.
30022
30023 2010-03-26  Simon Josefsson  <simon@josefsson.org>
30024
30025         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
30026         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
30027
30028 2010-03-25  Eric Blake  <eblake@redhat.com>
30029
30030         maint: use pragma consistently across replacement headers
30031         * lib/ctype.in.h (system_header): Hoist for consistent placement.
30032         * lib/dirent.in.h (system_header): Likewise.
30033         * lib/errno.in.h (system_header): Likewise.
30034         * lib/float.in.h (system_header): Likewise.
30035         * lib/getopt.in.h (system_header): Likewise.
30036         * lib/iconv.in.h (system_header): Likewise.
30037         * lib/inttypes.in.h (system_header): Likewise.
30038         * lib/langinfo.in.h (system_header): Likewise.
30039         * lib/locale.in.h (system_header): Likewise.
30040         * lib/math.in.h (system_header): Likewise.
30041         * lib/netdb.in.h (system_header): Likewise.
30042         * lib/netinet_in.in.h (system_header): Likewise.
30043         * lib/pty.in.h (system_header): Likewise.
30044         * lib/sched.in.h (system_header): Likewise.
30045         * lib/se-selinux.in.h (system_header): Likewise.
30046         * lib/search.in.h (system_header): Likewise.
30047         * lib/spawn.in.h (system_header): Likewise.
30048         * lib/stdarg.in.h (system_header): Likewise.
30049         * lib/stdint.in.h (system_header): Likewise.
30050         * lib/string.in.h (system_header): Likewise.
30051         * lib/strings.in.h (system_header): Likewise.
30052         * lib/sys_file.in.h (system_header): Likewise.
30053         * lib/sys_ioctl.in.h (system_header): Likewise.
30054         * lib/sys_socket.in.h (system_header): Likewise.
30055         * lib/sys_times.in.h (system_header): Likewise.
30056         * lib/sys_utsname.in.h (system_header): Likewise.
30057         * lib/sys_wait.in.h (system_header): Likewise.
30058         * lib/sysexits.in.h (system_header): Likewise.
30059         * lib/unistd.in.h (system_header): Likewise.
30060         * lib/wctype.in.h (system_header): Likewise.
30061
30062         arpa/inet: fix mingw compilation warning
30063         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
30064         Reported by Matthew Bolte.
30065
30066 2010-03-25  Bruno Haible  <bruno@clisp.org>
30067
30068         Avoid collision between gnulib wrapper and libintl wrapper.
30069         * lib/printf.c (printf): Don't define if a printf wrapper is already
30070         defined in intl/printf.c.
30071         Reported by Michel Boaventura <michel@michelboaventura.com>.
30072
30073 2010-03-25  Bruno Haible  <bruno@clisp.org>
30074
30075         Use ANSI C.
30076         * lib/readutmp.h (getutent): Provide ANSI C prototype.
30077
30078 2010-03-25  Bruno Haible  <bruno@clisp.org>
30079
30080         Minor formatting changes.
30081         * lib/acosl.c: Insert space before function argument list.
30082         * lib/argz.c: Likewise.
30083         * lib/asinl.c: Likewise.
30084         * lib/expl.c: Likewise.
30085         * lib/gen-uni-tables.c: Likewise.
30086         * lib/gettext.h: Likewise.
30087         * lib/glthread/lock.h: Likewise.
30088         * lib/tanl.c: Likewise.
30089         * lib/uniname/uniname.c: Likewise.
30090         * tests/test-idpriv-drop.c: Likewise.
30091         * tests/test-idpriv-droptemp.c: Likewise.
30092         * tests/test-lock.c: Likewise.
30093         * tests/test-tls.c: Likewise.
30094         * lib/argp-help.c: Insert space before function-like macro argument
30095         list.
30096         * lib/memcmp.c: Likewise.
30097         * tests/test-base64.c: Likewise.
30098         * lib/localename.c: Insert space before sizeof's argument list.
30099         * lib/safe-alloc.h: Likewise.
30100         * lib/file-set.h: Insert space before macro argument list.
30101         * tests/test-argp.c: Likewise.
30102         * lib/argp-namefrob.h: Insert space before function parameter list.
30103         * lib/getaddrinfo.c: Likewise.
30104         * lib/netdb.in.h: Likewise.
30105         * lib/parse-duration.h: Likewise.
30106         * lib/parse-duration.c: Likewise.
30107         * lib/poll.c: Likewise.
30108         * lib/select.c: Likewise.
30109         * lib/trim.h: Likewise.
30110         * tests/test-usleep.c: Likewise.
30111         * lib/ldexpl.c: Insert space before function parameter list and before
30112         function argument list.
30113         * lib/logl.c: Likewise.
30114         * lib/sqrtl.c: Likewise.
30115         * lib/trim.c: Likewise.
30116         * lib/cosl.c: Use GNU style indentation. Insert space before function
30117         argument list.
30118         * lib/sinl.c: Likewise.
30119         * lib/tsearch.c: Insert space after 'for'.
30120         Reported by Jim Meyering.
30121
30122 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
30123
30124         * maint.mk (sc_Wundef_boolean): Check for the presence of the
30125         config header before grepping, as it's not present before
30126         autoreconf/configure are run.  Reported by Simon Josefsson.
30127
30128 2010-03-23  Bruno Haible  <bruno@clisp.org>
30129
30130         pt_chown: Make it work with automake < 1.11.
30131         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
30132         Reported by Simon Josefsson.
30133
30134 2010-03-23  Bruno Haible  <bruno@clisp.org>
30135
30136         pt_chown: Don't depend on GPLed modules.
30137         * lib/pt_chown.c: Don't include idpriv.h.
30138         (main): Don't drop privileges.
30139         * modules/pt_chown (Depends-on): Remove idpriv-drop.
30140         Reported by Simon Josefsson.
30141
30142 2010-03-24  Simon Josefsson  <simon@josefsson.org>
30143
30144         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
30145         suggestions from karl@freefriends.org (Karl Berry).
30146
30147 2010-03-22  Eric Blake  <eblake@redhat.com>
30148
30149         gethostname: further tweaks
30150         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
30151         are overriding gethostname.
30152         Suggested by Bruno Haible.
30153
30154 2010-03-21  Bruno Haible  <bruno@clisp.org>
30155
30156         Fix comments.
30157         * lib/forkpty.c (rpl_forkpty): Fix comment.
30158         * lib/openpty.c (rpl_openpty): Likewise.
30159         Reported by Eric Blake.
30160
30161 2010-03-22  Eric Blake  <eblake@redhat.com>
30162
30163         gethostname: fix build on mingw
30164         * lib/unistd.in.h (includes): Work around fact that mingw
30165         <winsock2.h> re-includes <unistd.h>, by avoiding any
30166         redeclarations if we are being included by <winsock2.h>.
30167         Reported by Matthias Bolte.
30168
30169 2010-03-21  Bruno Haible  <bruno@clisp.org>
30170
30171         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30172         * lib/forkpty.c (forkpty): New replacement function, from glibc with
30173         modifications.
30174         * lib/pty.in.h (forkpty): Update declaration. Add comments.
30175         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
30176         provide the replacement.
30177         * modules/forkpty (Depends-on): Add openpty, login_tty.
30178         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
30179         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
30180         * doc/glibc-functions/forkpty.texi: More supported platforms.
30181         * config/srclist.txt: Add forkpty.c (commented).
30182
30183 2010-03-21  Bruno Haible  <bruno@clisp.org>
30184
30185         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
30186         (Makefile.am): Verify that PTY_LIB is defined.
30187
30188         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
30189
30190 2010-03-21  Bruno Haible  <bruno@clisp.org>
30191
30192         Tests for module 'login_tty'.
30193         * modules/login_tty-tests: New file.
30194         * tests/test-login_tty.c: New file.
30195
30196         New module 'login_tty'.
30197         * lib/login_tty.c: New file.
30198         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
30199         * modules/login_tty: New file.
30200         * doc/glibc-functions/login_tty.texi: Mention the new module.
30201
30202 2010-03-21  Bruno Haible  <bruno@clisp.org>
30203
30204         login_tty: Documentation.
30205         * doc/glibc-functions/login_tty.texi: New file.
30206         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
30207
30208 2010-03-21  Bruno Haible  <bruno@clisp.org>
30209
30210         pty: Consistent macro naming.
30211         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
30212         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
30213         * modules/pty (configure.ac): Update.
30214
30215 2010-03-21  Bruno Haible  <bruno@clisp.org>
30216
30217         Tests for openpty: Make stricter.
30218         * tests/test-openpty.c (main): Add test of canonical processing and
30219         erase.
30220         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
30221
30222         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
30223         * lib/openpty.c (openpty): New replacement function.
30224         * lib/pty.in.h: Include <termios.h>.
30225         (openpty): Update declaration. Add comments.
30226         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
30227         is not declared, arrange to provide the replacement. Check for _getpty
30228         and posix_openpt.
30229         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
30230         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
30231         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
30232         * modules/pty-tests (test_pty_c___LDADD): New variable.
30233         * doc/glibc-functions/openpty.texi: More supported platforms.
30234
30235 2010-03-21  Bruno Haible  <bruno@clisp.org>
30236
30237         setenv: Tweaks.
30238         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
30239         the test program.
30240         * doc/posix-functions/setenv.texi: Update platforms list.
30241
30242 2010-03-21  Bruno Haible  <bruno@clisp.org>
30243
30244         New module 'unlockpt'.
30245         * lib/unlockpt.c: New file, from glibc with modifications.
30246         * m4/unlockpt.m4: New file.
30247         * modules/unlockpt: New file.
30248         * lib/stdlib.in.h (unlockpt): New declaration.
30249         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
30250         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
30251         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
30252         HAVE_UNLOCKPT.
30253         * doc/posix-functions/unlockpt.texi: Mention the new module.
30254         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
30255         * config/srclist.txt: Add unlockpt.c (commented).
30256
30257 2010-03-21  Jim Meyering  <meyering@redhat.com>
30258
30259         maint.mk: prohibit inclusion of "intprops.h" without use
30260         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
30261
30262 2010-03-21  Bruno Haible  <bruno@clisp.org>
30263
30264         New module 'grantpt'.
30265         * lib/grantpt.c: New file, from glibc with modifications.
30266         * m4/grantpt.m4: New file.
30267         * modules/grantpt: New file.
30268         * lib/stdlib.in.h (grantpt): New declaration.
30269         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
30270         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
30271         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
30272         HAVE_GRANTPT.
30273         * doc/posix-functions/grantpt.texi: Mention the new module.
30274         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
30275         * config/srclist.txt: Add grantpt.c (commented).
30276
30277 2010-03-21  Bruno Haible  <bruno@clisp.org>
30278
30279         New module 'pt_chown'.
30280         * lib/pt_chown.c: New file, from glibc with modifications.
30281         * lib/pty-private.h: New file, from glibc with modifications.
30282         * modules/pt_chown: New file.
30283         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
30284
30285 2010-03-21  Bruno Haible  <bruno@clisp.org>
30286
30287         Tests for module 'ptsname'.
30288         * modules/ptsname-tests: New file.
30289         * tests/test-ptsname.c: New file.
30290
30291         New module 'ptsname'.
30292         * lib/ptsname.c: New file, from glibc with modifications.
30293         * m4/ptsname.m4: New file.
30294         * modules/ptsname: New file.
30295         * lib/stdlib.in.h (ptsname): New declaration.
30296         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
30297         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
30298         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
30299         HAVE_PTSNAME.
30300         * doc/posix-functions/ptsname.texi: Mention the new module.
30301         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
30302         * config/srclist.txt: Add ptsname.c (commented).
30303
30304 2010-03-21  Bruno Haible  <bruno@clisp.org>
30305
30306         Tests for module 'ttyname_r'.
30307         * modules/ttyname_r-tests: New file.
30308         * tests/test-ttyname_r.c: New file.
30309
30310         New module 'ttyname_r'.
30311         * lib/ttyname_r.c: New file.
30312         * m4/ttyname_r.m4: New file.
30313         * modules/ttyname_r: New file.
30314         * lib/unistd.in.h (ttyname_r): New declaration.
30315         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
30316         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
30317         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
30318         HAVE_TTYNAME_R.
30319         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
30320         * doc/posix-functions/ttyname_r.texi: Mention the new module.
30321
30322 2010-03-20  Bruno Haible  <bruno@clisp.org>
30323
30324         signal: Undefine macro definitions in C++ mode.
30325         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
30326         sigfillset): Undefine macro definitions from the system header in C++
30327         mode.
30328         Reported by John W. Eaton <jwe@gnu.org>.
30329
30330 2010-03-20  Bruno Haible  <bruno@clisp.org>
30331
30332         Ensure no #include statements inside extern "C" { ... }.
30333         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
30334         contain #include statements.
30335         * lib/time.in.h: Likewise.
30336
30337 2010-03-20  Bruno Haible  <bruno@clisp.org>
30338
30339         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
30340         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
30341         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
30342         Reported by John W. Eaton <jwe@gnu.org>.
30343
30344 2010-03-20  Bruno Haible  <bruno@clisp.org>
30345
30346         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
30347         Reported by Jim Meyering.
30348
30349 2010-03-20  Bruno Haible  <bruno@clisp.org>
30350
30351         pipe: Set errno upon failure.
30352         * lib/pipe.h: Specify that when -1 is returned, errno is set.
30353         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
30354         errno value in error message.
30355
30356 2010-03-20  Bruno Haible  <bruno@clisp.org>
30357             Jim Meyering  <meyering@redhat.com>
30358
30359         lchown: Avoid "unused variable" warning.
30360         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
30361
30362 2010-03-20  Bruno Haible  <bruno@clisp.org>
30363
30364         Work around unlink() bug on MacOS X 10.5.6.
30365         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
30366         attempting to unlink a parent directory.
30367         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
30368         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
30369         activate for the replacement function.
30370         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
30371
30372 2010-03-20  Bruno Haible  <bruno@clisp.org>
30373
30374         Fix link errors on Solaris 8.
30375         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
30376         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
30377
30378 2010-03-19  Jim Meyering  <meyering@redhat.com>
30379
30380         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
30381         The _LIBC implementation of build_range_exp correctly honors the
30382         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
30383         However, the non-_LIBC implementation would ignore that syntax-bit
30384         flag and return REG_ERANGE unconditionally.
30385         This change makes it honor that flag.
30386         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
30387         Make two pointer parameters "const".
30388         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
30389         (parse_bracket_exp): Update caller.
30390
30391         regex.m4: correct the reversed range endpoint ([b-a]) test
30392         * m4/regex.m4: When requiring that [b-a] evoke failure,
30393         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
30394         test pass once again for x86-based systems.
30395
30396 2010-03-19  Bruno Haible  <bruno@clisp.org>
30397
30398         scandir: Fix link error on Solaris 8.
30399         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
30400         macros.
30401
30402 2010-03-19  Bruno Haible  <bruno@clisp.org>
30403
30404         getusershell: Fix documentation.
30405         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
30406         module.
30407         * doc/glibc-functions/setusershell.texi: Likewise.
30408
30409         getusershell: Provide declaration, missing on Solaris 9.
30410         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
30411         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
30412         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
30413         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
30414         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30415         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
30416         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
30417         HAVE_GETUSERSHELL.
30418         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
30419
30420 2010-03-19  Bruno Haible  <bruno@clisp.org>
30421
30422         wctype: Provide iswblank function.
30423         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
30424         exists and is fine.
30425         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
30426         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
30427         * tests/test-wctype.c (main): Re-enable the iswblank tests.
30428         * doc/posix-functions/iswblank.texi: Update.
30429
30430 2010-03-19  Bruno Haible  <bruno@clisp.org>
30431
30432         Tests of module 'pty' in C++ mode.
30433         * modules/pty-tests: New file.
30434         * tests/test-pty-c++.cc: New file.
30435         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30436
30437 2010-03-19  Eric Blake  <eblake@redhat.com>
30438
30439         logb: fix documentation
30440         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30441         1.5 declaration bug.
30442
30443         forkpty, openpty: prefer glibc's const-safe prototype
30444         * lib/forkpty.c (rpl_forkpty): New file.
30445         * lib/openpty.c (rpl_openpty): Likewise.
30446         * modules/forkpty (Files): Distribute it.
30447         * modules/openpty (Files): Likewise.
30448         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30449         check...
30450         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30451         replacement for for non-const BSD signature.
30452         * modules/pty (Makefile.am): Substitute witnesses.
30453         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30454         * tests/test-forkpty.c: Update signature check.
30455         * tests/test-openpty.c: Likewise.
30456         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30457         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30458
30459         forkpty, openpty: split functions into new modules
30460         * modules/pty (Makefile.am): Substitute new witnesses.
30461         (Libraries): Move library detection...
30462         * modules/forkpty: ...into new module.
30463         * modules/openpty: Another new module.
30464         * modules/pty-tests: Rename and split...
30465         * modules/forkpty-tests: ...to this...
30466         * modules/openpty-tests: ...and this.
30467         * tests/test-pty.c: Rename and split...
30468         * tests/test-forkpty.c: ...to this...
30469         * tests/test-openpty.c: ...and this.
30470         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30471         (gl_PTY): Split library searching...
30472         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30473         (gl_FORKPTY, gl_OPENPTY): New macros.
30474         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30475         * NEWS: Mention the split.
30476         * MODULES.html.sh (Misc): Document the modules.
30477         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30478         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30479
30480         pty: improve replacement header
30481         * lib/pty.in.h: New file.
30482         * modules/pty (Files): Ship it.
30483         (Makefile.am): Always build replacement.
30484         * m4/pty.m4: Rename...
30485         * m4/pty_h.m4: ...to this.
30486         (gl_PTY): Modernize setting of witness macros; update check of
30487         forkpty to take proper advantage of cache.
30488         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30489
30490         getopt: avoid compiler warning
30491         * lib/getopt.c (attribute_hidden): Remove unused macro.
30492
30493 2010-03-18  Bruno Haible  <bruno@clisp.org>
30494
30495         Fix link errors on Solaris 8.
30496         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30497         * modules/search-tests (test_search_c___LDADD): Likewise.
30498         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30499         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30500         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30501         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30502         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30503         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30504         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30505
30506 2010-03-18  Bruno Haible  <bruno@clisp.org>
30507
30508         Fix bug introduced on 2010-03-14.
30509         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30510         (gl_SPAWN_H): Require it.
30511         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30512         Reported by Simon Josefsson.
30513
30514 2010-03-18  Bruno Haible  <bruno@clisp.org>
30515
30516         Fix typo introduced on 2009-12-31.
30517         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30518         posix_spawn_file_actions_adddup2.
30519
30520 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30521         and Eric Blake  <eblake@redhat.com>
30522
30523         test-vc-list-files-git: make more robust
30524         * tests/test-vc-list-files-git.sh: Unset problematic environment
30525         variables.  Chain commands together.
30526
30527 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30528
30529         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30530         `AC_CHECK_DECL' invocation.
30531
30532 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30533
30534         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30535         appears before executable statements. Suggested by Petr Sumbera
30536         <Petr.Sumbera@Sun.COM>.
30537
30538 2010-03-14  Bruno Haible  <bruno@clisp.org>
30539
30540         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30541         portability problems. Instead use a simpler test.
30542         (main): Check that invalid arguments are rejected only on Linux.
30543
30544 2010-03-14  Bruno Haible  <bruno@clisp.org>
30545
30546         Fix bug introduced on 2009-12-31.
30547         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30548         gl_PREREQ_SYS_H_WINSOCK2 always.
30549         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30550         SYS_SOCKET_H variable.
30551         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30552         Update comments.
30553         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30554         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30555         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30556         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30557         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30558
30559 2010-03-14  Bruno Haible  <bruno@clisp.org>
30560
30561         Fix values returned by sinl, cosl.
30562         * lib/trigl.h: Add specification comments.
30563         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30564         that combines the values from the precomputed table with the values of
30565         the Chebyshev polynomials.
30566
30567 2010-03-14  Bruno Haible  <bruno@clisp.org>
30568
30569         Fix compilation error when modules 'posix_spawn[p]' are not used.
30570         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30571         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30572
30573 2010-03-14  Bruno Haible  <bruno@clisp.org>
30574
30575         Fix compilation error on mingw when module 'time_r' is not used.
30576         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30577         is 1.
30578         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30579         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30580         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30581         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30582
30583 2010-03-14  Bruno Haible  <bruno@clisp.org>
30584
30585         Fix compilation error with Sun C.
30586         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30587         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30588         instead of GCC specific ULONG_LONG_MAX.
30589         * lib/xstrtoll.c: Likewise.
30590         * lib/xstrtoull.c: Likewise.
30591
30592 2010-03-13  Bruno Haible  <bruno@clisp.org>
30593
30594         Allow the user to disable C++ code and tests.
30595         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30596         (gl_PROG_ANSI_CXX): Require it.
30597
30598 2010-03-13  Bruno Haible  <bruno@clisp.org>
30599
30600         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30601         cases.
30602
30603 2010-03-13  Bruno Haible  <bruno@clisp.org>
30604
30605         Test that gnulib does not break the standard C++ headers.
30606         * tests/test-locale-c++2.cc: New file.
30607         * modules/locale-tests (Files): Add it.
30608         (Makefile.am): Compile it for test-locale-c++.
30609         * tests/test-math-c++2.cc: New file.
30610         * modules/math-tests (Files): Add it.
30611         (Makefile.am): Compile it for test-math-c++.
30612         * tests/test-signal-c++2.cc: New file.
30613         * modules/signal-tests (Files): Add it.
30614         (Makefile.am): Compile it for test-signal-c++.
30615         * tests/test-stdio-c++2.cc: New file.
30616         * modules/stdio-tests (Files): Add it.
30617         (Makefile.am): Compile it for test-stdio-c++.
30618         * tests/test-stdlib-c++2.cc: New file.
30619         * modules/stdlib-tests (Files): Add it.
30620         (Makefile.am): Compile it for test-stdlib-c++.
30621         * tests/test-string-c++2.cc: New file.
30622         * modules/string-tests (Files): Add it.
30623         (Makefile.am): Compile it for test-string-c++.
30624         * tests/test-time-c++2.cc: New file.
30625         * modules/time-tests (Files): Add it.
30626         (Makefile.am): Compile it for test-time-c++.
30627         Reported by John W. Eaton <jwe@gnu.org>.
30628
30629 2010-03-13  Bruno Haible  <bruno@clisp.org>
30630
30631         * gnulib-tool (func_usage): Clarify which options are available for
30632         --create-testdir and --create-megatestdir.
30633
30634 2010-03-13  Bruno Haible  <bruno@clisp.org>
30635
30636         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30637         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30638         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30639         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30640         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30641         when appropriate.
30642         Reported by Jim Meyering.
30643
30644 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30645
30646         * gnulib-tool (func_import): Explain origin of code.
30647
30648 2010-03-12  Bruno Haible  <bruno@clisp.org>
30649
30650         Fix problem with automake's definition of CXXLINK.
30651         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30652         Reported by Simon Josefsson and Ludovic Courtès.
30653
30654 2010-03-12  Bruno Haible  <bruno@clisp.org>
30655
30656         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30657         stable releases.
30658
30659 2010-03-11  Bruno Haible  <bruno@clisp.org>
30660
30661         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30662         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30663         whether the system provides one variant or multiple variants of the
30664         function.
30665         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30666         C++ compilers.
30667         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30668         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30669         Reported by Jim Meyering.
30670
30671 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30672
30673         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30674
30675 2010-03-08  Bruno Haible  <bruno@clisp.org>
30676
30677         gnulib-tool: Add support for --libtool in --create-testdir.
30678         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30679         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30680
30681 2010-03-08  Eric Blake  <eblake@redhat.com>
30682
30683         gnulib-tool.texi: mention possibility of git submodule
30684         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30685         submodules.
30686         * doc/.gitignore: Ignore another generated file.
30687
30688 2010-03-08  Karl Berry  <karl@gnu.org>
30689
30690         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30691         of committing gnulib files while skipping others.
30692
30693 2010-03-07  Bruno Haible  <bruno@clisp.org>
30694
30695         Tests of module 'wctype' in C++ mode.
30696         * tests/test-wctype-c++.cc: New file.
30697         * modules/wctype-tests (Files): Add it and tests/signature.h.
30698         (Depends-on): Add ansi-c++-opt.
30699         (Makefile.am): Arrange to compile and run test-wctype-c++.
30700
30701         Tests of module 'wchar' in C++ mode.
30702         * tests/test-wchar-c++.cc: New file.
30703         * modules/wchar-tests (Files): Add it and tests/signature.h.
30704         (Depends-on): Add ansi-c++-opt.
30705         (Makefile.am): Arrange to compile and run test-wchar-c++.
30706         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30707         gl_MODULE_INDICATOR.
30708
30709         Tests of module 'unistd' in C++ mode.
30710         * tests/test-unistd-c++.cc: New file.
30711         * modules/unistd-tests (Files): Add it and tests/signature.h.
30712         (Depends-on): Add ansi-c++-opt.
30713         (Makefile.am): Arrange to compile and run test-unistd-c++.
30714         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30715         gl_MODULE_INDICATOR.
30716
30717         Tests of module 'time' in C++ mode.
30718         * tests/test-time-c++.cc: New file.
30719         * modules/time-tests (Files): Add it and tests/signature.h.
30720         (Depends-on): Add ansi-c++-opt.
30721         (Makefile.am): Arrange to compile and run test-time-c++.
30722         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30723
30724         Tests of module 'sys_time' in C++ mode.
30725         * tests/test-sys_time-c++.cc: New file.
30726         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30727         (Depends-on): Add ansi-c++-opt.
30728         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30729         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30730         gl_MODULE_INDICATOR.
30731
30732         Tests of module 'sys_stat' in C++ mode.
30733         * tests/test-sys_stat-c++.cc: New file.
30734         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30735         (Depends-on): Add ansi-c++-opt.
30736         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30737         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30738         gl_MODULE_INDICATOR.
30739
30740         Tests of module 'sys_socket' in C++ mode.
30741         * tests/test-sys_socket-c++.cc: New file.
30742         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30743         (Depends-on): Add ansi-c++-opt.
30744         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30745         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30746         gl_MODULE_INDICATOR.
30747
30748         Tests of module 'sys_select' in C++ mode.
30749         * tests/test-sys_select-c++.cc: New file.
30750         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30751         (Depends-on): Add ansi-c++-opt.
30752         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30753         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30754         gl_MODULE_INDICATOR.
30755
30756         Tests of module 'sys_ioctl' in C++ mode.
30757         * tests/test-sys_ioctl-c++.cc: New file.
30758         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30759         (Depends-on): Add ansi-c++-opt.
30760         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30761         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30762         gl_MODULE_INDICATOR.
30763
30764         Tests of module 'string' in C++ mode.
30765         * tests/test-string-c++.cc: New file.
30766         * modules/string-tests (Files): Add it and tests/signature.h.
30767         (Depends-on): Add ansi-c++-opt.
30768         (Makefile.am): Arrange to compile and run test-string-c++.
30769         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30770         gl_MODULE_INDICATOR.
30771
30772         Tests of module 'stdlib' in C++ mode.
30773         * tests/test-stdlib-c++.cc: New file.
30774         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30775         (Depends-on): Add ansi-c++-opt.
30776         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30777         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30778         gl_MODULE_INDICATOR.
30779
30780         Tests of module 'stdio' in C++ mode.
30781         * tests/test-stdio-c++.cc: New file.
30782         * modules/stdio-tests (Files): Add it and tests/signature.h.
30783         (Depends-on): Add ansi-c++-opt.
30784         (Makefile.am): Arrange to compile and run test-stdio-c++.
30785         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30786         gl_MODULE_INDICATOR.
30787
30788         Tests of module 'spawn' in C++ mode.
30789         * tests/test-spawn-c++.cc: New file.
30790         * modules/spawn-tests (Files): Add it and tests/signature.h.
30791         (Depends-on): Add ansi-c++-opt.
30792         (Makefile.am): Arrange to compile and run test-spawn-c++.
30793         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30794         gl_MODULE_INDICATOR.
30795
30796         Tests of module 'signal' in C++ mode.
30797         * tests/test-signal-c++.cc: New file.
30798         * modules/signal-tests (Files): Add it and tests/signature.h.
30799         (Depends-on): Add ansi-c++-opt.
30800         (Makefile.am): Arrange to compile and run test-signal-c++.
30801         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30802         gl_MODULE_INDICATOR.
30803
30804         Tests of module 'search' in C++ mode.
30805         * tests/test-search-c++.cc: New file.
30806         * modules/search-tests (Files): Add it and tests/signature.h.
30807         (Depends-on): Add ansi-c++-opt.
30808         (Makefile.am): Arrange to compile and run test-search-c++.
30809         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30810         gl_MODULE_INDICATOR.
30811
30812         Tests of module 'math' in C++ mode.
30813         * tests/test-math-c++.cc: New file.
30814         * modules/math-tests (Files): Add it and tests/signature.h.
30815         (Depends-on): Add ansi-c++-opt.
30816         (Makefile.am): Arrange to compile and run test-math-c++.
30817         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30818
30819         Tests of module 'locale' in C++ mode.
30820         * tests/test-locale-c++.cc: New file.
30821         * modules/locale-tests (Files): Add it and tests/signature.h.
30822         (Depends-on): Add ansi-c++-opt.
30823         (Makefile.am): Arrange to compile and run test-locale-c++.
30824         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30825         gl_MODULE_INDICATOR.
30826
30827         Tests of module 'langinfo' in C++ mode.
30828         * tests/test-langinfo-c++.cc: New file.
30829         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30830         (Depends-on): Add ansi-c++-opt.
30831         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30832         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30833         gl_MODULE_INDICATOR.
30834
30835         Tests of module 'iconv-h' in C++ mode.
30836         * tests/test-iconv-h-c++.cc: New file.
30837         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30838         (Depends-on): Add ansi-c++-opt.
30839         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30840
30841         Tests of module 'glob' in C++ mode.
30842         * tests/test-glob-c++.cc: New file.
30843         * modules/glob-tests (Files): Add it.
30844         (Depends-on): Add ansi-c++-opt.
30845         (Makefile.am): Arrange to compile and run test-glob-c++.
30846
30847         Tests of module 'fcntl-h' in C++ mode.
30848         * tests/test-fcntl-h-c++.cc: New file.
30849         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30850         (Depends-on): Add ansi-c++-opt.
30851         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30852         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30853         gl_MODULE_INDICATOR.
30854
30855         Tests of module 'dirent' in C++ mode.
30856         * tests/test-dirent-c++.cc: New file.
30857         * modules/dirent-tests (Files): Add it and tests/signature.h.
30858         (Depends-on): Add ansi-c++-opt.
30859         (Makefile.am): Arrange to compile and run test-dirent-c++.
30860         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30861         gl_MODULE_INDICATOR.
30862
30863         New module 'ansi-c++-opt'.
30864         * modules/ansi-c++-opt: New file.
30865         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30866
30867         Document C++ namespace mode.
30868         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30869
30870         wctype: Avoid #define replacements in C++ mode.
30871         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30872         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30873         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30874         In C++, define a namespaced alias symbol.
30875         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30876         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30877         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30878         rule.
30879
30880         wchar: Avoid #define replacements in C++ mode.
30881         * lib/wchar.in.h: Include c++defs.h.
30882         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30883         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30884         symbol.
30885         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30886         * modules/wchar (Depends-on): Add c++defs.
30887         (Makefile.am): Update wchar.h rule.
30888
30889         unistd: Avoid #define replacements in C++ mode.
30890         * lib/unistd.in.h: Include c++defs.h.
30891         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30892         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30893         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30894         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30895         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30896         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30897         symbol.
30898         (environ): Update.
30899         * modules/unistd (Depends-on): Add c++defs.
30900         (Makefile.am): Update unistd.h rule.
30901
30902         time: Avoid #define replacements in C++ mode.
30903         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30904         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30905         define a namespaced alias symbol.
30906         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30907         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30908         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30909         * modules/time (Depends-on): Add c++defs, warn-on-use.
30910         (Makefile.am): Update time.h rule.
30911         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30912         * modules/nanosleep (configure.ac): Likewise.
30913         * modules/strptime (configure.ac): Likewise.
30914         * modules/timegm (configure.ac): Likewise.
30915
30916         sys_time: Avoid #define replacements in C++ mode.
30917         * lib/sys_time.in.h: Include c++defs.h.
30918         (gettimeofday): In C++, define a namespaced alias symbol.
30919         * modules/sys_time (Depends-on): Add c++defs.
30920         (Makefile.am): Update sys/time.h rule.
30921
30922         sys_stat: Avoid #define replacements in C++ mode.
30923         * lib/sys_stat.in.h: Include c++defs.h.
30924         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30925         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30926         namespaced alias symbol.
30927         In C++, define a namespaced alias symbol.
30928         * modules/sys_stat (Depends-on): Add c++defs.
30929         (Makefile.am): Update sys/stat.h rule.
30930
30931         sys_socket: Avoid #define replacements in C++ mode.
30932         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30933         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30934         definitions also when the system has a <sys/socket.h>.
30935         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30936         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30937         In C++, define a namespaced alias symbol.
30938         * modules/sys_socket (Depends-on): Add c++defs.
30939         (Makefile.am): Update sys/socket.h rule.
30940
30941         sys_select: Avoid #define replacements in C++ mode.
30942         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30943         definitions also when the system has a <sys/select.h>.
30944         (select): In C++, define a namespaced alias symbol.
30945         * modules/sys_select (Depends-on): Add c++defs.
30946         (Makefile.am): Update sys/select.h rule.
30947
30948         sys_ioctl: Avoid #define replacements in C++ mode.
30949         * lib/sys_ioctl.in.h: Include c++defs.h.
30950         (ioctl): In C++, define a namespaced alias symbol.
30951         * modules/sys_ioctl (Depends-on): Add c++defs.
30952         (Makefile.am): Update sys/ioctl.h rule.
30953
30954         string: Avoid #define replacements in C++ mode.
30955         * lib/string.in.h: Include c++defs.h.
30956         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30957         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30958         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30959         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30960         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30961         * modules/string (Depends-on): Add c++defs.
30962         (Makefile.am): Update string.h rule.
30963
30964         stdlib: Avoid #define replacements in C++ mode.
30965         * lib/stdlib.in.h: Include c++defs.h.
30966         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30967         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30968         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30969         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30970         symbol.
30971         * modules/stdlib (Depends-on): Add c++defs.
30972         (Makefile.am): Update stdlib.h rule.
30973
30974         stdio: Avoid #define replacements in C++ mode.
30975         * lib/stdio.in.h: Include c++defs.h.
30976         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30977         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30978         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30979         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30980         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30981         namespaced alias symbol.
30982         * modules/stdio (Depends-on): Add c++defs.
30983         (Makefile.am): Update stdio.h rule.
30984
30985         spawn: Avoid #define replacements in C++ mode.
30986         * lib/spawn.in.h: Include c++defs.h.
30987         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30988         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30989         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30990         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30991         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30992         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30993         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30994         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30995         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30996         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30997         In C++, define a namespaced alias symbol.
30998         * modules/spawn (Depends-on): Add c++defs.
30999         (Makefile.am): Update spawn.h rule.
31000
31001         signal: Avoid #define replacements in C++ mode.
31002         * lib/signal.in.h: Include c++defs.h.
31003         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
31004         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
31005         namespaced alias symbol.
31006         * modules/signal (Depends-on): Add c++defs.
31007         (Makefile.am): Update signal.h rule.
31008
31009         search: Avoid #define replacements in C++ mode.
31010         * lib/search.in.h: Include c++defs.h.
31011         (_gl_search_compar_fn, _gl_search_action_fn): New types.
31012         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
31013         symbol.
31014         * modules/search (Depends-on): Add c++defs.
31015         (Makefile.am): Update search.h rule.
31016
31017         math: Avoid #define replacements in C++ mode.
31018         * lib/math.in.h: Include c++defs.h.
31019         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
31020         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
31021         trunc, truncl): In C++, define a namespaced alias symbol.
31022         * modules/math (Depends-on): Add c++defs.
31023         (Makefile.am): Update math.h rule.
31024
31025         locale: Avoid #define replacements in C++ mode.
31026         * lib/locale.in.h: Include c++defs.h.
31027         (duplocale): In C++, define a namespaced alias symbol.
31028         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
31029         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
31030         * modules/locale (Depends-on): Add c++defs.
31031         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
31032
31033         langinfo: Avoid #define replacements in C++ mode.
31034         * lib/langinfo.in.h: Include c++defs.h.
31035         (nl_langinfo): In C++, define a namespaced alias symbol.
31036         * modules/langinfo (Depends-on): Add c++defs.
31037         (Makefile.am): Update langinfo.h rule.
31038
31039         iconv-h: Avoid #define replacements in C++ mode.
31040         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
31041         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
31042         symbol.
31043         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
31044         whenever iconv is present.
31045         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
31046         (Makefile.am): Update iconv.h rule.
31047
31048         glob: Avoid #define replacements in C++ mode.
31049         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
31050         (_gl_glob_errfunc_fn): New type.
31051         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
31052         symbol.
31053         * modules/glob (Depends-on): Add c++defs, warn-on-use.
31054         (Makefile.am): Update glob.h rule.
31055
31056         fcntl-h: Avoid #define replacements in C++ mode.
31057         * lib/fcntl.in.h: Include c++defs.h.
31058         (fcntl, open, openat): In C++, define a namespaced alias symbol.
31059         * modules/fcntl-h (Depends-on): Add c++defs.
31060         (Makefile.am): Update fcntl.h rule.
31061
31062         dirent: Avoid #define replacements in C++ mode.
31063         * lib/dirent.in.h: Include c++defs.h.
31064         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
31065         namespaced alias symbol.
31066         (dirfd): Update declaration.
31067         * modules/dirent (Depends-on): Add c++defs.
31068         (Makefile.am): Update dirent.h rule.
31069
31070         ctype: Make it usable in C++ code.
31071         * lib/ctype.in.h: Include c++defs.h.
31072         (isblank): Declare as extern "C".
31073         * modules/ctype (Depends-on): Add c++defs.
31074         (Makefile.am): Update ctype.h rule.
31075
31076         New module 'c++defs'.
31077         * modules/c++defs: New file.
31078         * build-aux/c++defs.h: New file.
31079         Reported by John W. Eaton <jwe@gnu.org>.
31080
31081 2010-03-07  Bruno Haible  <bruno@clisp.org>
31082
31083         logb: Provide missing declaration for Cygwin.
31084         * lib/math.in.h (logb): New declaration.
31085         * m4/logb.m4: New file.
31086         * modules/logb (Files): Add m4/logb.m4.
31087         (Depends-on): Add math.
31088         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
31089         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
31090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
31091         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
31092         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
31093
31094 2010-03-07  Bruno Haible  <bruno@clisp.org>
31095
31096         Fix test-cond link error.
31097         * tests/test-cond.c: Include <stdio.h>.
31098
31099 2010-03-07  Bruno Haible  <bruno@clisp.org>
31100
31101         Fix test-dirent-safer link error.
31102         * modules/dirent-safer-tests (Makefile.am): Define
31103         test_dirent_safer_LDADD.
31104
31105 2010-03-07  Bruno Haible  <bruno@clisp.org>
31106
31107         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
31108         among default module list.
31109
31110 2010-03-07  Bruno Haible  <bruno@clisp.org>
31111
31112         Fix link error on platforms with GNU libiconv.
31113         * modules/unistr/u8-strcoll-tests (Makefile): Define
31114         test_u8_strcoll_LDADD.
31115         * modules/unistr/u16-strcoll-tests (Makefile): Define
31116         test_u16_strcoll_LDADD.
31117         * modules/unistr/u32-strcoll-tests (Makefile): Define
31118         test_u32_strcoll_LDADD.
31119
31120 2010-03-07  Bruno Haible  <bruno@clisp.org>
31121
31122         Use POSIX declarations for socket functions.
31123         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
31124         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
31125         rpl_sendto): Change declaration to match POSIX.
31126         * lib/connect.c (rpl_connect): Likewise.
31127         * lib/accept.c (rpl_accept): Likewise.
31128         * lib/bind.c (rpl_bind): Likewise.
31129         * lib/getpeername.c (rpl_getpeername): Likewise.
31130         * lib/getsockname.c (rpl_getsockname): Likewise.
31131         * lib/recv.c (rpl_recv): Likewise.
31132         * lib/send.c (rpl_send): Likewise.
31133         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31134         * lib/sendto.c (rpl_sendto): Likewise.
31135
31136 2010-03-06  Bruno Haible  <bruno@clisp.org>
31137
31138         Clarify access, euidaccess, faccessat.
31139         * doc/posix-functions/faccessat.texi: Mention security problem under
31140         "Other problems", not "Portability problems".
31141         * doc/posix-functions/access.texi: Likewise. Mention a related security
31142         problem.
31143         * doc/glibc-functions/euidaccess.texi: Mention security problems.
31144         * lib/euidaccess.c: Add comments about platforms.
31145         * lib/unistd.in.h (access, euidaccess): Add warnings.
31146
31147 2010-03-07  Bruno Haible  <bruno@clisp.org>
31148
31149         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
31150         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
31151         (POSIX_SPAWN_SETSCHEDULER): Likewise.
31152         (POSIX_SPAWN_USEVFORK): Define in a way that works when
31153         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31154         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
31155         declare when POSIX_SPAWN_SETSCHEDULER is zero.
31156         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
31157         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
31158         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
31159         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
31160         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
31161         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
31162         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
31163         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
31164         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
31165         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
31166         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
31167         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
31168         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
31169         Likewise.
31170         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
31171         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
31172         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
31173         Likewise.
31174         * tests/test-spawn.c (main): Make it work when
31175         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
31176
31177 2010-03-07  Bruno Haible  <bruno@clisp.org>
31178
31179         Fix incorrect Makefile.am generation in German locale.
31180         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31181         Execute sed command with character range in C locale.
31182
31183 2010-03-06  Bruno Haible  <bruno@clisp.org>
31184
31185         Tests for module 'iconv-h'.
31186         * modules/iconv-h-tests: New file.
31187         * tests/test-iconv-h.c: New file.
31188
31189         New module 'iconv-h'.
31190         * modules/iconv-h: New file.
31191         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
31192         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
31193         (configure.ac): Remove gl_ICONV_H.
31194         (Makefile.am): Remove rule for iconv.h.
31195
31196 2010-03-06  Bruno Haible  <bruno@clisp.org>
31197
31198         More consistent naming of *.m4 files.
31199         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
31200         * modules/wctype (Files): Update.
31201
31202         More consistent naming of *.m4 files.
31203         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
31204         * modules/wchar (Files): Update.
31205
31206 2010-03-06  Jim Meyering  <meyering@redhat.com>
31207
31208         euidaccess: relax license to LGPLv2+
31209         * modules/euidaccess (License): Relax to LGPLv2+.
31210
31211 2010-03-06  Bruno Haible  <bruno@clisp.org>
31212
31213         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
31214         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
31215         (Makefile.am): Augment lib_SOURCES instead.
31216
31217 2010-03-04  Jim Meyering  <meyering@redhat.com>
31218
31219         utime: remove obsolete module
31220         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
31221         unnecessary for years, and has been marked as obsolete for 10 months.
31222         * modules/utime: Remove file.
31223         * lib/utime.c: Remove file.
31224         * m4/utime.m4: Remove file.
31225         * m4/utimes-null.m4: Remove file.
31226         * doc/posix-functions/utime.texi (utime): Remove reference to
31227         the module.  Move the sole "fixed by gnulib" item into the
31228         "problems not fixed by Gnulib" list.
31229         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
31230
31231 2010-03-05  Simon Josefsson  <simon@josefsson.org>
31232
31233         * modules/exit (License): Relax license to LGPLv2+.
31234         (Status): Mark as obsolete.
31235         * NEWS: Mention deprecated 'exit' module.
31236         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
31237         of now obsolete 'exit'.
31238
31239 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31240
31241         fts-lgpl: remove unused module
31242         * modules/fts-lgpl: Remove.
31243         * MODULES.html.sh (func_all_modules): Adjust.
31244         * check-module (find_included_lib_files): Adjust.
31245         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
31246
31247 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
31248
31249         copy-acl: enhance Solaris ACL error handling
31250         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
31251         * lib/set-mode-acl.c (qset_acl): Likewise.
31252
31253 2010-03-02  Bruno Haible  <bruno@clisp.org>
31254
31255         spawn: Don't override the system defined values on FreeBSD 8.
31256         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
31257         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
31258         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
31259         if HAVE_POSIX_SPAWN is 1.
31260         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
31261
31262 2010-03-01  Bruno Haible  <bruno@clisp.org>
31263
31264         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
31265         regarding Automake.
31266
31267 2010-02-25  Bruno Haible  <bruno@clisp.org>
31268
31269         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
31270         * gnulib-tool: Define 'echo' as a function only before the ksh alias
31271         setting, not afterwards.
31272         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
31273
31274 2010-02-24  Eric Blake  <eblake@redhat.com>
31275
31276         bootstrap, git-version-gen: use timestamp
31277         * build-aux/git-version-gen (scriptversion): Force UTC.
31278         * build-aux/bootstrap (scriptversion): New variable.
31279
31280         bootstrap: allow older git
31281         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
31282         older than 1.6.4.  Requested by the libvirt project.
31283
31284 2010-02-23  Eric Blake  <eblake@redhat.com>
31285
31286         warn-on-use: work with old autoconf
31287         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
31288         AS_VAR semantics of autoconf 2.60.
31289         Reported by Bruno Haible.
31290
31291         bootstrap: improve some comments
31292         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
31293         clarification comments.
31294
31295         gettimeofday: provide correct function
31296         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
31297         when replacement is declared, otherwise provide gettimeofday.
31298         Reported by Michael Goffioul.
31299
31300 2010-02-23  Jim Meyering  <meyering@redhat.com>
31301
31302         lib-ignore: relax license to "unlimited", not LGPLv2+
31303         * modules/lib-ignore (License): Relax to "unlimited".
31304
31305 2010-02-23  Jim Meyering  <meyering@redhat.com>
31306
31307         lib-ignore: relax license to LGPLv2+
31308         * modules/lib-ignore (License): Relax to LGPLv2+.
31309
31310 2010-02-22  Eric Blake  <eblake@redhat.com>
31311
31312         lseek: avoid bash 3.2 broken pipe bug
31313         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
31314         warning from bash 3.2.
31315         Reported by Ben Pfaff, with analysis from Bruno Haible.
31316
31317         bootstrap: support non-FSF copyright holder
31318         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
31319         bootstrap.conf override of COPYRIGHT_HOLDER.
31320         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
31321
31322         bootstrap: interoperate with gettext 0.14.1
31323         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
31324
31325         bootstrap: allow for alternate submodule location
31326         * build-aux/bootstrap (gnulib_path): New variable; use instead of
31327         hardcoding submodule location.
31328         (gnulib_mk): Allow direct use of Makefile.am.
31329
31330         bootstrap: use GNULIB_SRCDIR to reduce disk usage
31331         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
31332         rather than reconfiguring where the submodule points.
31333
31334         gettimeofday: restore support for platforms that lack function
31335         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
31336         replacement if function is missing.
31337         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
31338         * modules/sys_time (Makefile.am): Substitute it.
31339         * lib/sys_time.in.h (gettimeofday): Check it.
31340         Reported by Michael Goffioul.
31341
31342 2010-02-21  Bruno Haible  <bruno@clisp.org>
31343
31344         * lib/stdio.in.h (obstack_printf): Fix typo.
31345
31346 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
31347
31348         vc-list-files: use bzr ls's -R option
31349         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
31350         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
31351
31352 2010-02-21  Jim Meyering  <meyering@redhat.com>
31353
31354         init.sh: fix EXEEXT shims to work also for names like test-prog
31355         * tests/init.sh: Re-exec a better shell, when needed.
31356         If the current shell lacks support for posix $(...), an init.sh-using
31357         test will now try to find a shell that supports that.  If EXEEXT is
31358         nonempty, we also require support for hyphen-in-alias-name and shell
31359         substitutions like ${var#glob}.  Failure to find such a shell results
31360         in a skipped test.
31361
31362 2010-02-21  Bruno Haible  <bruno@clisp.org>
31363
31364         Really work around around "broken pipe" error message from bash 3.2.
31365         * gnulib-tool (func_reset_sigpipe): Remove function.
31366         (echo): In bash 3.2, define to a function that uses printf.
31367         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
31368
31369 2010-02-20  Bruno Haible  <bruno@clisp.org>
31370
31371         Restore support for automake 1.9.6 with autoconf 2.61.
31372         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
31373         Reported by James Youngman <jay@gnu.org>.
31374
31375 2010-02-20  Bruno Haible  <bruno@clisp.org>
31376
31377         Improve *printf warning condition.
31378         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
31379         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
31380         and the function is overridden due to SIGPIPE emulation.
31381
31382 2010-02-20  Bruno Haible  <bruno@clisp.org>
31383
31384         * lib/stdio.in.h: Tweak comments.
31385
31386 2010-02-19  Bruno Haible  <bruno@clisp.org>
31387
31388         Make it easier to find modules. New gnulib-tool option '--find'.
31389         * gnulib-tool: New option --find.
31390         (func_usage): Document it.
31391         (func_sanitize_modulelist): New function, extracted from
31392         func_all_modules.
31393         (func_all_modules): Invoke it.
31394         * doc/gnulib-tool.texi (Which modules?): New node.
31395
31396 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
31397
31398         * lib/sys_select.in.h: Provide select replacement even if
31399         sys/select.h exists on a system, for Interix.
31400
31401 2010-02-18  Jim Meyering  <meyering@redhat.com>
31402
31403         init.sh: don't use $(...) just yet
31404         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
31405         to accommodate e.g., Solaris' /bin/sh.
31406
31407 2010-02-17  Bruno Haible  <bruno@clisp.org>
31408
31409         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
31410         Reported by Ludovic Courtès <ludo@gnu.org>.
31411
31412 2010-02-16  Simon Josefsson  <simon@josefsson.org>
31413
31414         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
31415         linking with -lintl.
31416
31417 2010-02-17  Simon Josefsson  <simon@josefsson.org>
31418
31419         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
31420         if not provided by the system's netdb.h.  Reported by
31421         ludo@gnu.org (Ludovic Courtès).
31422
31423 2010-02-15  Jim Meyering  <meyering@redhat.com>
31424
31425         init.sh: improve portability and efficiency
31426         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
31427         "dummy" in a for loop.
31428         Use '!', not '^' to select the complement of a character set used
31429         in a "case" statement.
31430         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
31431         Suggestions from Eric Blake.
31432
31433         init.sh: automatically accommodate programs with the .exe suffix
31434         Automatically arrange for an invocation of "prog" to execute the
31435         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
31436         may use the simpler "prog", yet still work when built on a system
31437         that requires specifying the added suffix.
31438         Do this by constructing a function named "prog" that invokes
31439         "prog.exe" for each .exe file in selected directories.
31440         * tests/init.sh (find_exe_basenames_): New function.
31441         (create_exe_shim_functions_): New function.
31442         (path_prepend_): Use it.
31443
31444         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31445         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31446         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31447
31448 2010-02-14  Jim Meyering  <meyering@redhat.com>
31449
31450         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31451         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31452         (sc_prohibit_hash_pjw_without_use): New rule.
31453
31454         maint.mk: allow the default upload destination dir to be overridden
31455         * top/maint.mk (upload_dest_dir_): Define with a default that
31456         preserves the status quo.
31457         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31458         Reported by Peter Simons.
31459
31460         maint.mk: prohibit inclusion of "hash.h" without_use
31461         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31462
31463 2010-02-10  Jim Meyering  <meyering@redhat.com>
31464
31465         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31466         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31467
31468 2010-02-09  Eric Blake  <ebb9@byu.net>
31469         and Bruno Haible  <bruno@clisp.org>
31470
31471         obstack-printf-posix: ensure declaration
31472         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31473         extracted from gl_FUNC_OBSTACK_PRINTF.
31474         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31475         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31476         Likewise.
31477         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31478         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31479         0.
31480
31481 2010-02-08  Bruno Haible  <bruno@clisp.org>
31482
31483         gnulib-tool: Fix typo in 2010-02-07 commit.
31484         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31485         Reported by Eric Blake.
31486
31487 2010-02-07  Bruno Haible  <bruno@clisp.org>
31488
31489         gnulib-tool: Fix up caching patches.
31490         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31491         option --no-cache. Use associative arrays when supported by the shell.
31492         (sed_comments): New variable.
31493         (modcache): Renamed from do_cache.
31494         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31495         abbreviate unnecessarily.
31496         (have_associative): New variable.
31497         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31498         way also for ksh and zsh.
31499         (func_init_sed_convert_to_cache_statements): New function, extracted
31500         from func_cache_lookup_module. Add support for associative arrays.
31501         Don't set the c_MODULE_cached variable here. Ignore all lines before
31502         the first field header. Remove only the final newline, not all trailing
31503         newlines. Support empty fields correctly. Limit the use of 'eval' to
31504         assignments.
31505         (func_get_description, func_get_status, func_get_notice,
31506         func_get_applicability, func_get_filelist, func_get_dependencies,
31507         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31508         func_get_automake_snippet, func_get_include_directive,
31509         func_get_link_directive, func_get_license, func_get_maintainer):
31510         Update documentation. List the unoptimized code first. Add support for
31511         associative arrays. Limit the use of 'eval' to assignments.
31512         (func_get_applicability): Undo stylistic pessimisations.
31513         (func_get_automake_snippet, func_get_include_directive): Reduce code
31514         duplication.
31515         (func_modules_transitive_closure, func_modules_add_dummy,
31516         func_modules_notice, func_modules_to_filelist, func_add_file,
31517         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31518         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31519         func_create_testdir, func_create_megatestdir): Update documentation.
31520
31521 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31522
31523         * gnulib-tool (func_cache_lookup_module): Store the module name
31524         belonging to the cache variable; error out if two different
31525         module names map to the same cache variable name.
31526
31527 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31528
31529         gnulib-tool: Make caching optional.
31530         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31531         Update matching short versions of --no-changelog.
31532         (func_usage): Update.
31533         (sed_extract_cache_prog): Renamed from ...
31534         (sed_extract_prog): ... this; revert to old extraction script.
31535         (func_get_description, func_get_status)
31536         (func_get_notice, func_get_applicability, func_get_filelist)
31537         (func_get_dependencies, func_get_autoconf_early_snippet)
31538         (func_get_autoconf_snippet, func_get_automake_snippet)
31539         (func_get_include_directive, func_get_link_directive)
31540         (func_get_license, func_get_maintainer): If $do_cache is false,
31541         use old, non-caching extraction scripts.
31542         Suggestion by Bruno Haible.
31543
31544 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31545
31546         gnulib-tool: cache module metainformation.
31547         * gnulib-tool (sed_extract_prog): Match newline before each
31548         header, and rewrite header to a shell variable suffix.
31549         (func_cache_var, func_cache_lookup_module): New functions,
31550         to turn a module name into a cache variable prefix, and to
31551         look up and cache module metainformation.
31552         (func_get_description, func_get_status)
31553         (func_get_notice, func_get_applicability, func_get_filelist)
31554         (func_get_dependencies, func_get_autoconf_early_snippet)
31555         (func_get_autoconf_snippet, func_get_automake_snippet)
31556         (func_get_include_directive, func_get_link_directive)
31557         (func_get_license, func_get_maintainer): Use
31558         func_cache_lookup_module.
31559
31560 2010-02-07  Bruno Haible  <bruno@clisp.org>
31561
31562         fnctl: Fix missing dependency.
31563         * modules/fcntl (Depends-on): Add getdtablesize.
31564         Reported by John W. Eaton <jwe@gnu.org>.
31565
31566 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31567
31568         Argp: fix recognition of short alias options.
31569
31570         * lib/argp-parse.c (convert_options): Fix improper use of
31571         `|' between character values.
31572         * tests/test-argp.c (group1_option): New alias option
31573         --read (-r).
31574         (group1_parser): Special handling for 'r'.
31575         (test15): New test case.
31576         (test_fun): Add test15.
31577         * tests/test-argp-2.sh: Update expected --help and --usage
31578         outputs.
31579
31580 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31581
31582         * tests/test-argp.c: Fix indentation.
31583
31584 2010-02-04  Eric Blake  <ebb9@byu.net>
31585
31586         gettimeofday: expose type of second argument
31587         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31588         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31589         * tests/test-gettimeofday.c: Use it to silence warning.
31590         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31591         the issue.
31592
31593 2010-02-03  Jim Meyering  <meyering@redhat.com>
31594
31595         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31596         * lib/regcomp.c (TYPE_SIGNED): Define.
31597         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31598
31599         regcomp.c: avoid a new -Wshadow warning
31600         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31601
31602 2010-02-01  Jim Meyering  <meyering@redhat.com>
31603
31604         removing useless parentheses in cpp #define directives
31605         For motivation, see commit c0221df4, "define STREQ(a,b)
31606         consistently, removing useless parentheses"
31607         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31608         * lib/mountlist.c (MNT_IGNORE): Likewise.
31609         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31610
31611 2010-02-01  Eric Blake  <ebb9@byu.net>
31612
31613         sys_time: use link-warning
31614         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31615         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31616         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31617         * modules/sys_time (Depends-on): Add warn-on-use.
31618         (Makefile.am): Always build replacement.
31619         (configure.ac): Update substitutions.
31620         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31621         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31622         bother with SYS_TIME_H.
31623         * modules/gettimeofday (configure.ac): Declare indicator.
31624         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31625         in use.
31626
31627         closein-tests: silence compiler warning
31628         * tests/test-closein.c (main): Ignore fread result.
31629         * modules/closein-tests (Depends-on): Add ignore-value.
31630
31631         tests: silence warning about system return
31632         * tests/test-areadlink-with-size.c (main): Ignore system result.
31633         * tests/test-areadlink.c (main): Likewise.
31634         * tests/test-areadlinkat-with-size.c (main): Likewise.
31635         * tests/test-areadlinkat.c (main): Likewise.
31636         * tests/test-canonicalize-lgpl.c (main): Likewise.
31637         * tests/test-canonicalize.c (main): Likewise.
31638         * tests/test-chown.c (main): Likewise.
31639         * tests/test-fchownat.c (main): Likewise.
31640         * tests/test-fdutimensat.c (main): Likewise.
31641         * tests/test-fstatat.c (main): Likewise.
31642         * tests/test-futimens.c (main): Likewise.
31643         * tests/test-lchown.c (main): Likewise.
31644         * tests/test-link.c (main): Likewise.
31645         * tests/test-linkat.c (main): Likewise.
31646         * tests/test-lstat.c (main): Likewise.
31647         * tests/test-mkdir.c (main): Likewise.
31648         * tests/test-mkdirat.c (main): Likewise.
31649         * tests/test-mkfifo.c (main): Likewise.
31650         * tests/test-mkfifoat.c (main): Likewise.
31651         * tests/test-mknod.c (main): Likewise.
31652         * tests/test-readlink.c (main): Likewise.
31653         * tests/test-remove.c (main): Likewise.
31654         * tests/test-rename.c (main): Likewise.
31655         * tests/test-renameat.c (main): Likewise.
31656         * tests/test-rmdir.c (main): Likewise.
31657         * tests/test-symlink.c (main): Likewise.
31658         * tests/test-symlinkat.c (main): Likewise.
31659         * tests/test-unlink.c (main): Likewise.
31660         * tests/test-unlinkat.c (main): Likewise.
31661         * tests/test-utimens.c (main): Likewise.
31662         * tests/test-utimensat.c (main): Likewise.
31663         * modules/areadlink-tests (Depends-on): Add ignore-value.
31664         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31665         * modules/areadlinkat-tests (Depends-on): Likewise.
31666         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31667         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31668         * modules/canonicalize-tests (Depends-on): Likewise.
31669         * modules/chown-tests (Depends-on): Likewise.
31670         * modules/fdutimensat-tests (Depends-on): Likewise.
31671         * modules/futimens-tests (Depends-on): Likewise.
31672         * modules/lchown-tests (Depends-on): Likewise.
31673         * modules/link-tests (Depends-on): Likewise.
31674         * modules/linkat-tests (Depends-on): Likewise.
31675         * modules/lstat-tests (Depends-on): Likewise.
31676         * modules/mkdir-tests (Depends-on): Likewise.
31677         * modules/mkfifo-tests (Depends-on): Likewise.
31678         * modules/mkfifoat-tests (Depends-on): Likewise.
31679         * modules/mknod-tests (Depends-on): Likewise.
31680         * modules/openat-tests (Depends-on): Likewise.
31681         * modules/readlink-tests (Depends-on): Likewise.
31682         * modules/remove-tests (Depends-on): Likewise.
31683         * modules/rename-tests (Depends-on): Likewise.
31684         * modules/renameat-tests (Depends-on): Likewise.
31685         * modules/rmdir-tests (Depends-on): Likewise.
31686         * modules/symlink-tests (Depends-on): Likewise.
31687         * modules/symlinkat-tests (Depends-on): Likewise.
31688         * modules/unlink-tests (Depends-on): Likewise.
31689         * modules/utimens-tests (Depends-on): Likewise.
31690         * modules/utimensat-tests (Depends-on): Likewise.
31691
31692 2010-01-31  Bruno Haible  <bruno@clisp.org>
31693
31694         Perform the same test for many <math.h> functions.
31695         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31696         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31697         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31698         of gl_MATHFUNC.
31699         * modules/acos (configure.ac): Likewise.
31700         * modules/asin (configure.ac): Likewise.
31701         * modules/atan (configure.ac): Likewise.
31702         * modules/atan2 (configure.ac): Likewise.
31703         * modules/cbrt (configure.ac): Likewise.
31704         * modules/copysign (configure.ac): Likewise.
31705         * modules/cos (configure.ac): Likewise.
31706         * modules/cosh (configure.ac): Likewise.
31707         * modules/erf (configure.ac): Likewise.
31708         * modules/erfc (configure.ac): Likewise.
31709         * modules/exp (configure.ac): Likewise.
31710         * modules/fmod (configure.ac): Likewise.
31711         * modules/hypot (configure.ac): Likewise.
31712         * modules/j0 (configure.ac): Likewise.
31713         * modules/j1 (configure.ac): Likewise.
31714         * modules/jn (configure.ac): Likewise.
31715         * modules/lgamma (configure.ac): Likewise.
31716         * modules/log (configure.ac): Likewise.
31717         * modules/log10 (configure.ac): Likewise.
31718         * modules/log1p (configure.ac): Likewise.
31719         * modules/pow (configure.ac): Likewise.
31720         * modules/remainder (configure.ac): Likewise.
31721         * modules/sin (configure.ac): Likewise.
31722         * modules/sinh (configure.ac): Likewise.
31723         * modules/tan (configure.ac): Likewise.
31724         * modules/tanh (configure.ac): Likewise.
31725         * modules/y0 (configure.ac): Likewise.
31726         * modules/y1 (configure.ac): Likewise.
31727         * modules/yn (configure.ac): Likewise.
31728         Suggested by Paolo Bonzini.
31729
31730 2010-01-31  Bruno Haible  <bruno@clisp.org>
31731
31732         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31733
31734 2010-01-31  Bruno Haible  <bruno@clisp.org>
31735
31736         Work around getdelim() bug on FreeBSD 8.0.
31737         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31738         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31739         not work.
31740         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31741         is 1.
31742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31743         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31744         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31745         a non-zero size.
31746         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31747
31748 2010-01-31  Bruno Haible  <bruno@clisp.org>
31749
31750         Work around getline() bug on FreeBSD 8.0.
31751         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31752         and a non-zero size.
31753         * tests/test-getline.c (main): Likewise.
31754         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31755         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31756
31757 2010-01-28  Eric Blake  <ebb9@byu.net>
31758
31759         regex: fix build failure
31760         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31761         platforms.
31762
31763 2010-01-28  Jim Meyering  <meyering@redhat.com>
31764
31765         regex: do not ignore memory allocation failure
31766         * lib/regex_internal.c (create_cd_newstate): Detect
31767         re_node_set_init_copy failure.   Extracted from glibc commit
31768         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31769
31770         regex: sync more white-space changes from libc
31771         * lib/regex_internal.c: White-space only changes.
31772         * lib/regexec.c: Likewise.
31773
31774         regex: add many uses of __attribute_warn_unused_result__
31775         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31776         * lib/regexec.c: Likewise.
31777         Extracted from a messy glibc commit.
31778
31779         regcomp.c: spelling and merge-artifact from glibc
31780         * lib/regcomp.c: Merge remainder of glibc's
31781         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31782
31783         regcomp.c: sync white-space changes from glibc
31784         * lib/regcomp.c: Merge to accommodate white space
31785         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31786
31787         regcomp.c: do not ignore internal return values
31788         * lib/regcomp.c: Do not ignore internal return values.
31789         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31790         but without its white-space changes and spelling fixes.
31791
31792         regex_internal.h: define __attribute_warn_unused_result__
31793         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31794
31795         maint: add a syntax-check rule to check for vulnerable Makefile.in
31796         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31797
31798 2010-01-27  Jim Meyering  <meyering@redhat.com>
31799
31800         ncftpput-ftp: clean up spaces
31801         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31802         Remove trailing blanks.
31803
31804 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31805
31806         * build-aux/git-version-gen: Fix copyright statement.
31807         * build-aux/gnupload: Likewise.
31808         * tests/test-arcfour.c: Likewise.
31809         * tests/test-arctwo.c: Likewise.
31810         * tests/test-count-one-bits.c: Likewise.
31811         * tests/test-crc.c: Likewise.
31812         * tests/test-des.c: Likewise.
31813         * tests/test-gc-arcfour.c: Likewise.
31814         * tests/test-gc-arctwo.c: Likewise.
31815         * tests/test-gc-des.c: Likewise.
31816         * tests/test-gc-hmac-md5.c: Likewise.
31817         * tests/test-gc-hmac-sha1.c: Likewise.
31818         * tests/test-gc-md2.c: Likewise.
31819         * tests/test-gc-md4.c: Likewise.
31820         * tests/test-gc-md5.c: Likewise.
31821         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31822         * tests/test-gc-rijndael.c: Likewise.
31823         * tests/test-gc-sha1.c: Likewise.
31824         * tests/test-gc.c: Likewise.
31825         * tests/test-gethostname.c: Likewise.
31826         * tests/test-gettimeofday.c: Likewise.
31827         * tests/test-hash.c: Likewise.
31828         * tests/test-hmac-md5.c: Likewise.
31829         * tests/test-hmac-sha1.c: Likewise.
31830         * tests/test-md2.c: Likewise.
31831         * tests/test-md4.c: Likewise.
31832         * tests/test-md5.c: Likewise.
31833         * tests/test-memchr.c: Likewise.
31834         * tests/test-memchr2.c: Likewise.
31835         * tests/test-memcmp.c: Likewise.
31836         * tests/test-memmem.c: Likewise.
31837         * tests/test-memrchr.c: Likewise.
31838         * tests/test-rawmemchr.c: Likewise.
31839         * tests/test-read-file.c: Likewise.
31840         * tests/test-rijndael.c: Likewise.
31841         * tests/test-sockets.c: Likewise.
31842         * tests/test-strchrnul.c: Likewise.
31843         * tests/test-strstr.c: Likewise.
31844         * tests/test-strtod.c: Likewise.
31845         * build-aux/ncftpput-ftp: Likewise.
31846
31847 2010-01-26  Eric Blake  <ebb9@byu.net>
31848
31849         ignore-value: update recommended header name
31850         * modules/ignore-value (Include): Only use <> for headers that
31851         exist in glibc.
31852
31853 2010-01-26  Jim Meyering  <meyering@redhat.com>
31854
31855         test-userspec.c: avoid compiler warnings
31856         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31857         and "initialization discards qualifiers..." warnings.
31858         Put the first "uid" in its own scope, and make char* members "const".
31859
31860 2010-01-25  Bruno Haible  <bruno@clisp.org>
31861
31862         gnulib-tool: Make warning diagnostics consistent.
31863         * gnulib-tool (func_warning): New function.
31864         Use it everywhere where gnulib-tool produces output to stderr and it is
31865         not a fatal error.
31866
31867 2010-01-25  Bruno Haible  <bruno@clisp.org>
31868
31869         Fix test dependencies.
31870         * modules/xstrtol-tests (Depends-on): Add inttypes.
31871         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31872
31873 2010-01-25 Pádraig Brady <P@draigBrady.com>
31874
31875         syntax-check: detect incorrect boolean macro values in config.h
31876         * modules/maintainer-makefile (configure.ac): Parameterize the location
31877         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31878         The logic is from Eric Blake and the location indicated by Jim Meyering.
31879         Note the more natural CONFIG_HEADER name is prohibited by automake
31880         for backwards compatibility reasons.
31881         * top/maint.mk (sc_Wundef_boolean): New rule.
31882
31883 2010-01-25  Jim Meyering  <meyering@redhat.com>
31884
31885         bootstrap: detect MacOS 10.6's shasum, too
31886         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31887         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31888
31889 2010-01-23  Jim Meyering  <meyering@redhat.com>
31890
31891         xstrtoll: new module
31892         * modules/xstrtoll: New file.
31893         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31894         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31895         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31896         ./configure fails if you use this module and lack "long long".
31897         * modules/xstrtoll-tests: New module.
31898         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31899         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31900         new init.sh-based test framework.
31901
31902 2010-01-24  Bruno Haible  <bruno@clisp.org>
31903
31904         Tests for module 'yn'.
31905         * modules/yn-tests: New file.
31906         * tests/test-yn.c: New file.
31907
31908         Tests for module 'y1'.
31909         * modules/y1-tests: New file.
31910         * tests/test-y1.c: New file.
31911
31912         Tests for module 'y0'.
31913         * modules/y0-tests: New file.
31914         * tests/test-y0.c: New file.
31915
31916         Tests for module 'tanh'.
31917         * modules/tanh-tests: New file.
31918         * tests/test-tanh.c: New file.
31919
31920         Tests for module 'tan'.
31921         * modules/tan-tests: New file.
31922         * tests/test-tan.c: New file.
31923
31924         Tests for module 'sqrt'.
31925         * modules/sqrt-tests: New file.
31926         * tests/test-sqrt.c: New file.
31927
31928         Tests for module 'sinh'.
31929         * modules/sinh-tests: New file.
31930         * tests/test-sinh.c: New file.
31931
31932         Tests for module 'sin'.
31933         * modules/sin-tests: New file.
31934         * tests/test-sin.c: New file.
31935
31936         Tests for module 'rint'.
31937         * modules/rint-tests: New file.
31938         * tests/test-rint.c: New file.
31939
31940         Tests for module 'remainder'.
31941         * modules/remainder-tests: New file.
31942         * tests/test-remainder.c: New file.
31943
31944         Tests for module 'pow'.
31945         * modules/pow-tests: New file.
31946         * tests/test-pow.c: New file.
31947
31948         Tests for module 'nextafter'.
31949         * modules/nextafter-tests: New file.
31950         * tests/test-nextafter.c: New file.
31951
31952         Tests for module 'modf'.
31953         * modules/modf-tests: New file.
31954         * tests/test-modf.c: New file.
31955
31956         Tests for module 'logb'.
31957         * modules/logb-tests: New file.
31958         * tests/test-logb.c: New file.
31959
31960         Tests for module 'log1p'.
31961         * modules/log1p-tests: New file.
31962         * tests/test-log1p.c: New file.
31963
31964         Tests for module 'log10'.
31965         * modules/log10-tests: New file.
31966         * tests/test-log10.c: New file.
31967
31968         Tests for module 'log'.
31969         * modules/log-tests: New file.
31970         * tests/test-log.c: New file.
31971
31972         Tests for module 'lgamma'.
31973         * modules/lgamma-tests: New file.
31974         * tests/test-lgamma.c: New file.
31975
31976         Tests for module 'ldexp'.
31977         * modules/ldexp-tests: New file.
31978         * tests/test-ldexp.c: New file.
31979
31980         Tests for module 'jn'.
31981         * modules/jn-tests: New file.
31982         * tests/test-jn.c: New file.
31983
31984         Tests for module 'j1'.
31985         * modules/j1-tests: New file.
31986         * tests/test-j1.c: New file.
31987
31988         Tests for module 'j0'.
31989         * modules/j0-tests: New file.
31990         * tests/test-j0.c: New file.
31991
31992         Tests for module 'hypot'.
31993         * modules/hypot-tests: New file.
31994         * tests/test-hypot.c: New file.
31995
31996         Tests for module 'fmod'.
31997         * modules/fmod-tests: New file.
31998         * tests/test-fmod.c: New file.
31999
32000         Tests for module 'fabs'.
32001         * modules/fabs-tests: New file.
32002         * tests/test-fabs.c: New file.
32003
32004         Tests for module 'exp'.
32005         * modules/exp-tests: New file.
32006         * tests/test-exp.c: New file.
32007
32008         Tests for module 'erfc'.
32009         * modules/erfc-tests: New file.
32010         * tests/test-erfc.c: New file.
32011
32012         Tests for module 'erf'.
32013         * modules/erf-tests: New file.
32014         * tests/test-erf.c: New file.
32015
32016         Tests for module 'cosh'.
32017         * modules/cosh-tests: New file.
32018         * tests/test-cosh.c: New file.
32019
32020         Tests for module 'cos'.
32021         * modules/cos-tests: New file.
32022         * tests/test-cos.c: New file.
32023
32024         Tests for module 'copysign'.
32025         * modules/copysign-tests: New file.
32026         * tests/test-copysign.c: New file.
32027
32028         Tests for module 'cbrt'.
32029         * modules/cbrt-tests: New file.
32030         * tests/test-cbrt.c: New file.
32031
32032         Tests for module 'atan2'.
32033         * modules/atan2-tests: New file.
32034         * tests/test-atan2.c: New file.
32035
32036         Tests for module 'atan'.
32037         * modules/atan-tests: New file.
32038         * tests/test-atan.c: New file.
32039
32040         Tests for module 'asin'.
32041         * modules/asin-tests: New file.
32042         * tests/test-asin.c: New file.
32043
32044         Tests for module 'acos'.
32045         * modules/acos-tests: New file.
32046         * tests/test-acos.c: New file.
32047
32048 2010-01-24  Bruno Haible  <bruno@clisp.org>
32049
32050         Fix tests for common <math.h> functions.
32051         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
32052         code snippet that references the function pointer, rather than merely
32053         calling the function. Substitute the FUNC_LIBM variable.
32054         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
32055         * modules/acos (configure.ac): Likewise.
32056         * modules/asin (configure.ac): Likewise.
32057         * modules/atan (configure.ac): Likewise.
32058         * modules/atan2 (configure.ac): Likewise.
32059         * modules/cbrt (configure.ac): Likewise.
32060         * modules/copysign (configure.ac): Likewise.
32061         * modules/cos (configure.ac): Likewise.
32062         * modules/cosh (configure.ac): Likewise.
32063         * modules/erf (configure.ac): Likewise.
32064         * modules/erfc (configure.ac): Likewise.
32065         * modules/exp (configure.ac): Likewise.
32066         * modules/fabs (configure.ac): Likewise.
32067         * modules/fmod (configure.ac): Likewise.
32068         * modules/hypot (configure.ac): Likewise.
32069         * modules/j0 (configure.ac): Likewise.
32070         * modules/j1 (configure.ac): Likewise.
32071         * modules/jn (configure.ac): Likewise.
32072         * modules/ldexp (configure.ac): Likewise.
32073         * modules/lgamma (configure.ac): Likewise.
32074         * modules/log (configure.ac): Likewise.
32075         * modules/log10 (configure.ac): Likewise.
32076         * modules/log1p (configure.ac): Likewise.
32077         * modules/logb (configure.ac): Likewise.
32078         * modules/modf (configure.ac): Likewise.
32079         * modules/nextafter (configure.ac): Likewise.
32080         * modules/pow (configure.ac): Likewise.
32081         * modules/remainder (configure.ac): Likewise.
32082         * modules/rint (configure.ac): Likewise.
32083         * modules/sin (configure.ac): Likewise.
32084         * modules/sinh (configure.ac): Likewise.
32085         * modules/tan (configure.ac): Likewise.
32086         * modules/tanh (configure.ac): Likewise.
32087         * modules/y0 (configure.ac): Likewise.
32088         * modules/y1 (configure.ac): Likewise.
32089         * modules/yn (configure.ac): Likewise.
32090
32091 2010-01-24  Bruno Haible  <bruno@clisp.org>
32092
32093         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
32094         * tests/test-acosl.c (x): New variable.
32095         (main): Store argument in x and fetch it from x.
32096         * tests/test-asinl.c (x): New variable.
32097         (main): Store argument in x and fetch it from x.
32098         * tests/test-atanl.c (x): New variable.
32099         (main): Store argument in x and fetch it from x.
32100         * tests/test-cosl.c (x): New variable.
32101         (main): Store argument in x and fetch it from x.
32102         * tests/test-expl.c (x): New variable.
32103         (main): Store argument in x and fetch it from x.
32104         * tests/test-logl.c (x): New variable.
32105         (main): Store argument in x and fetch it from x.
32106         * tests/test-sinl.c (x): New variable.
32107         (main): Store argument in x and fetch it from x.
32108         * tests/test-sqrtl.c (x): New variable.
32109         (main): Store argument in x and fetch it from x.
32110         * tests/test-tanl.c (x): New variable.
32111         (main): Store argument in x and fetch it from x.
32112
32113 2010-01-24  Bruno Haible  <bruno@clisp.org>
32114
32115         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
32116         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
32117         assignments to the initial TESTS_ENVIRONMENT.
32118         * doc/gnulib.texi (Unit test modules): Document it.
32119         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
32120         TESTS_ENVIRONMENT.
32121         * modules/btowc-tests (Makefile.am): Likewise.
32122         * modules/c-stack-tests (Makefile.am): Likewise.
32123         * modules/c-strcase-tests (Makefile.am): Likewise.
32124         * modules/copy-file-tests (Makefile.am): Likewise.
32125         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
32126         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
32127         * modules/mbrtowc-tests (Makefile.am): Likewise.
32128         * modules/mbscasecmp-tests (Makefile.am): Likewise.
32129         * modules/mbscasestr-tests (Makefile.am): Likewise.
32130         * modules/mbschr-tests (Makefile.am): Likewise.
32131         * modules/mbscspn-tests (Makefile.am): Likewise.
32132         * modules/mbsinit-tests (Makefile.am): Likewise.
32133         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
32134         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
32135         * modules/mbspbrk-tests (Makefile.am): Likewise.
32136         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
32137         * modules/mbsrchr-tests (Makefile.am): Likewise.
32138         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
32139         * modules/mbsspn-tests (Makefile.am): Likewise.
32140         * modules/mbsstr-tests (Makefile.am): Likewise.
32141         * modules/nl_langinfo-tests (Makefile.am): Likewise.
32142         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
32143         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
32144         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
32145         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
32146         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
32147         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
32148         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
32149         * modules/wcrtomb-tests (Makefile.am): Likewise.
32150         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
32151         * modules/wcsrtombs-tests (Makefile.am): Likewise.
32152         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
32153         assignments from TESTS_ENVIRONMENT.
32154         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
32155         augmentation.
32156         * modules/argp-version-etc-tests (Makefile.am): Likewise.
32157         * modules/atexit-tests (Makefile.am): Likewise.
32158         * modules/binary-io-tests (Makefile.am): Likewise.
32159         * modules/closein-tests (Makefile.am): Likewise.
32160         * modules/dprintf-posix-tests (Makefile.am): Likewise.
32161         * modules/exclude-tests (Makefile.am): Likewise.
32162         * modules/fflush-tests (Makefile.am): Likewise.
32163         * modules/fpending-tests (Makefile.am): Likewise.
32164         * modules/fprintf-posix-tests (Makefile.am): Likewise.
32165         * modules/freadahead-tests (Makefile.am): Likewise.
32166         * modules/freadptr-tests (Makefile.am): Likewise.
32167         * modules/freadseek-tests (Makefile.am): Likewise.
32168         * modules/fseek-tests (Makefile.am): Likewise.
32169         * modules/fseeko-tests (Makefile.am): Likewise.
32170         * modules/ftell-tests (Makefile.am): Likewise.
32171         * modules/ftello-tests (Makefile.am): Likewise.
32172         * modules/idpriv-drop-tests (Makefile.am): Likewise.
32173         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
32174         * modules/lseek-tests (Makefile.am): Likewise.
32175         * modules/parse-duration-tests (Makefile.am): Likewise.
32176         * modules/perror-tests (Makefile.am): Likewise.
32177         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
32178         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
32179         * modules/pipe-tests (Makefile.am): Likewise.
32180         * modules/pread-tests (Makefile.am): Likewise.
32181         * modules/printf-posix-tests (Makefile.am): Likewise.
32182         * modules/select-tests (Makefile.am): Likewise.
32183         * modules/sigpipe-tests (Makefile.am): Likewise.
32184         * modules/tsearch-tests (Makefile.am): Likewise.
32185         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
32186         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
32187         * modules/uniname/uniname-tests (Makefile.am): Likewise.
32188         * modules/uniwidth/width-tests (Makefile.am): Likewise.
32189         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
32190         * modules/version-etc-tests (Makefile.am): Likewise.
32191         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
32192         * modules/vprintf-posix-tests (Makefile.am): Likewise.
32193         * modules/xalloc-die-tests (Makefile.am): Likewise.
32194         * modules/xprintf-posix-tests (Makefile.am): Likewise.
32195         * modules/xstrtoimax-tests (Makefile.am): Likewise.
32196         * modules/xstrtol-tests (Makefile.am): Likewise.
32197         * modules/xstrtoumax-tests (Makefile.am): Likewise.
32198         * modules/yesno-tests (Makefile.am): Likewise.
32199         Suggested by Jim Meyering.
32200
32201 2010-01-24  Bruno Haible  <bruno@clisp.org>
32202
32203         More documentation.
32204         * doc/gnulib.texi (Writing modules): New chapter.
32205         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
32206         the new chapter.
32207
32208 2010-01-24  Jim Meyering  <meyering@redhat.com>
32209
32210         maint.mk: do not prepend "./" after filtering
32211         * top/maint.mk (_prepend_srcdir_prefix): New variable
32212         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
32213         "./" when $(srcdir) is ".".
32214
32215         define STREQ(a,b) consistently, removing useless parentheses
32216         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
32217         since the only risk is that "a" or "b" contains an unparenthesized
32218         comma, but if either did that, STREQ would have 3 or more arguments.
32219         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
32220         * lib/fts.c (STREQ): Remove unnecessary parentheses.
32221         * lib/hash-triple.c (STREQ): Likewise.
32222         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
32223         * lib/getugroups.c (STREQ): Likewise.
32224
32225 2010-01-23  Jim Meyering  <meyering@redhat.com>
32226
32227         maint.mk: fix syntax-check in a non-srcdir build directory
32228         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
32229         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
32230
32231 2010-01-22  Jim Meyering  <meyering@redhat.com>
32232
32233         userspec: add unit tests
32234         * tests/test-userspec.c: New file.
32235         * modules/userspec-tests: Likewise.
32236
32237 2010-01-21  Jim Meyering  <meyering@redhat.com>
32238
32239         maint.mk: handle source file names containing "." robustly
32240         * top/maint.mk (_dot_escaped_srcdir): Define.
32241         (VC_LIST): Use it in LHS of sed substitution.
32242
32243 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
32244
32245         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
32246         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
32247         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
32248         from a non-srcdir build.
32249
32250 2010-01-20  Eric Blake  <ebb9@byu.net>
32251
32252         warn-on-use: use instead of link-warning
32253         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
32254         * modules/unistd (Depends-on, Makefile.am): Likewise.
32255         * modules/arpa_inet (Depends-on): Replace link-warning with
32256         warn-on-use.
32257         (Makefile.am): Update rules accordingly.
32258         * modules/ctype (Depends-on, Makefile.am): Likewise.
32259         * modules/dirent (Depends-on, Makefile.am): Likewise.
32260         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
32261         * modules/inttypes (Depends-on, Makefile.am): Likewise.
32262         * modules/langinfo (Depends-on, Makefile.am): Likewise.
32263         * modules/locale (Depends-on, Makefile.am): Likewise.
32264         * modules/math (Depends-on, Makefile.am): Likewise.
32265         * modules/search (Depends-on, Makefile.am): Likewise.
32266         * modules/signal (Depends-on, Makefile.am): Likewise.
32267         * modules/spawn (Depends-on, Makefile.am): Likewise.
32268         * modules/stdlib (Depends-on, Makefile.am): Likewise.
32269         * modules/string (Depends-on, Makefile.am): Likewise.
32270         * modules/strings (Depends-on, Makefile.am): Likewise.
32271         * modules/sys_file (Depends-on, Makefile.am): Likewise.
32272         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
32273         * modules/sys_select (Depends-on, Makefile.am): Likewise.
32274         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
32275         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
32276         * modules/sys_times (Depends-on, Makefile.am): Likewise.
32277         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
32278         * modules/wchar (Depends-on, Makefile.am): Likewise.
32279         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
32280         should be poisoned.
32281         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
32282         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
32283         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
32284         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
32285         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32286         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
32287         * m4/math_h.m4 (gl_MATH_H): Likewise.
32288         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
32289         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32290         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32291         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
32292         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
32293         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
32294         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
32295         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
32296         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
32297         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
32298         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
32299         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32300         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32301         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32302         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32303         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32304         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
32305         GL_LINK_WARNING.
32306         * lib/ctype.in.h: Likewise.
32307         * lib/dirent.in.h: Likewise.
32308         * lib/fcntl.in.h: Likewise.
32309         * lib/inttypes.in.h: Likewise.
32310         * lib/langinfo.in.h: Likewise.
32311         * lib/locale.in.h: Likewise.
32312         * lib/math.in.h: Likewise.
32313         * lib/search.in.h: Likewise.
32314         * lib/signal.in.h: Likewise.
32315         * lib/spawn.in.h: Likewise.
32316         * lib/stdio.in.h: Likewise.
32317         * lib/stdlib.in.h: Likewise.
32318         * lib/string.in.h: Likewise.
32319         * lib/strings.in.h: Likewise.
32320         * lib/sys_file.in.h: Likewise.
32321         * lib/sys_ioctl.in.h: Likewise.
32322         * lib/sys_select.in.h: Likewise.
32323         * lib/sys_socket.in.h: Likewise.
32324         * lib/sys_stat.in.h: Likewise.
32325         * lib/sys_times.in.h: Likewise.
32326         * lib/sys_utsname.in.h: Likewise.
32327         * lib/unistd.in.h: Likewise.
32328         * lib/wchar.in.h: Likewise.
32329
32330 2010-01-20  Bruno Haible  <bruno@clisp.org>
32331
32332         Avoid duplicate -lm.
32333         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
32334         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
32335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
32336         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
32337         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
32338         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
32339         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
32340         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
32341         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
32342         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
32343         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
32344         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32345         Reported by Paolo Bonzini.
32346
32347 2010-01-19  Bruno Haible  <bruno@clisp.org>
32348
32349         langinfo, nl_langinfo: Relicense under LGPLv2+.
32350         * modules/langinfo (License): Change to LGPLv2+.
32351         * modules/nl_langinfo (License): Likewise.
32352         Patch by David Lutterkort <lutter@redhat.com>.
32353
32354 2010-01-19  Bruno Haible  <bruno@clisp.org>
32355
32356         Avoid compilation error with cc on OSF/1 5.1.
32357         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
32358         statement, not before.
32359         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32360
32361 2010-01-18  Bruno Haible  <bruno@clisp.org>
32362
32363         Avoid a link error due to the __printf__ symbol.
32364         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
32365         and 2.6.x.
32366         (__format__, __printf__): Remove definitions.
32367         * lib/argp-fmtstream.h: Likewise.
32368         * lib/argp.h: Likewise.
32369         * lib/error.h: Likewise.
32370         * lib/vasnprintf.h: Likewise.
32371         * lib/xprintf.h: Likewise.
32372         * lib/xvasprintf.h: Likewise.
32373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32374
32375 2010-01-18  Bruno Haible  <bruno@clisp.org>
32376
32377         Tests for module 'tanl'.
32378         * modules/tanl-tests: New file.
32379         * tests/test-tanl.c: New file.
32380
32381         Tests for module 'sqrtl'.
32382         * modules/sqrtl-tests: New file.
32383         * tests/test-sqrtl.c: New file.
32384
32385         Tests for module 'sinl'.
32386         * modules/sinl-tests: New file.
32387         * tests/test-sinl.c: New file.
32388
32389         Tests for module 'logl'.
32390         * modules/logl-tests: New file.
32391         * tests/test-logl.c: New file.
32392
32393         Tests for module 'expl'.
32394         * modules/expl-tests: New file.
32395         * tests/test-expl.c: New file.
32396
32397         Tests for module 'cosl'.
32398         * modules/cosl-tests: New file.
32399         * tests/test-cosl.c: New file.
32400
32401         Tests for module 'atanl'.
32402         * modules/atanl-tests: New file.
32403         * tests/test-atanl.c: New file.
32404
32405         Tests for module 'asinl'.
32406         * modules/asinl-tests: New file.
32407         * tests/test-asinl.c: New file.
32408
32409         Tests for module 'acosl'.
32410         * modules/acosl-tests: New file.
32411         * tests/test-acosl.c: New file.
32412
32413         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32414         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
32415         tanl): Use the standard gnulib idiom.
32416         * lib/cosl.c: Don't include trigl.c and sincosl.c.
32417         * lib/sinl.c: Likewise.
32418         * lib/tanl.c: Don't include trigl.c.
32419         (kernel_tanl): Make static.
32420         * lib/sincosl.c: Include trigl.h first.
32421         * lib/trigl.c: Likewise.
32422         * m4/acosl.m4: New file.
32423         * m4/asinl.m4: New file.
32424         * m4/atanl.m4: New file.
32425         * m4/cosl.m4: New file.
32426         * m4/expl.m4: New file.
32427         * m4/logl.m4: New file.
32428         * m4/sinl.m4: New file.
32429         * m4/sqrtl.m4: New file.
32430         * m4/tanl.m4: New file.
32431         * m4/mathl.m4: Remove file.
32432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
32433         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
32434         Don't initialize GNULIB_MATHL.
32435         * modules/acosl: New file.
32436         * modules/asinl: New file.
32437         * modules/atanl: New file.
32438         * modules/cosl: New file.
32439         * modules/expl: New file.
32440         * modules/logl: New file.
32441         * modules/sinl: New file.
32442         * modules/sqrtl: New file.
32443         * modules/tanl: New file.
32444         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32445         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32446         substitute GNULIB_MATHL.
32447         * modules/mathl: Rewritten.
32448         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32449         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32450         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32451         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32452         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32453         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32454         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32455         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32456         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32457
32458 2010-01-18  Bruno Haible  <bruno@clisp.org>
32459
32460         sqrt: Make gl_FUNC_SQRT requirable.
32461         * m4/sqrt.m4: New file.
32462         * modules/sqrt (Files): Add it.
32463         (configure.ac): Invoke gl_FUNC_SQRT.
32464
32465 2010-01-18  Bruno Haible  <bruno@clisp.org>
32466
32467         New modules for common <math.h> functions.
32468         * m4/mathfunc.m4: New file.
32469         * modules/acos: New file.
32470         * modules/asin: New file.
32471         * modules/atan: New file.
32472         * modules/atan2: New file.
32473         * modules/cbrt: New file.
32474         * modules/copysign: New file.
32475         * modules/cos: New file.
32476         * modules/cosh: New file.
32477         * modules/erf: New file.
32478         * modules/erfc: New file.
32479         * modules/exp: New file.
32480         * modules/fabs: New file.
32481         * modules/fmod: New file.
32482         * modules/hypot: New file.
32483         * modules/j0: New file.
32484         * modules/j1: New file.
32485         * modules/jn: New file.
32486         * modules/ldexp: New file.
32487         * modules/lgamma: New file.
32488         * modules/log: New file.
32489         * modules/log10: New file.
32490         * modules/log1p: New file.
32491         * modules/logb: New file.
32492         * modules/modf: New file.
32493         * modules/nextafter: New file.
32494         * modules/pow: New file.
32495         * modules/remainder: New file.
32496         * modules/rint: New file.
32497         * modules/sin: New file.
32498         * modules/sinh: New file.
32499         * modules/sqrt: New file.
32500         * modules/tan: New file.
32501         * modules/tanh: New file.
32502         * modules/y0: New file.
32503         * modules/y1: New file.
32504         * modules/yn: New file.
32505         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32506         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32507         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32508         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32509         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32510         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32511         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32512         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32513         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32514         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32515         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32516         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32517         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32518         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32519         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32520         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32521         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32522         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32523         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32524         * doc/posix-functions/log.texi: Mention the 'log' module.
32525         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32526         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32527         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32528         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32529         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32530         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32531         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32532         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32533         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32534         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32535         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32536         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32537         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32538         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32539         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32540         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32541
32542 2010-01-18  Jim Meyering  <meyering@redhat.com>
32543
32544         ignore-value: relax license to LGPLv2+
32545         * modules/ignore-value (License): Relax to LGPLv2+.
32546
32547         getdate: don't leak when TZ contains two or more '"'s
32548         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32549         double quote in TZ after the first one.
32550
32551         readtokens: do not leak internal token_lengths buffer
32552         * lib/readtokens.c (readtokens): Free the local, lengths,
32553         when the supplied "token_lengths" parameter is NULL.
32554
32555 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32556
32557         Fix a couple of missing LIBTHREAD link failures on AIX.
32558         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32559         $(LIBTHREAD).
32560         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32561
32562         Link test-poll against INET_PTON_LIB.
32563         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32564         for inet_pton on Solaris 10.
32565
32566 2010-01-17  Bruno Haible  <bruno@clisp.org>
32567
32568         unistdio/*-sprintf: Fix typo in module description.
32569         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32570         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32571         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32572         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32573         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32574         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32575         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32577
32578 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32579
32580         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32581         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32582         variables in shell case patterns, for AIX and HP-UX ksh.
32583
32584         Split large sed scripts, for HP-UX sed.
32585         * modules/stdio: Split sed scripts around 50 sed commands,
32586         to avoid HP-UX limit of 99 commands, in the near future.
32587         * modules/string: Likewise.
32588         * modules/unistd: Likewise.
32589
32590         gnulib-tool: avoid writing in the current directory.
32591         * gnulib-tool (func_emit_lib_Makefile_am)
32592         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32593         not in the current directory, so concurrent gnulib-tool
32594         instances do not interfere.
32595
32596 2010-01-16  Jim Meyering  <meyering@redhat.com>
32597
32598         doc: update users.txt
32599         * users.txt: Add grep.
32600         (diffutils, gzip): Update URLs.
32601
32602 2010-01-12  Bruno Haible  <bruno@clisp.org>
32603
32604         posix_spawn: Avoid test failure on Cygwin.
32605         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32606         characters.
32607         Reported by Simon Josefsson.
32608
32609 2010-01-12  Bruno Haible  <bruno@clisp.org>
32610
32611         * tests/test-cond.c (main): When skipping the test, show the reason.
32612
32613 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32614
32615         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32616
32617 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32618
32619         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32620         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32621
32622 2010-01-12  Eric Blake  <ebb9@byu.net>
32623
32624         build: guarantee AS_VAR_IF
32625         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32626         (gl_AS_VAR_IF): Move...
32627         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32628         Reported by Simon Josefsson.
32629
32630 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32631
32632         * lib/stdio.in.h: Fix typo.
32633
32634 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32635
32636         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32637         libgpg-error.
32638
32639 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32640
32641         * tests/test-xalloc-die.sh: Use $EXEEXT.
32642
32643 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32644             Bruno Haible  <bruno@clisp.org>
32645
32646         getlogin, getlogin_r: Avoid test failure.
32647         * tests/test-getlogin.c: Include <stdio.h>.
32648         (main): Skip the test when the function fails because stdin is not a
32649         tty.
32650         * tests/test-getlogin_r.c: Include <stdio.h>.
32651         (main): Skip the test when the function fails because stdin is not a
32652         tty.
32653
32654 2010-01-11  Eric Blake  <ebb9@byu.net>
32655
32656         tests: avoid more large file warnings
32657         * tests/test-fflush.c: Avoid warning about ftell use.
32658         * tests/test-fseek.c: Avoid warning about fseek use.
32659
32660 2010-01-10  Bruno Haible  <bruno@clisp.org>
32661
32662         nproc: Work better on Linux when /proc and /sys are not mounted.
32663         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32664         as lower bound when, on glibc/Linux systems,
32665         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32666         Suggested by Pádraig Brady <P@draigbrady.com>.
32667         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32668
32669         nproc: Refactor.
32670         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32671         extracted from num_processors.
32672         (num_processors): Call it.
32673
32674 2010-01-11  Jim Meyering  <meyering@redhat.com>
32675
32676         utimecmp: avoid new warning from upcoming gcc-4.5.0
32677         * lib/utimecmp.c (BILLION): Define using #define rather than an
32678         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32679
32680 2010-01-11  Eric Blake  <ebb9@byu.net>
32681
32682         math: add portability warnings for classification macros
32683         * modules/math (Depends-on): Add warn-on-use.
32684         (Makefile.am): Provide new substitutions.
32685         * m4/math_h.m4 (gl_MATH_H): Require inline.
32686         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32687         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32688         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32689         implement warnings.
32690
32691         unistd: warn on use of environ without module
32692         * modules/unistd (Depends-on): Add warn-on-use.
32693         (Makefile.am): Provide new substitutions.
32694         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32695         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32696
32697         stdio: warn on suspicious uses
32698         * modules/stdio (Depends-on): Add warn-on-use.
32699         (Makefile.am): Provide new substitutions.
32700         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32701         fseeko.
32702         * lib/stdio.in.h (gets): Always warn on use.
32703         (fseek, ftell): Adjust when warnings are issued, and honor
32704         _GL_NO_LARGE_FILES as a way to silence the warning.
32705         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32706         any warning about large file offsets.
32707         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32708         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32709         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32710         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32711         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32712         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32713         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32714         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32715
32716         warn-on-use: new module
32717         * modules/warn-on-use: New file.
32718         * build-aux/warn-on-use.h: Likewise.
32719         * m4/warn-on-use.m4: Likewise.
32720         * MODULES.html.sh (Support for building): Mention it.
32721
32722 2010-01-10  Bruno Haible  <bruno@clisp.org>
32723
32724         Tests for module 'unistr/u32-strdup'.
32725         * modules/unistr/u32-strdup-tests: New file.
32726         * tests/unistr/test-u32-strdup.c: New file.
32727
32728         Tests for module 'unistr/u16-strdup'.
32729         * modules/unistr/u16-strdup-tests: New file.
32730         * tests/unistr/test-u16-strdup.c: New file.
32731
32732         Tests for module 'unistr/u8-strdup'.
32733         * modules/unistr/u8-strdup-tests: New file.
32734         * tests/unistr/test-u8-strdup.c: New file.
32735         * tests/unistr/test-strdup.h: New file.
32736
32737         Tests for module 'unistr/u32-strncmp'.
32738         * modules/unistr/u32-strncmp-tests: New file.
32739         * tests/unistr/test-u32-strncmp.c: New file.
32740
32741         Tests for module 'unistr/u16-strncmp'.
32742         * modules/unistr/u16-strncmp-tests: New file.
32743         * tests/unistr/test-u16-strncmp.c: New file.
32744
32745         Tests for module 'unistr/u8-strncmp'.
32746         * modules/unistr/u8-strncmp-tests: New file.
32747         * tests/unistr/test-u8-strncmp.c: New file.
32748         * tests/unistr/test-strncmp.h: New file.
32749
32750         Tests for module 'unistr/u32-strcoll'.
32751         * modules/unistr/u32-strcoll-tests: New file.
32752         * tests/unistr/test-u32-strcoll.c: New file.
32753
32754         Tests for module 'unistr/u16-strcoll'.
32755         * modules/unistr/u16-strcoll-tests: New file.
32756         * tests/unistr/test-u16-strcoll.c: New file.
32757
32758         Tests for module 'unistr/u8-strcoll'.
32759         * modules/unistr/u8-strcoll-tests: New file.
32760         * tests/unistr/test-u8-strcoll.c: New file.
32761
32762         Tests for module 'unistr/u32-strcmp'.
32763         * modules/unistr/u32-strcmp-tests: New file.
32764         * tests/unistr/test-u32-strcmp.c: New file.
32765         * tests/unistr/test-u32-strcmp.h: New file.
32766
32767         Tests for module 'unistr/u16-strcmp'.
32768         * modules/unistr/u16-strcmp-tests: New file.
32769         * tests/unistr/test-u16-strcmp.c: New file.
32770         * tests/unistr/test-u16-strcmp.h: New file.
32771
32772         Tests for module 'unistr/u8-strcmp'.
32773         * modules/unistr/u8-strcmp-tests: New file.
32774         * tests/unistr/test-u8-strcmp.c: New file.
32775         * tests/unistr/test-u8-strcmp.h: New file.
32776         * tests/unistr/test-strcmp.h: New file.
32777
32778         Tests for module 'unistr/u32-strncat'.
32779         * modules/unistr/u32-strncat-tests: New file.
32780         * tests/unistr/test-u32-strncat.c: New file.
32781
32782         Tests for module 'unistr/u16-strncat'.
32783         * modules/unistr/u16-strncat-tests: New file.
32784         * tests/unistr/test-u16-strncat.c: New file.
32785
32786         Tests for module 'unistr/u8-strncat'.
32787         * modules/unistr/u8-strncat-tests: New file.
32788         * tests/unistr/test-u8-strncat.c: New file.
32789         * tests/unistr/test-strncat.h: New file.
32790
32791         Tests for module 'unistr/u32-strcat'.
32792         * modules/unistr/u32-strcat-tests: New file.
32793         * tests/unistr/test-u32-strcat.c: New file.
32794
32795         Tests for module 'unistr/u16-strcat'.
32796         * modules/unistr/u16-strcat-tests: New file.
32797         * tests/unistr/test-u16-strcat.c: New file.
32798
32799         Tests for module 'unistr/u8-strcat'.
32800         * modules/unistr/u8-strcat-tests: New file.
32801         * tests/unistr/test-u8-strcat.c: New file.
32802         * tests/unistr/test-strcat.h: New file.
32803
32804         Tests for module 'unistr/u32-stpncpy'.
32805         * modules/unistr/u32-stpncpy-tests: New file.
32806         * tests/unistr/test-u32-stpncpy.c: New file.
32807
32808         Tests for module 'unistr/u16-stpncpy'.
32809         * modules/unistr/u16-stpncpy-tests: New file.
32810         * tests/unistr/test-u16-stpncpy.c: New file.
32811
32812         Tests for module 'unistr/u8-stpncpy'.
32813         * modules/unistr/u8-stpncpy-tests: New file.
32814         * tests/unistr/test-u8-stpncpy.c: New file.
32815         * tests/unistr/test-stpncpy.h: New file.
32816
32817         Tests for module 'unistr/u32-strncpy'.
32818         * modules/unistr/u32-strncpy-tests: New file.
32819         * tests/unistr/test-u32-strncpy.c: New file.
32820
32821         Tests for module 'unistr/u16-strncpy'.
32822         * modules/unistr/u16-strncpy-tests: New file.
32823         * tests/unistr/test-u16-strncpy.c: New file.
32824
32825         Tests for module 'unistr/u8-strncpy'.
32826         * modules/unistr/u8-strncpy-tests: New file.
32827         * tests/unistr/test-u8-strncpy.c: New file.
32828         * tests/unistr/test-strncpy.h: New file.
32829
32830         Tests for module 'unistr/u32-stpcpy'.
32831         * modules/unistr/u32-stpcpy-tests: New file.
32832         * tests/unistr/test-u32-stpcpy.c: New file.
32833
32834         Tests for module 'unistr/u16-stpcpy'.
32835         * modules/unistr/u16-stpcpy-tests: New file.
32836         * tests/unistr/test-u16-stpcpy.c: New file.
32837
32838         Tests for module 'unistr/u8-stpcpy'.
32839         * modules/unistr/u8-stpcpy-tests: New file.
32840         * tests/unistr/test-u8-stpcpy.c: New file.
32841         * tests/unistr/test-stpcpy.h: New file.
32842
32843         Tests for module 'unistr/u32-strcpy'.
32844         * modules/unistr/u32-strcpy-tests: New file.
32845         * tests/unistr/test-u32-strcpy.c: New file.
32846
32847         Tests for module 'unistr/u16-strcpy'.
32848         * modules/unistr/u16-strcpy-tests: New file.
32849         * tests/unistr/test-u16-strcpy.c: New file.
32850
32851         Tests for module 'unistr/u8-strcpy'.
32852         * modules/unistr/u8-strcpy-tests: New file.
32853         * tests/unistr/test-u8-strcpy.c: New file.
32854         * tests/unistr/test-strcpy.h: New file.
32855
32856         Tests for module 'unistr/u32-strnlen'.
32857         * modules/unistr/u32-strnlen-tests: New file.
32858         * tests/unistr/test-u32-strnlen.c: New file.
32859
32860         Tests for module 'unistr/u16-strnlen'.
32861         * modules/unistr/u16-strnlen-tests: New file.
32862         * tests/unistr/test-u16-strnlen.c: New file.
32863
32864         Tests for module 'unistr/u8-strnlen'.
32865         * modules/unistr/u8-strnlen-tests: New file.
32866         * tests/unistr/test-u8-strnlen.c: New file.
32867         * tests/unistr/test-strnlen.h: New file.
32868
32869         Tests for module 'unistr/u32-strlen'.
32870         * modules/unistr/u32-strlen-tests: New file.
32871         * tests/unistr/test-u32-strlen.c: New file.
32872
32873         Tests for module 'unistr/u16-strlen'.
32874         * modules/unistr/u16-strlen-tests: New file.
32875         * tests/unistr/test-u16-strlen.c: New file.
32876
32877         Tests for module 'unistr/u8-strlen'.
32878         * modules/unistr/u8-strlen-tests: New file.
32879         * tests/unistr/test-u8-strlen.c: New file.
32880
32881         Tests for module 'unistr/u32-prev'.
32882         * modules/unistr/u32-prev-tests: New file.
32883         * tests/unistr/test-u32-prev.c: New file.
32884
32885         Tests for module 'unistr/u16-prev'.
32886         * modules/unistr/u16-prev-tests: New file.
32887         * tests/unistr/test-u16-prev.c: New file.
32888
32889         Tests for module 'unistr/u8-prev'.
32890         * modules/unistr/u8-prev-tests: New file.
32891         * tests/unistr/test-u8-prev.c: New file.
32892
32893         Tests for module 'unistr/u32-next'.
32894         * modules/unistr/u32-next-tests: New file.
32895         * tests/unistr/test-u32-next.c: New file.
32896
32897         Tests for module 'unistr/u16-next'.
32898         * modules/unistr/u16-next-tests: New file.
32899         * tests/unistr/test-u16-next.c: New file.
32900
32901         Tests for module 'unistr/u8-next'.
32902         * modules/unistr/u8-next-tests: New file.
32903         * tests/unistr/test-u8-next.c: New file.
32904
32905         Tests for module 'unistr/u32-strmbtouc'.
32906         * modules/unistr/u32-strmbtouc-tests: New file.
32907         * tests/unistr/test-u32-strmbtouc.c: New file.
32908
32909         Tests for module 'unistr/u16-strmbtouc'.
32910         * modules/unistr/u16-strmbtouc-tests: New file.
32911         * tests/unistr/test-u16-strmbtouc.c: New file.
32912
32913         Tests for module 'unistr/u8-strmbtouc'.
32914         * modules/unistr/u8-strmbtouc-tests: New file.
32915         * tests/unistr/test-u8-strmbtouc.c: New file.
32916
32917         Tests for module 'unistr/u32-strmblen'.
32918         * modules/unistr/u32-strmblen-tests: New file.
32919         * tests/unistr/test-u32-strmblen.c: New file.
32920
32921         Tests for module 'unistr/u16-strmblen'.
32922         * modules/unistr/u16-strmblen-tests: New file.
32923         * tests/unistr/test-u16-strmblen.c: New file.
32924
32925         Tests for module 'unistr/u8-strmblen'.
32926         * modules/unistr/u8-strmblen-tests: New file.
32927         * tests/unistr/test-u8-strmblen.c: New file.
32928
32929         Tests for module 'unistr/u32-cpy-alloc'.
32930         * modules/unistr/u32-cpy-alloc-tests: New file.
32931         * tests/unistr/test-u32-cpy-alloc.c: New file.
32932
32933         Tests for module 'unistr/u16-cpy-alloc'.
32934         * modules/unistr/u16-cpy-alloc-tests: New file.
32935         * tests/unistr/test-u16-cpy-alloc.c: New file.
32936
32937         Tests for module 'unistr/u8-cpy-alloc'.
32938         * modules/unistr/u8-cpy-alloc-tests: New file.
32939         * tests/unistr/test-u8-cpy-alloc.c: New file.
32940         * tests/unistr/test-cpy-alloc.h: New file.
32941
32942         Tests for module 'unistr/u32-mbsnlen'.
32943         * modules/unistr/u32-mbsnlen-tests: New file.
32944         * tests/unistr/test-u32-mbsnlen.c: New file.
32945
32946         Tests for module 'unistr/u16-mbsnlen'.
32947         * modules/unistr/u16-mbsnlen-tests: New file.
32948         * tests/unistr/test-u16-mbsnlen.c: New file.
32949
32950         Tests for module 'unistr/u8-mbsnlen'.
32951         * modules/unistr/u8-mbsnlen-tests: New file.
32952         * tests/unistr/test-u8-mbsnlen.c: New file.
32953
32954         Tests for module 'unistr/u32-chr'.
32955         * modules/unistr/u32-chr-tests: New file.
32956         * tests/unistr/test-u32-chr.c: New file.
32957
32958         Tests for module 'unistr/u16-chr'.
32959         * modules/unistr/u16-chr-tests: New file.
32960         * tests/unistr/test-u16-chr.c: New file.
32961
32962         Tests for module 'unistr/u8-chr'.
32963         * modules/unistr/u8-chr-tests: New file.
32964         * tests/unistr/test-u8-chr.c: New file.
32965         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32966
32967         Tests for module 'unistr/u32-cmp2'.
32968         * modules/unistr/u32-cmp2-tests: New file.
32969         * tests/unistr/test-u32-cmp2.c: New file.
32970
32971         Tests for module 'unistr/u16-cmp2'.
32972         * modules/unistr/u16-cmp2-tests: New file.
32973         * tests/unistr/test-u16-cmp2.c: New file.
32974
32975         Tests for module 'unistr/u8-cmp2'.
32976         * modules/unistr/u8-cmp2-tests: New file.
32977         * tests/unistr/test-u8-cmp2.c: New file.
32978         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32979
32980         Tests for module 'unistr/u32-cmp'.
32981         * modules/unistr/u32-cmp-tests: New file.
32982         * tests/unistr/test-u32-cmp.c: New file.
32983
32984         Tests for module 'unistr/u16-cmp'.
32985         * modules/unistr/u16-cmp-tests: New file.
32986         * tests/unistr/test-u16-cmp.c: New file.
32987
32988         Tests for module 'unistr/u8-cmp'.
32989         * modules/unistr/u8-cmp-tests: New file.
32990         * tests/unistr/test-u8-cmp.c: New file.
32991         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32992
32993         Tests for module 'unistr/u32-set'.
32994         * modules/unistr/u32-set-tests: New file.
32995         * tests/unistr/test-u32-set.c: New file.
32996
32997         Tests for module 'unistr/u16-set'.
32998         * modules/unistr/u16-set-tests: New file.
32999         * tests/unistr/test-u16-set.c: New file.
33000
33001         Tests for module 'unistr/u8-set'.
33002         * modules/unistr/u8-set-tests: New file.
33003         * tests/unistr/test-u8-set.c: New file.
33004         * tests/unistr/test-set.h: New file.
33005
33006         Tests for module 'unistr/u32-move'.
33007         * modules/unistr/u32-move-tests: New file.
33008         * tests/unistr/test-u32-move.c: New file.
33009
33010         Tests for module 'unistr/u16-move'.
33011         * modules/unistr/u16-move-tests: New file.
33012         * tests/unistr/test-u16-move.c: New file.
33013
33014         Tests for module 'unistr/u8-move'.
33015         * modules/unistr/u8-move-tests: New file.
33016         * tests/unistr/test-u8-move.c: New file.
33017         * tests/unistr/test-move.h: New file.
33018
33019         Tests for module 'unistr/u32-cpy'.
33020         * modules/unistr/u32-cpy-tests: New file.
33021         * tests/unistr/test-u32-cpy.c: New file.
33022
33023         Tests for module 'unistr/u16-cpy'.
33024         * modules/unistr/u16-cpy-tests: New file.
33025         * tests/unistr/test-u16-cpy.c: New file.
33026
33027         Tests for module 'unistr/u8-cpy'.
33028         * modules/unistr/u8-cpy-tests: New file.
33029         * tests/unistr/test-u8-cpy.c: New file.
33030         * tests/unistr/test-cpy.h: New file.
33031
33032 2010-01-09  Bruno Haible  <bruno@clisp.org>
33033
33034         Tests for module 'unistr/u32-uctomb'.
33035         * modules/unistr/u32-uctomb-tests: New file.
33036         * tests/unistr/test-u32-uctomb.c: New file.
33037
33038         Tests for module 'unistr/u16-uctomb'.
33039         * modules/unistr/u16-uctomb-tests: New file.
33040         * tests/unistr/test-u16-uctomb.c: New file.
33041
33042         Tests for module 'unistr/u8-uctomb'.
33043         * modules/unistr/u8-uctomb-tests: New file.
33044         * tests/unistr/test-u8-uctomb.c: New file.
33045
33046         Tests for module 'unistr/u32-mbtoucr'.
33047         * modules/unistr/u32-mbtoucr-tests: New file.
33048         * tests/unistr/test-u32-mbtoucr.c: New file.
33049
33050         Tests for module 'unistr/u16-mbtoucr'.
33051         * modules/unistr/u16-mbtoucr-tests: New file.
33052         * tests/unistr/test-u16-mbtoucr.c: New file.
33053
33054         Tests for module 'unistr/u8-mbtoucr'.
33055         * modules/unistr/u8-mbtoucr-tests: New file.
33056         * tests/unistr/test-u8-mbtoucr.c: New file.
33057
33058         Tests for module 'unistr/u32-mbtouc'.
33059         * modules/unistr/u32-mbtouc-tests: New file.
33060         * tests/unistr/test-u32-mbtouc.c: New file.
33061
33062         Tests for module 'unistr/u16-mbtouc'.
33063         * modules/unistr/u16-mbtouc-tests: New file.
33064         * tests/unistr/test-u16-mbtouc.c: New file.
33065
33066         Tests for module 'unistr/u8-mbtouc'.
33067         * modules/unistr/u8-mbtouc-tests: New file.
33068         * tests/unistr/test-u8-mbtouc.c: New file.
33069
33070         Tests for module 'unistr/u32-mbtouc-unsafe'.
33071         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
33072         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
33073         * tests/unistr/test-u32-mbtouc.h: New file.
33074
33075         Tests for module 'unistr/u16-mbtouc-unsafe'.
33076         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
33077         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
33078         * tests/unistr/test-u16-mbtouc.h: New file.
33079
33080         Tests for module 'unistr/u8-mbtouc-unsafe'.
33081         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
33082         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
33083         * tests/unistr/test-u8-mbtouc.h: New file.
33084
33085         Tests for module 'unistr/u32-mblen'.
33086         * modules/unistr/u32-mblen-tests: New file.
33087         * tests/unistr/test-u32-mblen.c: New file.
33088
33089         Tests for module 'unistr/u16-mblen'.
33090         * modules/unistr/u16-mblen-tests: New file.
33091         * tests/unistr/test-u16-mblen.c: New file.
33092
33093         Tests for module 'unistr/u8-mblen'.
33094         * modules/unistr/u8-mblen-tests: New file.
33095         * tests/unistr/test-u8-mblen.c: New file.
33096
33097         Tests for module 'unistr/u32-to-u16'.
33098         * modules/unistr/u32-to-u16-tests: New file.
33099         * tests/unistr/test-u32-to-u16.c: New file.
33100
33101         Tests for module 'unistr/u32-to-u8'.
33102         * modules/unistr/u32-to-u8-tests: New file.
33103         * tests/unistr/test-u32-to-u8.c: New file.
33104
33105         Tests for module 'unistr/u16-to-u32'.
33106         * modules/unistr/u16-to-u32-tests: New file.
33107         * tests/unistr/test-u16-to-u32.c: New file.
33108
33109         Tests for module 'unistr/u16-to-u8'.
33110         * modules/unistr/u16-to-u8-tests: New file.
33111         * tests/unistr/test-u16-to-u8.c: New file.
33112
33113         Tests for module 'unistr/u8-to-u32'.
33114         * modules/unistr/u8-to-u32-tests: New file.
33115         * tests/unistr/test-u8-to-u32.c: New file.
33116
33117         Tests for module 'unistr/u8-to-u16'.
33118         * modules/unistr/u8-to-u16-tests: New file.
33119         * tests/unistr/test-u8-to-u16.c: New file.
33120
33121         Tests for module 'unistr/u32-check'.
33122         * modules/unistr/u32-check-tests: New file.
33123         * tests/unistr/test-u32-check.c: New file.
33124
33125         Tests for module 'unistr/u16-check'.
33126         * modules/unistr/u16-check-tests: New file.
33127         * tests/unistr/test-u16-check.c: New file.
33128
33129         Tests for module 'unistr/u8-check'.
33130         * modules/unistr/u8-check-tests: New file.
33131         * tests/unistr/test-u8-check.c: New file.
33132
33133         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
33134         (category_equals): New function.
33135         (main): Add more tests.
33136         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
33137
33138         * tests/unictype/test-bidi_byname.c (main): Add more tests.
33139
33140 2010-01-10  Bruno Haible  <bruno@clisp.org>
33141
33142         unistr/u*-strcoll: Try harder to distinguish different strings.
33143         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
33144         compare s1 and s2 to see if they are different.
33145
33146 2010-01-10  Bruno Haible  <bruno@clisp.org>
33147
33148         unistr/u*-stpncpy: Fix the return value.
33149         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
33150         description of the return value consistent with stpncpy in glibc.
33151         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
33152         written non-NUL unit.
33153
33154 2010-01-10  Bruno Haible  <bruno@clisp.org>
33155
33156         unistr/u*-next: Add missing dependencies.
33157         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
33158         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
33159         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
33160
33161 2010-01-10  Bruno Haible  <bruno@clisp.org>
33162
33163         unistr/u8-mbsnlen: Fix return value for incomplete character.
33164         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
33165         u8_mblen.
33166         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
33167         Remove unistr/u8-mblen.
33168         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
33169         u16_mblen.
33170         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
33171         Remove unistr/u16-mblen.
33172
33173 2010-01-10  Bruno Haible  <bruno@clisp.org>
33174
33175         wchar: Fix compilation error when <wchar.h> is used from coreutils.
33176         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
33177         Reported by Brian Gough <bjg@gnu.org> and
33178         Chris Clayton <chris2553@googlemail.com> via
33179         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
33180
33181 2010-01-09  Bruno Haible  <bruno@clisp.org>
33182
33183         unistr/u16-to-u32: Reject invalid input.
33184         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
33185         u16_mbtouc.
33186         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
33187         Remove unistr/u16-mbtouc.
33188
33189         unistr/u16-to-u8: Reject invalid input.
33190         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
33191         u16_mbtouc.
33192         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
33193         Remove unistr/u16-mbtouc.
33194
33195         unistr/u8-to-u32: Reject invalid input.
33196         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
33197         u8_mbtouc.
33198         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
33199         Remove unistr/u8-mbtouc.
33200
33201         unistr/u8-to-u16: Reject invalid input.
33202         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
33203         u8_mbtouc.
33204         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
33205         Remove unistr/u8-mbtouc.
33206
33207 2010-01-09  Bruno Haible  <bruno@clisp.org>
33208
33209         Tests for module 'getlogin'.
33210         * modules/getlogin-tests: New file.
33211         * tests/test-getlogin.c: New file.
33212
33213         New module 'getlogin'.
33214         * lib/unistd.in.h (getlogin): New declaration.
33215         * lib/getlogin.c: New file.
33216         * m4/getlogin.m4: New file.
33217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
33218         HAVE_GETLOGIN.
33219         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
33220         HAVE_GETLOGIN.
33221         * modules/getlogin: New file.
33222         * doc/posix-functions/getlogin.texi: Mention the new module.
33223         Reported by John W. Eaton <jwe@gnu.org>.
33224
33225 2010-01-09  Bruno Haible  <bruno@clisp.org>
33226
33227         getlogin_r: Support for native Windows.
33228         * lib/getlogin_r.c: Include <windows.h>
33229         (getlogin_r): Implement for native Windows.
33230         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
33231         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
33232         via John W. Eaton <jwe@gnu.org>.
33233
33234 2010-01-09  Bruno Haible  <bruno@clisp.org>
33235
33236         getlogin_r: Small fixes.
33237         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
33238         succeeds.
33239         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
33240         before testing whether getlogin_r is declared. No need to set
33241         HAVE_DECL_GETLOGIN_R to 1.
33242         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
33243
33244 2010-01-09  Bruno Haible  <bruno@clisp.org>
33245
33246         * lib/unistd.in.h (getlogin_r): Add comment.
33247
33248 2010-01-09  Bruno Haible  <bruno@clisp.org>
33249
33250         Tests for module 'getlogin_r'.
33251         * modules/getlogin_r-tests: New file.
33252         * tests/test-getlogin_r.c: New file.
33253
33254 2010-01-09  Jim Meyering  <meyering@redhat.com>
33255
33256         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
33257         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
33258         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
33259
33260 2010-01-08  Simon Josefsson  <simon@josefsson.org>
33261
33262         * lib/dup2.c (rpl_dup2): Improve comment.
33263
33264 2010-01-08  Eric Blake  <ebb9@byu.net>
33265
33266         maint.mk: allow packages to add makefile @@ exceptions
33267         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
33268         (sc_makefile_check): Rename...
33269         (sc_makefile_at_at_check): ...to this, and use hook.
33270
33271         dup2: work around mingw bug
33272         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
33273         Reported by Simon Josefsson.
33274
33275 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
33276
33277         glob: Fix C++ compilation.
33278         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
33279         C++.
33280
33281 2010-01-07  Bruno Haible  <bruno@clisp.org>
33282
33283         Fix indentation of wctype.in.h, broken since 2007-01-06.
33284         * lib/wctype.in.h: Fix indentation of preprocessor directives.
33285
33286 2010-01-07  Bruno Haible  <bruno@clisp.org>
33287
33288         mbslen: Avoid collision with system function.
33289         * lib/string.in.h [MirBSD]: Include <wchar.h>.
33290         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
33291         * m4/mbslen.m4: New file.
33292         * modules/mbslen (Files): Add it.
33293         (configure.ac): Invoke gl_MBSLEN.
33294         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
33295         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
33296         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
33297         via Ian Beckwith <ianb@erislabs.net>.
33298
33299 2010-01-07  Bruno Haible  <bruno@clisp.org>
33300
33301         dirent: Document the last fix.
33302         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
33303
33304 2010-01-07  Bruno Haible  <bruno@clisp.org>
33305
33306         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
33307         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
33308         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
33309         va_list are defined.
33310         * doc/posix-headers/stdio.texi: Document the bug of missing types.
33311         Reported by Eric Blake.
33312
33313 2010-01-07  Bruno Haible  <bruno@clisp.org>
33314
33315         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
33316         * modules/xlist (Depends-on): Add 'list',
33317         * modules/xoset (Depends-on): Add 'oset'.
33318         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33319
33320 2010-01-07  Bruno Haible  <bruno@clisp.org>
33321
33322         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
33323         * doc/posix-functions/strncasecmp.texi: Likewise.
33324
33325 2010-01-07  Bruno Haible  <bruno@clisp.org>
33326
33327         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
33328
33329 2010-01-07  John W. Eaton  <jwe@octave.org>
33330
33331         wctype: allow C++ use
33332         * lib/wctype.in.h: Add extern "C" block for C++.
33333
33334 2010-01-06  Eric Blake  <ebb9@byu.net>
33335
33336         maint.mk: detect incorrect GFDL usage
33337         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
33338
33339 2010-01-06  Jim Meyering  <meyering@redhat.com>
33340         and Eric Blake  <ebb9@byu.net>
33341
33342         maint.mk: ignore multi-line copyright in NEWS
33343         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
33344
33345 2010-01-06  Eric Blake  <ebb9@byu.net>
33346
33347         select: add missing dependency
33348         * modules/select-tests (Depends-on): Move sockets dependency...
33349         * modules/select (Depends-on): ...here.
33350         Reported by Ian Beckwith.
33351
33352         doc: regenerate INSTALL
33353         * doc/INSTALL: Reflect recent autoconf update.
33354         * doc/INSTALL.ISO: Likewise.
33355         * doc/INSTALL.UTF-8: Likewise.
33356
33357         pread: fix compilation on glibc
33358         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
33359         Reported by Ralf Wildenhues.
33360
33361         dirent: fix test failure
33362         * lib/dirent.in.h (includes): Guarantee ino_t.
33363         Reported by Ralf Wildenhues.
33364
33365 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
33366
33367         linkat, renameat: avoid bad free
33368         * lib/at-func2.c (at_func2): Fix typo.
33369         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
33370
33371 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33372
33373         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
33374         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
33375         to avoid failure of symlink test later.
33376
33377 2010-01-06  Eric Blake  <ebb9@byu.net>
33378
33379         stdio, unistd: guarantee ssize_t
33380         * lib/unistd.in.h (includes): Ensure that types required by POSIX
33381         2008 are exposed when needed.
33382         * lib/stdio.in.h (includes): Likewise.
33383         Reported by Ralf Wildenhues.
33384
33385 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
33386
33387         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
33388         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
33389         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
33390
33391 2010-01-06  Jim Meyering  <meyering@redhat.com>
33392
33393         readtokens: this module *does* require xalloc.h
33394         It uses only functions that were omitted by the old syntax-check rule.
33395         * lib/readtokens.c: Include "xalloc.h" once again.
33396         * modules/readtokens (Depends-on): Add xalloc.
33397         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
33398
33399 2010-01-05  Eric Blake  <ebb9@byu.net>
33400
33401         maint: support 'make announcement' from a VPATH build
33402         * top/maint.mk (announcement): Look for correct NEWS file.
33403
33404 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
33405
33406         utimens (fdutimens): ignore a negative FD, per contract
33407         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
33408         when we have a valid file descriptor.  Otherwise, using a brand
33409         new glibc (with just-patched futimens that now fails with EBADF)
33410         would cause this function to fail with ENOSYS.
33411         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
33412         See also http://bugzilla.redhat.com/552320.
33413
33414 2010-01-05  Eric Blake  <ebb9@byu.net>
33415
33416         strcase: document what it provides
33417         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
33418         gnulib module.
33419         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
33420         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
33421
33422 2010-01-05  Jim Meyering  <meyering@redhat.com>
33423
33424         maint: remove useless inclusions of "xalloc.h"
33425         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
33426         * lib/readtokens.c: Likewise.
33427         * lib/same.c: Likewise.
33428         * modules/getloadavg (Depends-on): Remove xalloc.
33429         * modules/readtokens: Likewise.
33430         * modules/same: Likewise.
33431
33432         maint.mk: include 4 more function names in alloca.h-checking regexp
33433         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
33434         regexp.  Before, we would give a false-positive (saying alloca.h
33435         is included unnecessarily) when the only uses involved omitted symbols.
33436
33437         xalloc.h: use consistent formatting
33438         * lib/xalloc.h: Move declarations to start in the first column.
33439
33440 2010-01-05  Eric Blake  <ebb9@byu.net>
33441
33442         mkdir: avoid xalloc
33443         * lib/mkdir.c (includes): Drop unused header.
33444         Reported by John W. Eaton.
33445
33446 2010-01-04  Jim Meyering  <meyering@redhat.com>
33447
33448         nl_langinfo: avoid configure-time syntax error
33449         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33450         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33451         the empty string.  Don't let that provoke a shell syntax error.
33452
33453         regcomp, regexec, fnmatch: avoid array bounds read error
33454         * lib/regcomp.c (build_equiv_class): From glibc:
33455         Use only the low 24 bits of a findidx return value as an index
33456         into the weights array.  Patch by Ulrich Drepper:
33457         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33458         * lib/regexec.c (check_node_accept_bytes): Likewise.
33459         * lib/fnmatch_loop.c (FCT): Likewise.
33460
33461         regcomp: skip collseq lookup when there are no rules
33462         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33463         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33464
33465         regcomp: recognize ill-formed { } expressions
33466         * lib/regcomp.c (parse_dup_op): From glibc:
33467         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33468
33469         regcomp: fix typo in comment
33470         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33471         s/satisfy/satisfies/.
33472
33473         regcomp: sync from glibc: remove dead store
33474         * lib/regcomp.c (duplicate_node_closure): Remove useless
33475         search_duplicated_node call and dead store.
33476
33477         regcomp: sync from glibc; always use nl_langinfo
33478         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33479         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33480         * modules/regex (Depends-on): Add nl_langinfo.
33481
33482 2010-01-04  Eric Blake  <ebb9@byu.net>
33483
33484         fdopendir: fix configure test
33485         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33486
33487 2010-01-01  Bruno Haible  <bruno@clisp.org>
33488
33489         wchar: Remove unused configure check.
33490         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33491
33492 2010-01-01  Eric Blake  <ebb9@byu.net>
33493
33494         headers: make check of system header explicit
33495         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33496         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33497         ourselves.
33498         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33499         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33500         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33501         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33502         internals.
33503         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33504         missing.
33505         Suggested by Bruno Haible.
33506
33507 2010-01-01  Jim Meyering  <meyering@redhat.com>
33508
33509         ChangeLog: tweak to eliminate unnecessary copyright line
33510         * ChangeLog: Remove a copyright line that was mistakenly updated
33511         by today's update-copyright run.  Reported by Eric Blake.
33512
33513         test-update-copyright: don't let envvar setting cause test failure
33514         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33515
33516 2010-01-01  Bruno Haible  <bruno@clisp.org>
33517
33518         localename: Avoid gcc warning.
33519         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33520         function if it is not used.
33521
33522 2010-01-01  Jim Meyering  <meyering@redhat.com>
33523
33524         update nearly all FSF copyright year lists to include 2010
33525         Use the same procedure as for 2009, outlined in
33526         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33527
33528         version-etc: set COPYRIGHT_YEAR to 2010
33529         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33530
33531 2009-12-31  Eric Blake  <ebb9@byu.net>
33532
33533         doc: correct availability of cygwin 1.5.x getopt
33534         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33535         variables.
33536         * doc/posix-functions/opterr.texi (opterr): Likewise.
33537         * doc/posix-functions/optind.texi (optind): Likewise.
33538         * doc/posix-functions/optopt.texi (optopt): Likewise.
33539         * doc/posix-functions/tzname.texi (tzname): Likewise.
33540
33541         openat: update maintainer
33542         * modules/openat (Maintainer): Add myself.
33543
33544         utimens: avoid shadowing warning
33545         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33546         buffers into one, to avoid shadowing, as well as avoiding a
33547         redundant stat.
33548         Reported by Jim Meyering.
33549
33550         test-dup2: avoid compiler warning
33551         * tests/test-dup2.c (is_inheritable): Only define if used.
33552
33553 2010-01-01  Bruno Haible  <bruno@clisp.org>
33554
33555         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33556         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33557         defined, use wctomb instead of wcrtomb.
33558
33559 2010-01-01  Bruno Haible  <bruno@clisp.org>
33560
33561         iconv: Reject native Solaris iconv.
33562         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33563         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33564
33565 2009-12-31  Bruno Haible  <bruno@clisp.org>
33566
33567         * tests/test-signal.c (main): Remove test of 'SIG'.
33568
33569 2009-12-31  Bruno Haible  <bruno@clisp.org>
33570
33571         spawn: Fix incomplete fix.
33572         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33573         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33574         warnings for GNULIB_POSIXCHECK again.
33575         Reported by Eric Blake.
33576
33577 2009-12-31  Bruno Haible  <bruno@clisp.org>
33578
33579         Avoid namespace pollution on glibc systems.
33580         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33581         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33582         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33583         glibc systems.
33584
33585 2009-12-31  Bruno Haible  <bruno@clisp.org>
33586
33587         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33588         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33589         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33590         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33591         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33592         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33593         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33594
33595 2009-12-31  Bruno Haible  <bruno@clisp.org>
33596
33597         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33598         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33599         afterwards.
33600
33601 2009-12-31  Bruno Haible  <bruno@clisp.org>
33602
33603         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33604         SYS_UTSNAME_H.
33605
33606 2009-12-31  Bruno Haible  <bruno@clisp.org>
33607
33608         spawn: Fix misapplied patch.
33609         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33610         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33611         warnings for GNULIB_POSIXCHECK.
33612
33613 2009-12-31  Bruno Haible  <bruno@clisp.org>
33614
33615         times: Update after sys_times changed.
33616         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33617         * modules/times (Files): Add it.
33618         (configure.ac): Invoke gl_FUNC_TIMES.
33619
33620 2009-12-31  Bruno Haible  <bruno@clisp.org>
33621
33622         Use AC_C_INLINE where necessary.
33623         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33624         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33625         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33626         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33627         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33628         * m4/mbiter.m4 (gl_MBITER): Likewise.
33629         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33630         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33631         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33632         * modules/u64 (configure.ac): Likewise.
33633
33634 2009-12-31  Bruno Haible  <bruno@clisp.org>
33635
33636         Use AC_C_INLINE instead of module 'inline' where possible.
33637         * modules/inline (Description): Clarify purpose.
33638         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33639         * modules/count-one-bits (Depends-on): Remove inline.
33640         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33641         * modules/openat (Depends-on): Remove inline.
33642         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33643         instead of depending on module 'inline'.
33644         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33645         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33646         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33647         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33648         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33649         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33650         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33651         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33652         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33653         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33654         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33655         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33656         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33657         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33658         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33659         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33660         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33661         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33662         Likewise.
33663         * modules/unictype/property-ascii-hex-digit (Depends-on,
33664         configure.ac): Likewise.
33665         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33666         configure.ac): Likewise.
33667         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33668         configure.ac): Likewise.
33669         * modules/unictype/property-bidi-block-separator (Depends-on,
33670         configure.ac): Likewise.
33671         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33672         configure.ac): Likewise.
33673         * modules/unictype/property-bidi-common-separator (Depends-on,
33674         configure.ac): Likewise.
33675         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33676         Likewise.
33677         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33678         configure.ac): Likewise.
33679         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33680         configure.ac): Likewise.
33681         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33682         configure.ac): Likewise.
33683         * modules/unictype/property-bidi-european-digit (Depends-on,
33684         configure.ac): Likewise.
33685         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33686         configure.ac): Likewise.
33687         * modules/unictype/property-bidi-left-to-right (Depends-on,
33688         configure.ac): Likewise.
33689         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33690         configure.ac): Likewise.
33691         * modules/unictype/property-bidi-other-neutral (Depends-on,
33692         configure.ac): Likewise.
33693         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33694         Likewise.
33695         * modules/unictype/property-bidi-segment-separator (Depends-on,
33696         configure.ac): Likewise.
33697         * modules/unictype/property-bidi-whitespace (Depends-on,
33698         configure.ac): Likewise.
33699         * modules/unictype/property-combining (Depends-on, configure.ac):
33700         Likewise.
33701         * modules/unictype/property-composite (Depends-on, configure.ac):
33702         Likewise.
33703         * modules/unictype/property-currency-symbol (Depends-on,
33704         configure.ac): Likewise.
33705         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33706         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33707         Likewise.
33708         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33709         configure.ac): Likewise.
33710         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33711         Likewise.
33712         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33713         Likewise.
33714         * modules/unictype/property-extender (Depends-on, configure.ac):
33715         Likewise.
33716         * modules/unictype/property-format-control (Depends-on, configure.ac):
33717         Likewise.
33718         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33719         Likewise.
33720         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33721         Likewise.
33722         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33723         Likewise.
33724         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33725         Likewise.
33726         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33727         Likewise.
33728         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33729         Likewise.
33730         * modules/unictype/property-id-start (Depends-on, configure.ac):
33731         Likewise.
33732         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33733         Likewise.
33734         * modules/unictype/property-ids-binary-operator (Depends-on,
33735         configure.ac): Likewise.
33736         * modules/unictype/property-ids-trinary-operator (Depends-on,
33737         configure.ac): Likewise.
33738         * modules/unictype/property-ignorable-control (Depends-on,
33739         configure.ac): Likewise.
33740         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33741         Likewise.
33742         * modules/unictype/property-join-control (Depends-on, configure.ac):
33743         Likewise.
33744         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33745         Likewise.
33746         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33747         Likewise.
33748         * modules/unictype/property-logical-order-exception (Depends-on,
33749         configure.ac): Likewise.
33750         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33751         Likewise.
33752         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33753         * modules/unictype/property-non-break (Depends-on, configure.ac):
33754         Likewise.
33755         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33756         Likewise.
33757         * modules/unictype/property-numeric (Depends-on, configure.ac):
33758         Likewise.
33759         * modules/unictype/property-other-alphabetic (Depends-on,
33760         configure.ac): Likewise.
33761         * modules/unictype/property-other-default-ignorable-code-point
33762         (Depends-on, configure.ac): Likewise.
33763         * modules/unictype/property-other-grapheme-extend (Depends-on,
33764         configure.ac): Likewise.
33765         * modules/unictype/property-other-id-continue (Depends-on,
33766         configure.ac): Likewise.
33767         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33768         Likewise.
33769         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33770         Likewise.
33771         * modules/unictype/property-other-math (Depends-on, configure.ac):
33772         Likewise.
33773         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33774         Likewise.
33775         * modules/unictype/property-paired-punctuation (Depends-on,
33776         configure.ac): Likewise.
33777         * modules/unictype/property-paragraph-separator (Depends-on,
33778         configure.ac): Likewise.
33779         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33780         Likewise.
33781         * modules/unictype/property-pattern-white-space (Depends-on,
33782         configure.ac): Likewise.
33783         * modules/unictype/property-private-use (Depends-on, configure.ac):
33784         Likewise.
33785         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33786         Likewise.
33787         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33788         Likewise.
33789         * modules/unictype/property-radical (Depends-on, configure.ac):
33790         Likewise.
33791         * modules/unictype/property-sentence-terminal (Depends-on,
33792         configure.ac): Likewise.
33793         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33794         Likewise.
33795         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33796         * modules/unictype/property-terminal-punctuation (Depends-on,
33797         configure.ac): Likewise.
33798         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33799         Likewise.
33800         * modules/unictype/property-unassigned-code-value (Depends-on,
33801         configure.ac): Likewise.
33802         * modules/unictype/property-unified-ideograph (Depends-on,
33803         configure.ac): Likewise.
33804         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33805         Likewise.
33806         * modules/unictype/property-variation-selector (Depends-on,
33807         configure.ac): Likewise.
33808         * modules/unictype/property-white-space (Depends-on, configure.ac):
33809         Likewise.
33810         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33811         Likewise.
33812         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33813         Likewise.
33814         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33815         Likewise.
33816         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33817         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33818         Likewise.
33819
33820 2009-12-31  Bruno Haible  <bruno@clisp.org>
33821
33822         Remove unnecessary AC_C_INLINE invocation.
33823         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33824         since 2009-08-21.
33825
33826 2009-12-31  Jim Meyering  <meyering@redhat.com>
33827
33828         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33829         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33830         With this change, we can all remove the gpg_key_ID = ... definition
33831         from our respective cfg.mk files.
33832
33833         maint.mk: create announcement template in ~/, not in /tmp
33834         * top/maint.mk (emit_upload_commands): Adjust.
33835         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33836         Remove temporary file, .ci-msg.
33837
33838 2009-12-31  Eric Blake  <ebb9@byu.net>
33839
33840         link-warning: always build headers with link warnings
33841         * modules/arpa_inet (Makefile.am): Always build replacement
33842         header.
33843         * modules/ctype (Makefile.am): Likewise.
33844         * modules/dirent (Makefile.am): Likewise.
33845         * modules/inttypes (Makefile.am): Likewise.
33846         * modules/langinfo (Makefile.am): Likewise.
33847         * modules/locale (Makefile.am): Likewise.
33848         * modules/spawn (Makefile.am): Likewise.
33849         * modules/sys_file (Makefile.am): Likewise.
33850         * modules/sys_ioctl (Makefile.am): Likewise.
33851         * modules/sys_select (Makefile.am): Likewise.
33852         * modules/sys_socket (Makefile.am): Likewise.
33853         * modules/sys_times (Makefile.am): Likewise.
33854         * modules/sys_utsname (Makefile.am): Likewise.
33855         * modules/sys_wait (Makefile.am): Likewise.
33856         * modules/wchar (Makefile.am): Likewise.
33857         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33858         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33859         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33860         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33861         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33862         Likewise.
33863         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33864         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33865         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33866         Likewise.
33867         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33868         Likewise.
33869         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33870         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33871         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33872         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33873         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33874         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33875         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33876         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33877         (gl_WCHAR_H_DEFAULTS): Likewise.
33878
33879 2009-12-31  Eric Blake  <ebb9@byu.net>
33880
33881         signal, spawn: use link warnings
33882         * lib/signal.in.h (sigset_t): Make unconditional.
33883         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33884         (sigpending, sigprocmask, sigaction): Add link warnings.
33885         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33886         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33887         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33888         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33889         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33890         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33891         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33892         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33893         (posix_spawn_file_actions_destroy)
33894         (posix_spawn_file_actions_addopen)
33895         (posix_spawn_file_actions_addclose)
33896         (posix_spawn_file_actions_adddup2): Likewise.
33897         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33898         * tests/test-signal.c (main): Enhance test.
33899
33900         spawn: improve wrapper support
33901         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33902         (gl_SPAWN_H_DEFAULTS): New defaults.
33903         * modules/spawn (Makefile.am): Substitute them.
33904         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33905         Only declare if missing or broken.
33906
33907         sys_times, sys_utsname: use include_next
33908         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33909         header.
33910         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33911         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33912         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33913         * modules/sys_times (Depends-on): Add include_next.
33914         (Makefile.am): Substitute additional values.
33915         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33916         * lib/sys_times.in.h (includes): Include native header, if
33917         available.
33918         * lib/sys_utsname.in.h (includes): Likewise.
33919         * tests/test-sys_times.c (main): Enhance test.
33920
33921         fdutimensat: revert prior patch
33922         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33923         utimens.h.
33924         Reported by Bruno Haible.
33925
33926 2009-12-30  Eric Blake  <ebb9@byu.net>
33927
33928         sys_wait: drop link-warning dependency
33929         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33930         link-warning efforts.
33931         * lib/sys_wait.in.h: Likewise.
33932
33933         fdutimensat: remove bogus dependency
33934         * modules/fdutimensat (Depends-on): Drop inline.
33935
33936         unistd: fix typo
33937         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33938
33939 2009-12-30  Bruno Haible  <bruno@clisp.org>
33940
33941         Fix compilation error with Solaris cc.
33942         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33943         * lib/unicase/u16-is-invariant.c: Likewise.
33944         * lib/unicase/u32-is-invariant.c: Likewise.
33945         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33946
33947 2009-12-30  Bruno Haible  <bruno@clisp.org>
33948
33949         Fix test crash.
33950         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33951         locales.
33952         Reported by Simon Josefsson <simon@josefsson.org>.
33953
33954 2009-12-30  Bruno Haible  <bruno@clisp.org>
33955
33956         Fix compilation error on most platforms.
33957         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33958         Reported by Simon Josefsson <simon@josefsson.org>
33959         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33960
33961 2009-12-30  Eric Blake  <ebb9@byu.net>
33962
33963         futimens, utimensat: work around ntfs-3g bug
33964         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33965         a ctime bug is present, and expand workaround to cover ntfs-3g.
33966         * lib/utimens.c (fdutimens, lutimens): Likewise.
33967         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33968         (validate_timespec): Adjust return value.
33969         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33970         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33971         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33972
33973 2009-12-29  Eric Blake  <ebb9@byu.net>
33974
33975         link-warning: make usage consistent
33976         * modules/ctype (Depends-on): Add link-warning.
33977         (Makefile.am): Update rules accordingly.
33978         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33979         * modules/locale (Depends-on, Makefile.am): Likewise.
33980         * modules/sys_file (Makefile.am): Likewise.
33981         * modules/getopt-posix (Makefile.am): Delete unused link warning
33982         efforts.
33983         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33984         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33985         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33986         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33987
33988         stdio: remove unused variables
33989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33990         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33991         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33992
33993         tests: test more substitute headers
33994         * modules/ctype-tests: New file.
33995         * modules/dirent-tests: Likewise.
33996         * modules/spawn-tests: Likewise.
33997         * modules/sys_file-tests: Likewise.
33998         * modules/sys_ioctl-tests: Likewise.
33999         * modules/sys_wait-tests: Likewise.
34000         * tests/test-ctype.c: Likewise.
34001         * tests/test-dirent.c: Likewise.
34002         * tests/test-spawn.c: Likewise.
34003         * tests/test-sys_file.c: Likewise.
34004         * tests/test-sys_ioctl.c: Likewise.
34005         * tests/test-sys_wait.c: Likewise.
34006         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
34007         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
34008         whether or not flock is in use.
34009
34010         tests: remove License section from module
34011         * modules/arpa_inet-tests: Remove unneeded section.
34012         * modules/byteswap-tests: Likewise.
34013         * modules/ceilf-tests: Likewise.
34014         * modules/ceill-tests: Likewise.
34015         * modules/crypto/des-tests: Likewise.
34016         * modules/crypto/gc-arcfour-tests: Likewise.
34017         * modules/crypto/gc-arctwo-tests: Likewise.
34018         * modules/crypto/gc-des-tests: Likewise.
34019         * modules/crypto/gc-hmac-md5-tests: Likewise.
34020         * modules/crypto/gc-hmac-sha1-tests: Likewise.
34021         * modules/crypto/gc-md2-tests: Likewise.
34022         * modules/crypto/gc-md4-tests: Likewise.
34023         * modules/crypto/gc-md5-tests: Likewise.
34024         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
34025         * modules/crypto/gc-rijndael-tests: Likewise.
34026         * modules/crypto/gc-sha1-tests: Likewise.
34027         * modules/crypto/gc-tests: Likewise.
34028         * modules/crypto/md2-tests: Likewise.
34029         * modules/crypto/md4-tests: Likewise.
34030         * modules/fcntl-h-tests: Likewise.
34031         * modules/floorf-tests: Likewise.
34032         * modules/floorl-tests: Likewise.
34033         * modules/frexp-nolibm-tests: Likewise.
34034         * modules/frexp-tests: Likewise.
34035         * modules/frexpl-nolibm-tests: Likewise.
34036         * modules/frexpl-tests: Likewise.
34037         * modules/getaddrinfo-tests: Likewise.
34038         * modules/inttypes-tests: Likewise.
34039         * modules/isfinite-tests: Likewise.
34040         * modules/isinf-tests: Likewise.
34041         * modules/ldexpl-tests: Likewise.
34042         * modules/locale-tests: Likewise.
34043         * modules/math-tests: Likewise.
34044         * modules/netdb-tests: Likewise.
34045         * modules/netinet_in-tests: Likewise.
34046         * modules/printf-frexp-tests: Likewise.
34047         * modules/printf-frexpl-tests: Likewise.
34048         * modules/priv-set-tests: Likewise.
34049         * modules/random_r-tests: Likewise.
34050         * modules/round-tests: Likewise.
34051         * modules/roundf-tests: Likewise.
34052         * modules/roundl-tests: Likewise.
34053         * modules/search-tests: Likewise.
34054         * modules/select-tests: Likewise.
34055         * modules/signal-tests: Likewise.
34056         * modules/stdbool-tests: Likewise.
34057         * modules/stddef-tests: Likewise.
34058         * modules/stdint-tests: Likewise.
34059         * modules/stdio-tests: Likewise.
34060         * modules/stdlib-tests: Likewise.
34061         * modules/string-tests: Likewise.
34062         * modules/strings-tests: Likewise.
34063         * modules/sys_select-tests: Likewise.
34064         * modules/sys_socket-tests: Likewise.
34065         * modules/sys_stat-tests: Likewise.
34066         * modules/sys_time-tests: Likewise.
34067         * modules/sys_utsname-tests: Likewise.
34068         * modules/sysexits-tests: Likewise.
34069         * modules/time-tests: Likewise.
34070         * modules/trunc-tests: Likewise.
34071         * modules/truncf-tests: Likewise.
34072         * modules/truncl-tests: Likewise.
34073         * modules/tsearch-tests: Likewise.
34074         * modules/unistd-tests: Likewise.
34075         * modules/wchar-tests: Likewise.
34076         * modules/wctype-tests: Likewise.
34077
34078         tests: fix license on several tests
34079         * tests/test-des.c: Update to GPLv3+.
34080         * tests/test-flock.c: Likewise.
34081         * tests/test-fsync.c: Likewise.
34082         * tests/test-futimens.h: Likewise.
34083         * tests/test-gc-arcfour.c: Likewise.
34084         * tests/test-gc-arctwo.c: Likewise.
34085         * tests/test-gc-des.c: Likewise.
34086         * tests/test-gc-hmac-md5.c: Likewise.
34087         * tests/test-gc-hmac-sha1.c: Likewise.
34088         * tests/test-gc-md2.c: Likewise.
34089         * tests/test-gc-md4.c: Likewise.
34090         * tests/test-gc-md5.c: Likewise.
34091         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34092         * tests/test-gc-rijndael.c: Likewise.
34093         * tests/test-gc-sha1.c: Likewise.
34094         * tests/test-gc.c: Likewise.
34095         * tests/test-getcwd.c: Likewise.
34096         * tests/test-link.c: Likewise.
34097         * tests/test-link.h: Likewise.
34098         * tests/test-lutimens.h: Likewise.
34099         * tests/test-md2.c: Likewise.
34100         * tests/test-md4.c: Likewise.
34101         * tests/test-mkdir.h: Likewise.
34102         * tests/test-rename.c: Likewise.
34103         * tests/test-rename.h: Likewise.
34104         * tests/test-safe-alloc.c: Likewise.
34105         * tests/test-utimens-common.h: Likewise.
34106         * tests/test-utimens.h: Likewise.
34107
34108         maint: sync license texts
34109         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
34110         * doc/gpl-3.0.texi: Revert copyright year update.
34111         * doc/lgpl-3.0.texi: Likewise.
34112
34113 2009-12-29  Jim Meyering  <meyering@redhat.com>
34114
34115         update nearly all FSF copyright year lists to include 2009
34116         The files named by the following are exempted:
34117             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
34118               test -f "$dst" && { echo "$dst"; continue; }
34119               test -d "$dst" || continue
34120               echo "$dst"/$(basename "$src")
34121             done > exempt
34122             git ls-files tests/unictype >> exempt
34123         In the remaining files, convert to all-interval notation if
34124         - there is already at least one year interval like 2000-2003
34125         - the file is maintained by me
34126         - the file is in lib/uni*/, where that style already prevails
34127         Otherwise, use update-copyright's default.
34128
34129 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34130         and Eric Blake  <ebb9@byu.net>
34131
34132         tests: don't require debug system() to pass
34133         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
34134         * tests/test-rmdir.h (test_rmdir_func): Likewise.
34135         * tests/test-unlink.h (test_unlink_func): Likewise.
34136         * tests/test-fstatat.c (main): ...into callers.
34137         * tests/test-lstat.c (main): Likewise.
34138         * tests/test-rmdir.c (main): Likewise.
34139         * tests/test-unlink.c (main): Likewise.
34140         * tests/test-unlinkat.c (main): Likewise.
34141         * tests/test-areadlink-with-size.c (main): Don't require a
34142         debug-only system call to pass, aiding cross-testing to mingw.
34143         * tests/test-areadlink.c (main): Likewise.
34144         * tests/test-areadlinkat-with-size.c (main): Likewise.
34145         * tests/test-areadlinkat.c (main): Likewise.
34146         * tests/test-canonicalize-lgpl.c (main): Likewise.
34147         * tests/test-canonicalize.c (main): Likewise.
34148         * tests/test-chown.c (main): Likewise.
34149         * tests/test-fchownat.c (main): Likewise.
34150         * tests/test-lchown.c (main): Likewise.
34151         * tests/test-fdutimensat.c (main): Likewise.
34152         * tests/test-futimens.c (main): Likewise.
34153         * tests/test-link.c (main): Likewise.
34154         * tests/test-linkat.c (main): Likewise.
34155         * tests/test-mkdir.c (main): Likewise.
34156         * tests/test-mkdirat.c (main): Likewise.
34157         * tests/test-mkfifo.c (main): Likewise.
34158         * tests/test-mkfifoat.c (main): Likewise.
34159         * tests/test-mknod.c (main): Likewise.
34160         * tests/test-readlink.c (main): Likewise.
34161         * tests/test-remove.c (main): Likewise.
34162         * tests/test-rename.c (main): Likewise.
34163         * tests/test-renameat.c (main): Likewise.
34164         * tests/test-symlink.c (main): Likewise.
34165         * tests/test-symlinkat.c (main): Likewise.
34166         * tests/test-utimens.c (main): Likewise.
34167         * tests/test-utimensat.c (main): Likewise.
34168
34169 2009-12-29  Simon Josefsson  <simon@josefsson.org>
34170
34171         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
34172         on $(UNUSED_PARAMETER_H) to avoid build failure.
34173
34174 2009-12-28  Jim Meyering  <meyering@redhat.com>
34175
34176         update-copyright: you may specify a max. line length other than 72
34177         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
34178
34179         maint: use consistent FSF copyright line syntax
34180         * lib/posixtm.c: Add missing comma in FSF copyright line.
34181         * lib/posixtm.h: Likewise.
34182         * lib/getugroups.c: Add missing ", Inc.".
34183
34184         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
34185         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
34186         FSF copyright line.  Remove trailing blanks.
34187
34188 2009-12-28  Eric Blake  <ebb9@byu.net>
34189
34190         test-dup2: reduce dependencies
34191         * modules/cloexec (Configure.ac): Set witness.
34192         * modules/dup2-tests (Depends-on): Drop cloexec.
34193         * tests/test-dup2.c (main): Skip portion of test if cloexec module
34194         not present.
34195         Suggested by Bruno Haible.
34196
34197 2009-12-26  Bruno Haible  <bruno@clisp.org>
34198
34199         Remove an unneeded dependency.
34200         * modules/fseterr (Depends-on): Remove dup2.
34201
34202 2009-12-26  Eric Blake  <ebb9@byu.net>
34203
34204         tests: use macros.h in more places
34205         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
34206         (ASSERT_STREAM): Provide default of stderr.
34207         * tests/test-dirent-safer.c: Include macros.h, using alternate
34208         stream for assertions.
34209         * tests/test-dup-safer.c: Likewise.
34210         * tests/test-freopen-safer.c: Likewise.
34211         * tests/test-getopt.c: Likewise.
34212         * tests/test-openat-safer.c: Likewise.
34213         * tests/test-pipe.c: Likewise.
34214         * tests/test-popen-safer.c: Likewise.
34215         * modules/dirent-safer-tests (Files): Include macros.h.
34216         * modules/unistd-safer-tests (Files): Likewise.
34217         * modules/freopen-safer-tests (Files): Likewise.
34218         * modules/getopt-posix-tests (Files): Likewise.
34219         * modules/openat-safer-tests (Files): Likewise.
34220         * modules/pipe-tests (Files): Likewise.
34221
34222 2009-12-26  Bruno Haible  <bruno@clisp.org>
34223
34224         javacomp: Portability fix.
34225         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
34226         that it also works on Solaris.
34227
34228 2009-12-26  Bruno Haible  <bruno@clisp.org>
34229
34230         localename: Fix storage allocation of gl_locale_name_thread's result.
34231         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
34232         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
34233         all platforms that have 'uselocale'.
34234         (gl_locale_name_thread_unsafe): New function, extracted from
34235         gl_locale_name_thread.
34236         (gl_locale_name_thread): Call struniq on all platforms that have
34237         'uselocale'.
34238         * tests/test-localename.c (test_locale_name_thread): Check that the
34239         resulting strings are permanently allocated.
34240         * modules/localename-tests (Depends-on): Add strdup.
34241
34242 2009-12-26  Bruno Haible  <bruno@clisp.org>
34243
34244         * tests/test-localename.c (categories): Fill in the strings.
34245
34246 2009-12-26  Jim Meyering  <meyering@redhat.com>
34247
34248         isdir: complete the removal of m4/isdir.m4
34249         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
34250
34251         isdir: clean up, since at least grep still uses it
34252         * lib/isdir.c: Include "isdir.h".
34253         (S_ISDIR): Remove now-unneeded definition.
34254         * modules/isdir (Files): Add lib/isdir.h.
34255         * lib/isdir.h: New file, with declaration.
34256         * m4/isdir.m4: Remove file -- unneeded.
34257
34258 2009-12-25  Bruno Haible  <bruno@clisp.org>
34259
34260         selinux-h: Make generated .h files standalone.
34261         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
34262         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
34263         * lib/se-selinux.in.h: Likewise.
34264         * modules/selinux-h (Depends-on): Add unused-parameter.
34265         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
34266         selinux/selinux.h and selinux/context.h.
34267         Suggested by Eric Blake.
34268
34269 2009-12-25  Bruno Haible  <bruno@clisp.org>
34270
34271         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
34272         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
34273         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
34274         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
34275         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
34276
34277 2009-12-24  Bruno Haible  <bruno@clisp.org>
34278
34279         openat: Fix warning.
34280         * lib/openat-proc.c: Include <unistd.h>.
34281
34282 2009-12-24  Bruno Haible  <bruno@clisp.org>
34283
34284         New module 'unused-parameter'.
34285         * build-aux/unused-parameter.h: New file, extracted from earlier
34286         gnulib-common.m4.
34287         * modules/unused-parameter: New file.
34288         * lib/unistr.h: Include unused-parameter.h.
34289         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
34290         _GL_UNUSED.
34291         * modules/unistr/base (Depends-on): Add unused-parameter.
34292
34293 2009-12-24  Bruno Haible  <bruno@clisp.org>
34294
34295         Add missing dependencies to 'extensions' module.
34296         * m4/extensions.m4: Add comment.
34297         * modules/accept4 (Depends-on): Add extensions.
34298         * modules/dup3 (Depends-on): Likewise.
34299         * modules/fcntl (Depends-on): Likewise.
34300         * modules/futimens (Depends-on): Likewise.
34301         * modules/mknod (Depends-on): Likewise.
34302         * modules/pipe2 (Depends-on): Likewise.
34303         * modules/stat-time (Depends-on): Likewise.
34304         * modules/strcasestr-simple (Depends-on): Likewise.
34305         * modules/strsignal (Depends-on): Likewise.
34306         * modules/utimensat (Depends-on): Likewise.
34307         * modules/localcharset (Depends-on): Likewise. Needed because of
34308         gl_FCNTL_O_FLAGS.
34309         * modules/wcrtomb (Depends-on): Likewise. Needed because of
34310         AC_TYPE_MBSTATE_T.
34311         * modules/wcsnrtombs (Depends-on): Likewise.
34312         * modules/wcsrtombs (Depends-on): Likewise.
34313
34314 2009-12-24  Bruno Haible  <bruno@clisp.org>
34315
34316         binary-io: Avoid gcc warning due to SET_BINARY.
34317         * lib/binary-io.h (SET_BINARY): Cast the result to void.
34318         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
34319
34320 2009-12-24  Bruno Haible  <bruno@clisp.org>
34321
34322         Avoid future namespace pollution on glibc systems.
34323         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
34324         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
34325         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
34326         glibc systems.
34327
34328 2009-12-24  Bruno Haible  <bruno@clisp.org>
34329
34330         Refactor common macros used in tests.
34331         * tests/macros.h: New file.
34332         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
34333         and/or <stdlib.h>, if appropriate.
34334         (ASSERT, SIZEOF): Remove macros.
34335         * tests/test-areadlink-with-size.c: Likewise.
34336         * tests/test-areadlinkat.c: Likewise.
34337         * tests/test-areadlinkat-with-size.c: Likewise.
34338         * tests/test-argmatch.c: Likewise.
34339         * tests/test-argv-iter.c: Likewise.
34340         * tests/test-array-mergesort.c: Likewise.
34341         * tests/test-array_list.c: Likewise.
34342         * tests/test-array_oset.c: Likewise.
34343         * tests/test-avltree_list.c: Likewise.
34344         * tests/test-avltree_oset.c: Likewise.
34345         * tests/test-avltreehash_list.c: Likewise.
34346         * tests/test-base64.c: Likewise.
34347         * tests/test-binary-io.c: Likewise.
34348         * tests/test-bitrotate.c: Likewise.
34349         * tests/test-btowc.c: Likewise.
34350         * tests/test-byteswap.c: Likewise.
34351         * tests/test-c-ctype.c: Likewise.
34352         * tests/test-c-stack.c: Likewise.
34353         * tests/test-c-strcasecmp.c: Likewise.
34354         * tests/test-c-strcasestr.c: Likewise.
34355         * tests/test-c-strncasecmp.c: Likewise.
34356         * tests/test-c-strstr.c: Likewise.
34357         * tests/test-canonicalize-lgpl.c: Likewise.
34358         * tests/test-canonicalize.c: Likewise.
34359         * tests/test-carray_list.c: Likewise.
34360         * tests/test-ceilf1.c: Likewise.
34361         * tests/test-ceilf2.c: Likewise.
34362         * tests/test-ceill.c: Likewise.
34363         * tests/test-chown.c: Likewise.
34364         * tests/test-cloexec.c: Likewise.
34365         * tests/test-copy-acl.c: Likewise.
34366         * tests/test-copy-file.c: Likewise.
34367         * tests/test-count-one-bits.c: Likewise.
34368         * tests/test-dprintf-posix.c: Likewise.
34369         * tests/test-dup2.c: Likewise.
34370         * tests/test-dup3.c: Likewise.
34371         * tests/test-duplocale.c: Likewise.
34372         * tests/test-fbufmode.c: Likewise.
34373         * tests/test-fchdir.c: Likewise.
34374         * tests/test-fchownat.c: Likewise.
34375         * tests/test-fcntl-safer.c: Likewise.
34376         * tests/test-fcntl.c: Likewise.
34377         * tests/test-fdopendir.c: Likewise.
34378         * tests/test-fdutimensat.c: Likewise.
34379         * tests/test-fflush2.c: Likewise.
34380         * tests/test-file-has-acl.c: Likewise.
34381         * tests/test-filevercmp.c: Likewise.
34382         * tests/test-flock.c: Likewise.
34383         * tests/test-floorf1.c: Likewise.
34384         * tests/test-floorf2.c: Likewise.
34385         * tests/test-floorl.c: Likewise.
34386         * tests/test-fnmatch.c: Likewise.
34387         * tests/test-fopen.h: Likewise.
34388         * tests/test-fpending.c: Likewise.
34389         * tests/test-fprintf-posix.c: Likewise.
34390         * tests/test-fpurge.c: Likewise.
34391         * tests/test-freadable.c: Likewise.
34392         * tests/test-freadahead.c: Likewise.
34393         * tests/test-freading.c: Likewise.
34394         * tests/test-freadptr.c: Likewise.
34395         * tests/test-freadptr2.c: Likewise.
34396         * tests/test-freadseek.c: Likewise.
34397         * tests/test-freopen.c: Likewise.
34398         * tests/test-frexp.c: Likewise.
34399         * tests/test-frexpl.c: Likewise.
34400         * tests/test-fseek.c: Likewise.
34401         * tests/test-fseeko.c: Likewise.
34402         * tests/test-fstatat.c: Likewise.
34403         * tests/test-fstrcmp.c: Likewise.
34404         * tests/test-fsync.c: Likewise.
34405         * tests/test-ftell.c: Likewise.
34406         * tests/test-ftello.c: Likewise.
34407         * tests/test-func.c: Likewise.
34408         * tests/test-futimens.c: Likewise.
34409         * tests/test-fwritable.c: Likewise.
34410         * tests/test-fwriting.c: Likewise.
34411         * tests/test-getcwd.c: Likewise.
34412         * tests/test-getdate.c: Likewise.
34413         * tests/test-getdelim.c: Likewise.
34414         * tests/test-getdtablesize.c: Likewise.
34415         * tests/test-getgroups.c: Likewise.
34416         * tests/test-getline.c: Likewise.
34417         * tests/test-getndelim2.c: Likewise.
34418         * tests/test-glob.c: Likewise.
34419         * tests/test-hash.c: Likewise.
34420         * tests/test-i-ring.c: Likewise.
34421         * tests/test-iconv-utf.c: Likewise.
34422         * tests/test-iconv.c: Likewise.
34423         * tests/test-idpriv-drop.c: Likewise.
34424         * tests/test-idpriv-droptemp.c: Likewise.
34425         * tests/test-inet_ntop.c: Likewise.
34426         * tests/test-inet_pton.c: Likewise.
34427         * tests/test-isblank.c: Likewise.
34428         * tests/test-isfinite.c: Likewise.
34429         * tests/test-isinf.c: Likewise.
34430         * tests/test-isnan.c: Likewise.
34431         * tests/test-isnand.h: Likewise.
34432         * tests/test-isnanf.h: Likewise.
34433         * tests/test-isnanl.h: Likewise.
34434         * tests/test-lchown.c: Likewise.
34435         * tests/test-ldexpl.c: Likewise.
34436         * tests/test-link.c: Likewise.
34437         * tests/test-linkat.c: Likewise.
34438         * tests/test-linked_list.c: Likewise.
34439         * tests/test-linkedhash_list.c: Likewise.
34440         * tests/test-localename.c: Likewise.
34441         * tests/test-lseek.c: Likewise.
34442         * tests/test-lstat.c: Likewise.
34443         * tests/test-mbmemcasecmp.c: Likewise.
34444         * tests/test-mbmemcasecoll.c: Likewise.
34445         * tests/test-mbrtowc.c: Likewise.
34446         * tests/test-mbscasecmp.c: Likewise.
34447         * tests/test-mbscasestr1.c: Likewise.
34448         * tests/test-mbscasestr2.c: Likewise.
34449         * tests/test-mbscasestr3.c: Likewise.
34450         * tests/test-mbscasestr4.c: Likewise.
34451         * tests/test-mbschr.c: Likewise.
34452         * tests/test-mbscspn.c: Likewise.
34453         * tests/test-mbsinit.c: Likewise.
34454         * tests/test-mbsncasecmp.c: Likewise.
34455         * tests/test-mbsnrtowcs.c: Likewise.
34456         * tests/test-mbspbrk.c: Likewise.
34457         * tests/test-mbspcasecmp.c: Likewise.
34458         * tests/test-mbsrchr.c: Likewise.
34459         * tests/test-mbsrtowcs.c: Likewise.
34460         * tests/test-mbsspn.c: Likewise.
34461         * tests/test-mbsstr1.c: Likewise.
34462         * tests/test-mbsstr2.c: Likewise.
34463         * tests/test-mbsstr3.c: Likewise.
34464         * tests/test-memchr.c: Likewise.
34465         * tests/test-memchr2.c: Likewise.
34466         * tests/test-memcmp.c: Likewise.
34467         * tests/test-memmem.c: Likewise.
34468         * tests/test-memrchr.c: Likewise.
34469         * tests/test-mkdir.c: Likewise.
34470         * tests/test-mkdirat.c: Likewise.
34471         * tests/test-mkfifo.c: Likewise.
34472         * tests/test-mkfifoat.c: Likewise.
34473         * tests/test-mknod.c: Likewise.
34474         * tests/test-nanosleep.c: Likewise.
34475         * tests/test-nl_langinfo.c: Likewise.
34476         * tests/test-obstack-printf.c: Likewise.
34477         * tests/test-open.c: Likewise.
34478         * tests/test-openat.c: Likewise.
34479         * tests/test-pipe-filter-gi1.c: Likewise.
34480         * tests/test-pipe-filter-gi2-main.c: Likewise.
34481         * tests/test-pipe-filter-ii1.c: Likewise.
34482         * tests/test-pipe-filter-ii2-main.c: Likewise.
34483         * tests/test-pipe2.c: Likewise.
34484         * tests/test-popen.h: Likewise.
34485         * tests/test-posixtm.c: Likewise.
34486         * tests/test-pread.c: Likewise.
34487         * tests/test-printf-frexp.c: Likewise.
34488         * tests/test-printf-frexpl.c: Likewise.
34489         * tests/test-printf-posix.c: Likewise.
34490         * tests/test-priv-set.c: Likewise.
34491         * tests/test-quotearg.c: Likewise.
34492         * tests/test-random_r.c: Likewise.
34493         * tests/test-rawmemchr.c: Likewise.
34494         * tests/test-rbtree_list.c: Likewise.
34495         * tests/test-rbtree_oset.c: Likewise.
34496         * tests/test-rbtreehash_list.c: Likewise.
34497         * tests/test-readlink.c: Likewise.
34498         * tests/test-remove.c: Likewise.
34499         * tests/test-rename.c: Likewise.
34500         * tests/test-renameat.c: Likewise.
34501         * tests/test-rmdir.c: Likewise.
34502         * tests/test-round1.c: Likewise.
34503         * tests/test-roundf1.c: Likewise.
34504         * tests/test-roundl.c: Likewise.
34505         * tests/test-safe-alloc.c: Likewise.
34506         * tests/test-sameacls.c: Likewise.
34507         * tests/test-set-mode-acl.c: Likewise.
34508         * tests/test-setenv.c: Likewise.
34509         * tests/test-sigaction.c: Likewise.
34510         * tests/test-signbit.c: Likewise.
34511         * tests/test-sleep.c: Likewise.
34512         * tests/test-snprintf-posix.c: Likewise.
34513         * tests/test-snprintf.c: Likewise.
34514         * tests/test-sprintf-posix.c: Likewise.
34515         * tests/test-stat-time.c: Likewise.
34516         * tests/test-stat.c: Likewise.
34517         * tests/test-strcasestr.c: Likewise.
34518         * tests/test-strchrnul.c: Likewise.
34519         * tests/test-strerror.c: Likewise.
34520         * tests/test-striconv.c: Likewise.
34521         * tests/test-striconveh.c: Likewise.
34522         * tests/test-striconveha.c: Likewise.
34523         * tests/test-strsignal.c: Likewise.
34524         * tests/test-strstr.c: Likewise.
34525         * tests/test-strtod.c: Likewise.
34526         * tests/test-strverscmp.c: Likewise.
34527         * tests/test-symlink.c: Likewise.
34528         * tests/test-symlinkat.c: Likewise.
34529         * tests/test-trunc1.c: Likewise.
34530         * tests/test-trunc2.c: Likewise.
34531         * tests/test-truncf1.c: Likewise.
34532         * tests/test-truncf2.c: Likewise.
34533         * tests/test-truncl.c: Likewise.
34534         * tests/test-uname.c: Likewise.
34535         * tests/test-unlink.c: Likewise.
34536         * tests/test-unlinkat.c: Likewise.
34537         * tests/test-unsetenv.c: Likewise.
34538         * tests/test-usleep.c: Likewise.
34539         * tests/test-utimens.c: Likewise.
34540         * tests/test-utimensat.c: Likewise.
34541         * tests/test-vasnprintf-posix.c: Likewise.
34542         * tests/test-vasnprintf-posix2.c: Likewise.
34543         * tests/test-vasnprintf.c: Likewise.
34544         * tests/test-vasprintf-posix.c: Likewise.
34545         * tests/test-vasprintf.c: Likewise.
34546         * tests/test-vdprintf-posix.c: Likewise.
34547         * tests/test-vfprintf-posix.c: Likewise.
34548         * tests/test-vprintf-posix.c: Likewise.
34549         * tests/test-vsnprintf-posix.c: Likewise.
34550         * tests/test-vsnprintf.c: Likewise.
34551         * tests/test-vsprintf-posix.c: Likewise.
34552         * tests/test-wcrtomb.c: Likewise.
34553         * tests/test-wcsnrtombs.c: Likewise.
34554         * tests/test-wcsrtombs.c: Likewise.
34555         * tests/test-wctype.c: Likewise.
34556         * tests/test-wcwidth.c: Likewise.
34557         * tests/test-xfprintf-posix.c: Likewise.
34558         * tests/test-xmemdup0.c: Likewise.
34559         * tests/test-xprintf-posix.c: Likewise.
34560         * tests/test-xvasprintf.c: Likewise.
34561         * tests/unicase/test-locale-language.c: Likewise.
34562         * tests/unicase/test-mapping-part1.h: Likewise.
34563         * tests/unicase/test-predicate-part1.h: Likewise.
34564         * tests/unicase/test-u8-casecmp.c: Likewise.
34565         * tests/unicase/test-u8-casecoll.c: Likewise.
34566         * tests/unicase/test-u8-casefold.c: Likewise.
34567         * tests/unicase/test-u8-is-cased.c: Likewise.
34568         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34569         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34570         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34571         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34572         * tests/unicase/test-u8-tolower.c: Likewise.
34573         * tests/unicase/test-u8-totitle.c: Likewise.
34574         * tests/unicase/test-u8-toupper.c: Likewise.
34575         * tests/unicase/test-u16-casecmp.c: Likewise.
34576         * tests/unicase/test-u16-casecoll.c: Likewise.
34577         * tests/unicase/test-u16-casefold.c: Likewise.
34578         * tests/unicase/test-u16-is-cased.c: Likewise.
34579         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34580         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34581         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34582         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34583         * tests/unicase/test-u16-tolower.c: Likewise.
34584         * tests/unicase/test-u16-totitle.c: Likewise.
34585         * tests/unicase/test-u16-toupper.c: Likewise.
34586         * tests/unicase/test-u32-casecmp.c: Likewise.
34587         * tests/unicase/test-u32-casecoll.c: Likewise.
34588         * tests/unicase/test-u32-casefold.c: Likewise.
34589         * tests/unicase/test-u32-is-cased.c: Likewise.
34590         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34591         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34592         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34593         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34594         * tests/unicase/test-u32-tolower.c: Likewise.
34595         * tests/unicase/test-u32-totitle.c: Likewise.
34596         * tests/unicase/test-u32-toupper.c: Likewise.
34597         * tests/unicase/test-ulc-casecmp.c: Likewise.
34598         * tests/unicase/test-ulc-casecoll.c: Likewise.
34599         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34600         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34601         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34602         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34603         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34604         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34605         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34606         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34607         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34608         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34609         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34610         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34611         * tests/unictype/test-bidi_byname.c: Likewise.
34612         * tests/unictype/test-bidi_name.c: Likewise.
34613         * tests/unictype/test-bidi_of.c: Likewise.
34614         * tests/unictype/test-bidi_test.c: Likewise.
34615         * tests/unictype/test-block_list.c: Likewise.
34616         * tests/unictype/test-block_of.c: Likewise.
34617         * tests/unictype/test-block_test.c: Likewise.
34618         * tests/unictype/test-categ_and.c: Likewise.
34619         * tests/unictype/test-categ_and_not.c: Likewise.
34620         * tests/unictype/test-categ_byname.c: Likewise.
34621         * tests/unictype/test-categ_name.c: Likewise.
34622         * tests/unictype/test-categ_none.c: Likewise.
34623         * tests/unictype/test-categ_of.c: Likewise.
34624         * tests/unictype/test-categ_or.c: Likewise.
34625         * tests/unictype/test-categ_test_withtable.c: Likewise.
34626         * tests/unictype/test-combining.c: Likewise.
34627         * tests/unictype/test-decdigit.c: Likewise.
34628         * tests/unictype/test-digit.c: Likewise.
34629         * tests/unictype/test-mirror.c: Likewise.
34630         * tests/unictype/test-numeric.c: Likewise.
34631         * tests/unictype/test-pr_byname.c: Likewise.
34632         * tests/unictype/test-pr_test.c: Likewise.
34633         * tests/unictype/test-predicate-part1.h: Likewise.
34634         * tests/unictype/test-scripts.c: Likewise.
34635         * tests/unictype/test-sy_c_ident.c: Likewise.
34636         * tests/unictype/test-sy_java_ident.c: Likewise.
34637         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34638         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34639         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34640         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34641         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34642         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34643         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34644         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34645         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34646         * tests/uninorm/test-compat-decomposition.c: Likewise.
34647         * tests/uninorm/test-composition.c: Likewise.
34648         * tests/uninorm/test-decomposing-form.c: Likewise.
34649         * tests/uninorm/test-decomposition.c: Likewise.
34650         * tests/uninorm/test-u8-nfc.c: Likewise.
34651         * tests/uninorm/test-u8-nfd.c: Likewise.
34652         * tests/uninorm/test-u8-nfkc.c: Likewise.
34653         * tests/uninorm/test-u8-nfkd.c: Likewise.
34654         * tests/uninorm/test-u8-normcmp.c: Likewise.
34655         * tests/uninorm/test-u8-normcoll.c: Likewise.
34656         * tests/uninorm/test-u16-nfc.c: Likewise.
34657         * tests/uninorm/test-u16-nfd.c: Likewise.
34658         * tests/uninorm/test-u16-nfkc.c: Likewise.
34659         * tests/uninorm/test-u16-nfkd.c: Likewise.
34660         * tests/uninorm/test-u16-normcmp.c: Likewise.
34661         * tests/uninorm/test-u16-normcoll.c: Likewise.
34662         * tests/uninorm/test-u32-nfc.c: Likewise.
34663         * tests/uninorm/test-u32-nfd.c: Likewise.
34664         * tests/uninorm/test-u32-nfkc.c: Likewise.
34665         * tests/uninorm/test-u32-nfkd.c: Likewise.
34666         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34667         * tests/uninorm/test-u32-normcmp.c: Likewise.
34668         * tests/uninorm/test-u32-normcoll.c: Likewise.
34669         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34670         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34671         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34672         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34673         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34674         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34675         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34676         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34677         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34678         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34679         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34680         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34681         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34682         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34683         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34684         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34685         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34686         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34687         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34688         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34689         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34690         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34691         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34692         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34693         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34694         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34695         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34696         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34697         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34698         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34699         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34700         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34701         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34702         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34703         * tests/uniwidth/test-u8-width.c: Likewise.
34704         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34705         * tests/uniwidth/test-u16-width.c: Likewise.
34706         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34707         * tests/uniwidth/test-u32-width.c: Likewise.
34708         * tests/uniwidth/test-uc_width.c: Likewise.
34709         * tests/uniwidth/test-uc_width2.c: Likewise.
34710         * modules/acl-tests (Files): Add tests/macros.h.
34711         * modules/areadlink-tests (Files): Likewise.
34712         * modules/areadlink-with-size-tests (Files): Likewise.
34713         * modules/areadlinkat-tests (Files): Likewise.
34714         * modules/areadlinkat-with-size-tests (Files): Likewise.
34715         * modules/argmatch-tests (Files): Likewise.
34716         * modules/argv-iter-tests (Files): Likewise.
34717         * modules/array-list-tests (Files): Likewise.
34718         * modules/array-mergesort-tests (Files): Likewise.
34719         * modules/array-oset-tests (Files): Likewise.
34720         * modules/avltree-list-tests (Files): Likewise.
34721         * modules/avltree-oset-tests (Files): Likewise.
34722         * modules/avltreehash-list-tests (Files): Likewise.
34723         * modules/base64-tests (Files): Likewise.
34724         * modules/binary-io-tests (Files): Likewise.
34725         * modules/bitrotate-tests (Files): Likewise.
34726         * modules/btowc-tests (Files): Likewise.
34727         * modules/byteswap-tests (Files): Likewise.
34728         * modules/c-ctype-tests (Files): Likewise.
34729         * modules/c-stack-tests (Files): Likewise.
34730         * modules/c-strcase-tests (Files): Likewise.
34731         * modules/c-strcasestr-tests (Files): Likewise.
34732         * modules/c-strstr-tests (Files): Likewise.
34733         * modules/canonicalize-lgpl-tests (Files): Likewise.
34734         * modules/canonicalize-tests (Files): Likewise.
34735         * modules/carray-list-tests (Files): Likewise.
34736         * modules/ceilf-tests (Files): Likewise.
34737         * modules/ceill-tests (Files): Likewise.
34738         * modules/chown-tests (Files): Likewise.
34739         * modules/cloexec-tests (Files): Likewise.
34740         * modules/copy-file-tests (Files): Likewise.
34741         * modules/count-one-bits-tests (Files): Likewise.
34742         * modules/dprintf-posix-tests (Files): Likewise.
34743         * modules/dup2-tests (Files): Likewise.
34744         * modules/dup3-tests (Files): Likewise.
34745         * modules/duplocale-tests (Files): Likewise.
34746         * modules/fbufmode-tests (Files): Likewise.
34747         * modules/fchdir-tests (Files): Likewise.
34748         * modules/fcntl-safer-tests (Files): Likewise.
34749         * modules/fcntl-tests (Files): Likewise.
34750         * modules/fdopendir-tests (Files): Likewise.
34751         * modules/fdutimensat-tests (Files): Likewise.
34752         * modules/fflush-tests (Files): Likewise.
34753         * modules/filevercmp-tests (Files): Likewise.
34754         * modules/flock-tests (Files): Likewise.
34755         * modules/floorf-tests (Files): Likewise.
34756         * modules/floorl-tests (Files): Likewise.
34757         * modules/fnmatch-tests (Files): Likewise.
34758         * modules/fopen-safer-tests (Files): Likewise.
34759         * modules/fopen-tests (Files): Likewise.
34760         * modules/fpending-tests (Files): Likewise.
34761         * modules/fprintf-posix-tests (Files): Likewise.
34762         * modules/fpurge-tests (Files): Likewise.
34763         * modules/freadable-tests (Files): Likewise.
34764         * modules/freadahead-tests (Files): Likewise.
34765         * modules/freading-tests (Files): Likewise.
34766         * modules/freadptr-tests (Files): Likewise.
34767         * modules/freadseek-tests (Files): Likewise.
34768         * modules/freopen-tests (Files): Likewise.
34769         * modules/frexp-nolibm-tests (Files): Likewise.
34770         * modules/frexp-tests (Files): Likewise.
34771         * modules/frexpl-nolibm-tests (Files): Likewise.
34772         * modules/frexpl-tests (Files): Likewise.
34773         * modules/fseek-tests (Files): Likewise.
34774         * modules/fseeko-tests (Files): Likewise.
34775         * modules/fstrcmp-tests (Files): Likewise.
34776         * modules/fsync-tests (Files): Likewise.
34777         * modules/ftell-tests (Files): Likewise.
34778         * modules/ftello-tests (Files): Likewise.
34779         * modules/func-tests (Files): Likewise.
34780         * modules/futimens-tests (Files): Likewise.
34781         * modules/fwritable-tests (Files): Likewise.
34782         * modules/fwriting-tests (Files): Likewise.
34783         * modules/getcwd-tests (Files): Likewise.
34784         * modules/getdate-tests (Files): Likewise.
34785         * modules/getdelim-tests (Files): Likewise.
34786         * modules/getdtablesize-tests (Files): Likewise.
34787         * modules/getgroups-tests (Files): Likewise.
34788         * modules/getline-tests (Files): Likewise.
34789         * modules/getndelim2-tests (Files): Likewise.
34790         * modules/glob-tests (Files): Likewise.
34791         * modules/hash-tests (Files): Likewise.
34792         * modules/i-ring-tests (Files): Likewise.
34793         * modules/iconv-tests (Files): Likewise.
34794         * modules/iconv_open-utf-tests (Files): Likewise.
34795         * modules/idpriv-drop-tests (Files): Likewise.
34796         * modules/idpriv-droptemp-tests (Files): Likewise.
34797         * modules/inet_ntop-tests (Files): Likewise.
34798         * modules/inet_pton-tests (Files): Likewise.
34799         * modules/isblank-tests (Files): Likewise.
34800         * modules/isfinite-tests (Files): Likewise.
34801         * modules/isinf-tests (Files): Likewise.
34802         * modules/isnan-tests (Files): Likewise.
34803         * modules/isnand-nolibm-tests (Files): Likewise.
34804         * modules/isnand-tests (Files): Likewise.
34805         * modules/isnanf-nolibm-tests (Files): Likewise.
34806         * modules/isnanf-tests (Files): Likewise.
34807         * modules/isnanl-nolibm-tests (Files): Likewise.
34808         * modules/isnanl-tests (Files): Likewise.
34809         * modules/lchown-tests (Files): Likewise.
34810         * modules/ldexpl-tests (Files): Likewise.
34811         * modules/link-tests (Files): Likewise.
34812         * modules/linkat-tests (Files): Likewise.
34813         * modules/linked-list-tests (Files): Likewise.
34814         * modules/linkedhash-list-tests (Files): Likewise.
34815         * modules/localename-tests (Files): Likewise.
34816         * modules/lseek-tests (Files): Likewise.
34817         * modules/lstat-tests (Files): Likewise.
34818         * modules/mbmemcasecmp-tests (Files): Likewise.
34819         * modules/mbmemcasecoll-tests (Files): Likewise.
34820         * modules/mbrtowc-tests (Files): Likewise.
34821         * modules/mbscasecmp-tests (Files): Likewise.
34822         * modules/mbscasestr-tests (Files): Likewise.
34823         * modules/mbschr-tests (Files): Likewise.
34824         * modules/mbscspn-tests (Files): Likewise.
34825         * modules/mbsinit-tests (Files): Likewise.
34826         * modules/mbsncasecmp-tests (Files): Likewise.
34827         * modules/mbsnrtowcs-tests (Files): Likewise.
34828         * modules/mbspbrk-tests (Files): Likewise.
34829         * modules/mbspcasecmp-tests (Files): Likewise.
34830         * modules/mbsrchr-tests (Files): Likewise.
34831         * modules/mbsrtowcs-tests (Files): Likewise.
34832         * modules/mbsspn-tests (Files): Likewise.
34833         * modules/mbsstr-tests (Files): Likewise.
34834         * modules/memchr-tests (Files): Likewise.
34835         * modules/memchr2-tests (Files): Likewise.
34836         * modules/memcmp-tests (Files): Likewise.
34837         * modules/memmem-tests (Files): Likewise.
34838         * modules/memrchr-tests (Files): Likewise.
34839         * modules/mkdir-tests (Files): Likewise.
34840         * modules/mkfifo-tests (Files): Likewise.
34841         * modules/mkfifoat-tests (Files): Likewise.
34842         * modules/mknod-tests (Files): Likewise.
34843         * modules/nanosleep-tests (Files): Likewise.
34844         * modules/nl_langinfo-tests (Files): Likewise.
34845         * modules/obstack-printf-tests (Files): Likewise.
34846         * modules/open-tests (Files): Likewise.
34847         * modules/openat-tests (Files): Likewise.
34848         * modules/pipe-filter-gi-tests (Files): Likewise.
34849         * modules/pipe-filter-ii-tests (Files): Likewise.
34850         * modules/pipe2-tests (Files): Likewise.
34851         * modules/popen-safer-tests (Files): Likewise.
34852         * modules/popen-tests (Files): Likewise.
34853         * modules/posixtm-tests (Files): Likewise.
34854         * modules/pread-tests (Files): Likewise.
34855         * modules/printf-frexp-tests (Files): Likewise.
34856         * modules/printf-frexpl-tests (Files): Likewise.
34857         * modules/printf-posix-tests (Files): Likewise.
34858         * modules/priv-set-tests (Files): Likewise.
34859         * modules/quotearg-tests (Files): Likewise.
34860         * modules/random_r-tests (Files): Likewise.
34861         * modules/rawmemchr-tests (Files): Likewise.
34862         * modules/rbtree-list-tests (Files): Likewise.
34863         * modules/rbtree-oset-tests (Files): Likewise.
34864         * modules/rbtreehash-list-tests (Files): Likewise.
34865         * modules/readlink-tests (Files): Likewise.
34866         * modules/remove-tests (Files): Likewise.
34867         * modules/rename-tests (Files): Likewise.
34868         * modules/renameat-tests (Files): Likewise.
34869         * modules/rmdir-tests (Files): Likewise.
34870         * modules/round-tests (Files): Likewise.
34871         * modules/roundf-tests (Files): Likewise.
34872         * modules/roundl-tests (Files): Likewise.
34873         * modules/safe-alloc-tests (Files): Likewise.
34874         * modules/setenv-tests (Files): Likewise.
34875         * modules/sigaction-tests (Files): Likewise.
34876         * modules/signbit-tests (Files): Likewise.
34877         * modules/sleep-tests (Files): Likewise.
34878         * modules/snprintf-posix-tests (Files): Likewise.
34879         * modules/snprintf-tests (Files): Likewise.
34880         * modules/sprintf-posix-tests (Files): Likewise.
34881         * modules/stat-tests (Files): Likewise.
34882         * modules/stat-time-tests (Files): Likewise.
34883         * modules/strcasestr-tests (Files): Likewise.
34884         * modules/strchrnul-tests (Files): Likewise.
34885         * modules/strerror-tests (Files): Likewise.
34886         * modules/striconv-tests (Files): Likewise.
34887         * modules/striconveh-tests (Files): Likewise.
34888         * modules/striconveha-tests (Files): Likewise.
34889         * modules/strsignal-tests (Files): Likewise.
34890         * modules/strstr-tests (Files): Likewise.
34891         * modules/strtod-tests (Files): Likewise.
34892         * modules/strverscmp-tests (Files): Likewise.
34893         * modules/symlink-tests (Files): Likewise.
34894         * modules/symlinkat-tests (Files): Likewise.
34895         * modules/trunc-tests (Files): Likewise.
34896         * modules/truncf-tests (Files): Likewise.
34897         * modules/truncl-tests (Files): Likewise.
34898         * modules/uname-tests (Files): Likewise.
34899         * modules/unicase/cased-tests (Files): Likewise.
34900         * modules/unicase/ignorable-tests (Files): Likewise.
34901         * modules/unicase/locale-language-tests (Files): Likewise.
34902         * modules/unicase/tolower-tests (Files): Likewise.
34903         * modules/unicase/totitle-tests (Files): Likewise.
34904         * modules/unicase/toupper-tests (Files): Likewise.
34905         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34906         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34907         * modules/unicase/u8-casefold-tests (Files): Likewise.
34908         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34909         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34910         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34911         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34912         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34913         * modules/unicase/u8-tolower-tests (Files): Likewise.
34914         * modules/unicase/u8-totitle-tests (Files): Likewise.
34915         * modules/unicase/u8-toupper-tests (Files): Likewise.
34916         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34917         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34918         * modules/unicase/u16-casefold-tests (Files): Likewise.
34919         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34920         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34921         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34922         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34923         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34924         * modules/unicase/u16-tolower-tests (Files): Likewise.
34925         * modules/unicase/u16-totitle-tests (Files): Likewise.
34926         * modules/unicase/u16-toupper-tests (Files): Likewise.
34927         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34928         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34929         * modules/unicase/u32-casefold-tests (Files): Likewise.
34930         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34931         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34932         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34933         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34934         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34935         * modules/unicase/u32-tolower-tests (Files): Likewise.
34936         * modules/unicase/u32-totitle-tests (Files): Likewise.
34937         * modules/unicase/u32-toupper-tests (Files): Likewise.
34938         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34939         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34940         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34941         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34942         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34943         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34944         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34945         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34946         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34947         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34948         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34949         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34950         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34951         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34952         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34953         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34954         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34955         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34956         * modules/unictype/block-list-tests (Files): Likewise.
34957         * modules/unictype/block-of-tests (Files): Likewise.
34958         * modules/unictype/block-test-tests (Files): Likewise.
34959         * modules/unictype/category-C-tests (Files): Likewise.
34960         * modules/unictype/category-Cc-tests (Files): Likewise.
34961         * modules/unictype/category-Cf-tests (Files): Likewise.
34962         * modules/unictype/category-Cn-tests (Files): Likewise.
34963         * modules/unictype/category-Co-tests (Files): Likewise.
34964         * modules/unictype/category-Cs-tests (Files): Likewise.
34965         * modules/unictype/category-L-tests (Files): Likewise.
34966         * modules/unictype/category-Ll-tests (Files): Likewise.
34967         * modules/unictype/category-Lm-tests (Files): Likewise.
34968         * modules/unictype/category-Lo-tests (Files): Likewise.
34969         * modules/unictype/category-Lt-tests (Files): Likewise.
34970         * modules/unictype/category-Lu-tests (Files): Likewise.
34971         * modules/unictype/category-M-tests (Files): Likewise.
34972         * modules/unictype/category-Mc-tests (Files): Likewise.
34973         * modules/unictype/category-Me-tests (Files): Likewise.
34974         * modules/unictype/category-Mn-tests (Files): Likewise.
34975         * modules/unictype/category-N-tests (Files): Likewise.
34976         * modules/unictype/category-Nd-tests (Files): Likewise.
34977         * modules/unictype/category-Nl-tests (Files): Likewise.
34978         * modules/unictype/category-No-tests (Files): Likewise.
34979         * modules/unictype/category-P-tests (Files): Likewise.
34980         * modules/unictype/category-Pc-tests (Files): Likewise.
34981         * modules/unictype/category-Pd-tests (Files): Likewise.
34982         * modules/unictype/category-Pe-tests (Files): Likewise.
34983         * modules/unictype/category-Pf-tests (Files): Likewise.
34984         * modules/unictype/category-Pi-tests (Files): Likewise.
34985         * modules/unictype/category-Po-tests (Files): Likewise.
34986         * modules/unictype/category-Ps-tests (Files): Likewise.
34987         * modules/unictype/category-S-tests (Files): Likewise.
34988         * modules/unictype/category-Sc-tests (Files): Likewise.
34989         * modules/unictype/category-Sk-tests (Files): Likewise.
34990         * modules/unictype/category-Sm-tests (Files): Likewise.
34991         * modules/unictype/category-So-tests (Files): Likewise.
34992         * modules/unictype/category-Z-tests (Files): Likewise.
34993         * modules/unictype/category-Zl-tests (Files): Likewise.
34994         * modules/unictype/category-Zp-tests (Files): Likewise.
34995         * modules/unictype/category-Zs-tests (Files): Likewise.
34996         * modules/unictype/category-and-not-tests (Files): Likewise.
34997         * modules/unictype/category-and-tests (Files): Likewise.
34998         * modules/unictype/category-byname-tests (Files): Likewise.
34999         * modules/unictype/category-name-tests (Files): Likewise.
35000         * modules/unictype/category-none-tests (Files): Likewise.
35001         * modules/unictype/category-of-tests (Files): Likewise.
35002         * modules/unictype/category-or-tests (Files): Likewise.
35003         * modules/unictype/category-test-withtable-tests (Files): Likewise.
35004         * modules/unictype/combining-class-tests (Files): Likewise.
35005         * modules/unictype/ctype-alnum-tests (Files): Likewise.
35006         * modules/unictype/ctype-alpha-tests (Files): Likewise.
35007         * modules/unictype/ctype-blank-tests (Files): Likewise.
35008         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
35009         * modules/unictype/ctype-digit-tests (Files): Likewise.
35010         * modules/unictype/ctype-graph-tests (Files): Likewise.
35011         * modules/unictype/ctype-lower-tests (Files): Likewise.
35012         * modules/unictype/ctype-print-tests (Files): Likewise.
35013         * modules/unictype/ctype-punct-tests (Files): Likewise.
35014         * modules/unictype/ctype-space-tests (Files): Likewise.
35015         * modules/unictype/ctype-upper-tests (Files): Likewise.
35016         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
35017         * modules/unictype/decimal-digit-tests (Files): Likewise.
35018         * modules/unictype/digit-tests (Files): Likewise.
35019         * modules/unictype/mirror-tests (Files): Likewise.
35020         * modules/unictype/numeric-tests (Files): Likewise.
35021         * modules/unictype/property-alphabetic-tests (Files): Likewise.
35022         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
35023         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
35024         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
35025         Likewise.
35026         * modules/unictype/property-bidi-block-separator-tests (Files):
35027         Likewise.
35028         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
35029         Likewise.
35030         * modules/unictype/property-bidi-common-separator-tests (Files):
35031         Likewise.
35032         * modules/unictype/property-bidi-control-tests (Files): Likewise.
35033         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
35034         Likewise.
35035         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
35036         Likewise.
35037         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
35038         Likewise.
35039         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
35040         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
35041         Likewise.
35042         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
35043         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
35044         Likewise.
35045         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
35046         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
35047         * modules/unictype/property-bidi-segment-separator-tests (Files):
35048         Likewise.
35049         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
35050         * modules/unictype/property-byname-tests (Files): Likewise.
35051         * modules/unictype/property-combining-tests (Files): Likewise.
35052         * modules/unictype/property-composite-tests (Files): Likewise.
35053         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
35054         * modules/unictype/property-dash-tests (Files): Likewise.
35055         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
35056         * modules/unictype/property-default-ignorable-code-point-tests (Files):
35057         Likewise.
35058         * modules/unictype/property-deprecated-tests (Files): Likewise.
35059         * modules/unictype/property-diacritic-tests (Files): Likewise.
35060         * modules/unictype/property-extender-tests (Files): Likewise.
35061         * modules/unictype/property-format-control-tests (Files): Likewise.
35062         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
35063         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
35064         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
35065         * modules/unictype/property-hex-digit-tests (Files): Likewise.
35066         * modules/unictype/property-hyphen-tests (Files): Likewise.
35067         * modules/unictype/property-id-continue-tests (Files): Likewise.
35068         * modules/unictype/property-id-start-tests (Files): Likewise.
35069         * modules/unictype/property-ideographic-tests (Files): Likewise.
35070         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
35071         * modules/unictype/property-ids-trinary-operator-tests (Files):
35072         Likewise.
35073         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
35074         * modules/unictype/property-iso-control-tests (Files): Likewise.
35075         * modules/unictype/property-join-control-tests (Files): Likewise.
35076         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
35077         * modules/unictype/property-line-separator-tests (Files): Likewise.
35078         * modules/unictype/property-logical-order-exception-tests (Files):
35079         Likewise.
35080         * modules/unictype/property-lowercase-tests (Files): Likewise.
35081         * modules/unictype/property-math-tests (Files): Likewise.
35082         * modules/unictype/property-non-break-tests (Files): Likewise.
35083         * modules/unictype/property-not-a-character-tests (Files): Likewise.
35084         * modules/unictype/property-numeric-tests (Files): Likewise.
35085         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
35086         * modules/unictype/property-other-default-ignorable-code-point-tests
35087         (Files): Likewise.
35088         * modules/unictype/property-other-grapheme-extend-tests (Files):
35089         Likewise.
35090         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
35091         * modules/unictype/property-other-id-start-tests (Files): Likewise.
35092         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
35093         * modules/unictype/property-other-math-tests (Files): Likewise.
35094         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
35095         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
35096         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
35097         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
35098         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
35099         * modules/unictype/property-private-use-tests (Files): Likewise.
35100         * modules/unictype/property-punctuation-tests (Files): Likewise.
35101         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
35102         * modules/unictype/property-radical-tests (Files): Likewise.
35103         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
35104         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
35105         * modules/unictype/property-space-tests (Files): Likewise.
35106         * modules/unictype/property-terminal-punctuation-tests (Files):
35107         Likewise.
35108         * modules/unictype/property-test-tests (Files): Likewise.
35109         * modules/unictype/property-titlecase-tests (Files): Likewise.
35110         * modules/unictype/property-unassigned-code-value-tests (Files):
35111         Likewise.
35112         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
35113         * modules/unictype/property-uppercase-tests (Files): Likewise.
35114         * modules/unictype/property-variation-selector-tests (Files): Likewise.
35115         * modules/unictype/property-white-space-tests (Files): Likewise.
35116         * modules/unictype/property-xid-continue-tests (Files): Likewise.
35117         * modules/unictype/property-xid-start-tests (Files): Likewise.
35118         * modules/unictype/property-zero-width-tests (Files): Likewise.
35119         * modules/unictype/scripts-tests (Files): Likewise.
35120         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
35121         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
35122         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
35123         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
35124         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
35125         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
35126         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
35127         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
35128         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
35129         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
35130         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
35131         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
35132         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
35133         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
35134         * modules/uninorm/composition-tests (Files): Likewise.
35135         * modules/uninorm/decomposing-form-tests (Files): Likewise.
35136         * modules/uninorm/decomposition-tests (Files): Likewise.
35137         * modules/uninorm/filter-tests (Files): Likewise.
35138         * modules/uninorm/nfc-tests (Files): Likewise.
35139         * modules/uninorm/nfd-tests (Files): Likewise.
35140         * modules/uninorm/nfkc-tests (Files): Likewise.
35141         * modules/uninorm/nfkd-tests (Files): Likewise.
35142         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
35143         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
35144         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
35145         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
35146         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
35147         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
35148         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
35149         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
35150         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
35151         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
35152         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
35153         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
35154         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
35155         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
35156         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
35157         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
35158         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
35159         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
35160         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
35161         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
35162         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
35163         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
35164         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
35165         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
35166         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
35167         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
35168         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
35169         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
35170         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
35171         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
35172         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
35173         * modules/uniwidth/u8-width-tests (Files): Likewise.
35174         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
35175         * modules/uniwidth/u16-width-tests (Files): Likewise.
35176         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
35177         * modules/uniwidth/u32-width-tests (Files): Likewise.
35178         * modules/uniwidth/width-tests (Files): Likewise.
35179         * modules/unlink-tests (Files): Likewise.
35180         * modules/unsetenv-tests (Files): Likewise.
35181         * modules/usleep-tests (Files): Likewise.
35182         * modules/utimens-tests (Files): Likewise.
35183         * modules/utimensat-tests (Files): Likewise.
35184         * modules/vasnprintf-posix-tests (Files): Likewise.
35185         * modules/vasnprintf-tests (Files): Likewise.
35186         * modules/vasprintf-posix-tests (Files): Likewise.
35187         * modules/vasprintf-tests (Files): Likewise.
35188         * modules/vdprintf-posix-tests (Files): Likewise.
35189         * modules/vfprintf-posix-tests (Files): Likewise.
35190         * modules/vprintf-posix-tests (Files): Likewise.
35191         * modules/vsnprintf-posix-tests (Files): Likewise.
35192         * modules/vsnprintf-tests (Files): Likewise.
35193         * modules/vsprintf-posix-tests (Files): Likewise.
35194         * modules/wcrtomb-tests (Files): Likewise.
35195         * modules/wcsnrtombs-tests (Files): Likewise.
35196         * modules/wcsrtombs-tests (Files): Likewise.
35197         * modules/wctype-tests (Files): Likewise.
35198         * modules/wcwidth-tests (Files): Likewise.
35199         * modules/xmemdup0-tests (Files): Likewise.
35200         * modules/xprintf-posix-tests (Files): Likewise.
35201         * modules/xvasprintf-tests (Files): Likewise.
35202
35203 2009-12-24  Eric Blake  <ebb9@byu.net>
35204
35205         test-nanosleep: fix typo
35206         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
35207         patch.
35208         Reported by Bruno Haible.
35209
35210 2009-12-24  Bruno Haible  <bruno@clisp.org>
35211
35212         Reduce namespace pollution on glibc systems.
35213         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
35214         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
35215         systems.
35216         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
35217         <getopt.h> on glibc systems.
35218         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
35219         systems.
35220         * lib/fcntl.c: Include <unistd.h> here instead.
35221
35222 2009-12-24  Bruno Haible  <bruno@clisp.org>
35223
35224         * lib/stdlib.in.h (includes): Fix typo in today's commit.
35225
35226 2009-12-24  Eric Blake  <ebb9@byu.net>
35227
35228         tests: add signature checks
35229         * tests/signature.h (SIGNATURE_CHECK): New file.
35230         * modules/atexit-tests (Files): Use it.
35231         * modules/btowc-tests (Files): Likewise.
35232         * modules/canonicalize-lgpl-tests (Files): Likewise.
35233         * modules/ceilf-tests (Files): Likewise.
35234         * modules/ceill-tests (Files): Likewise.
35235         * modules/chown-tests (Files): Likewise.
35236         * modules/dprintf-posix-tests (Files): Likewise.
35237         * modules/dup2-tests (Files): Likewise.
35238         * modules/dup3-tests (Files): Likewise.
35239         * modules/duplocale-tests (Files): Likewise.
35240         * modules/fchdir-tests (Files): Likewise.
35241         * modules/fcntl-tests (Files): Likewise.
35242         * modules/fdopendir-tests (Files): Likewise.
35243         * modules/fflush-tests (Files): Likewise.
35244         * modules/flock-tests (Files): Likewise.
35245         * modules/floorf-tests (Files): Likewise.
35246         * modules/floorl-tests (Files): Likewise.
35247         * modules/fnmatch-tests (Files): Likewise.
35248         * modules/fopen-tests (Files): Likewise.
35249         * modules/fprintf-posix-tests (Files): Likewise.
35250         * modules/freopen-tests (Files): Likewise.
35251         * modules/frexp-nolibm-tests (Files): Likewise.
35252         * modules/frexp-tests (Files): Likewise.
35253         * modules/frexpl-nolibm-tests (Files): Likewise.
35254         * modules/frexpl-tests (Files): Likewise.
35255         * modules/fseek-tests (Files): Likewise.
35256         * modules/fseeko-tests (Files): Likewise.
35257         * modules/fsync-tests (Files): Likewise.
35258         * modules/ftell-tests (Files): Likewise.
35259         * modules/ftello-tests (Files): Likewise.
35260         * modules/futimens-tests (Files): Likewise.
35261         * modules/getaddrinfo-tests (Files): Likewise.
35262         * modules/getcwd-tests (Files): Likewise.
35263         * modules/getdelim-tests (Files): Likewise.
35264         * modules/getdtablesize-tests (Files): Likewise.
35265         * modules/getgroups-tests (Files): Likewise.
35266         * modules/gethostname-tests (Files): Likewise.
35267         * modules/getline-tests (Files): Likewise.
35268         * modules/getopt-posix-tests (Files): Likewise.
35269         * modules/gettimeofday-tests (Files): Likewise.
35270         * modules/glob-tests (Files): Likewise.
35271         * modules/iconv-tests (Files): Likewise.
35272         * modules/inet_ntop-tests (Files): Likewise.
35273         * modules/inet_pton-tests (Files): Likewise.
35274         * modules/isblank-tests (Files): Likewise.
35275         * modules/lchown-tests (Files): Likewise.
35276         * modules/ldexpl-tests (Files): Likewise.
35277         * modules/link-tests (Files): Likewise.
35278         * modules/linkat-tests (Files): Likewise.
35279         * modules/lseek-tests (Files): Likewise.
35280         * modules/lstat-tests (Files): Likewise.
35281         * modules/mbrtowc-tests (Files): Likewise.
35282         * modules/mbsinit-tests (Files): Likewise.
35283         * modules/mbsnrtowcs-tests (Files): Likewise.
35284         * modules/mbsrtowcs-tests (Files): Likewise.
35285         * modules/memchr-tests (Files): Likewise.
35286         * modules/memcmp-tests (Files): Likewise.
35287         * modules/memmem-tests (Files): Likewise.
35288         * modules/memrchr-tests (Files): Likewise.
35289         * modules/mkdir-tests (Files): Likewise.
35290         * modules/mkfifo-tests (Files): Likewise.
35291         * modules/mkfifoat-tests (Files): Likewise.
35292         * modules/mknod-tests (Files): Likewise.
35293         * modules/nanosleep-tests (Files): Likewise.
35294         * modules/nl_langinfo-tests (Files): Likewise.
35295         * modules/obstack-printf-tests (Files): Likewise.
35296         * modules/open-tests (Files): Likewise.
35297         * modules/openat-tests (Files): Likewise.
35298         * modules/perror-tests (Files): Likewise.
35299         * modules/pipe2-tests (Files): Likewise.
35300         * modules/poll-tests (Files): Likewise.
35301         * modules/popen-tests (Files): Likewise.
35302         * modules/posix_spawn-tests (Files): Likewise.
35303         * modules/posix_spawnp-tests (Files): Likewise.
35304         * modules/pread-tests (Files): Likewise.
35305         * modules/printf-posix-tests (Files): Likewise.
35306         * modules/pty-tests (Files): Likewise.
35307         * modules/random_r-tests (Files): Likewise.
35308         * modules/rawmemchr-tests (Files): Likewise.
35309         * modules/readlink-tests (Files): Likewise.
35310         * modules/remove-tests (Files): Likewise.
35311         * modules/rename-tests (Files): Likewise.
35312         * modules/renameat-tests (Files): Likewise.
35313         * modules/rmdir-tests (Files): Likewise.
35314         * modules/round-tests (Files): Likewise.
35315         * modules/roundf-tests (Files): Likewise.
35316         * modules/roundl-tests (Files): Likewise.
35317         * modules/select-tests (Files): Likewise.
35318         * modules/setenv-tests (Files): Likewise.
35319         * modules/sigaction-tests (Files): Likewise.
35320         * modules/sleep-tests (Files): Likewise.
35321         * modules/snprintf-posix-tests (Files): Likewise.
35322         * modules/snprintf-tests (Files): Likewise.
35323         * modules/sprintf-posix-tests (Files): Likewise.
35324         * modules/stat-tests (Files): Likewise.
35325         * modules/strcasestr-tests (Files): Likewise.
35326         * modules/strchrnul-tests (Files): Likewise.
35327         * modules/strerror-tests (Files): Likewise.
35328         * modules/strsignal-tests (Files): Likewise.
35329         * modules/strstr-tests (Files): Likewise.
35330         * modules/strtod-tests (Files): Likewise.
35331         * modules/strverscmp-tests (Files): Likewise.
35332         * modules/symlink-tests (Files): Likewise.
35333         * modules/symlinkat-tests (Files): Likewise.
35334         * modules/times-tests (Files): Likewise.
35335         * modules/trunc-tests (Files): Likewise.
35336         * modules/truncf-tests (Files): Likewise.
35337         * modules/truncl-tests (Files): Likewise.
35338         * modules/tsearch-tests (Files): Likewise.
35339         * modules/uname-tests (Files): Likewise.
35340         * modules/unlink-tests (Files): Likewise.
35341         * modules/unsetenv-tests (Files): Likewise.
35342         * modules/usleep-tests (Files): Likewise.
35343         * modules/utimensat-tests (Files): Likewise.
35344         * modules/vasprintf-tests (Files): Likewise.
35345         * modules/vdprintf-posix-tests (Files): Likewise.
35346         * modules/vfprintf-posix-tests (Files): Likewise.
35347         * modules/vprintf-posix-tests (Files): Likewise.
35348         * modules/vsnprintf-posix-tests (Files): Likewise.
35349         * modules/vsnprintf-tests (Files): Likewise.
35350         * modules/vsprintf-posix-tests (Files): Likewise.
35351         * modules/wcrtomb-tests (Files): Likewise.
35352         * modules/wcsnrtombs-tests (Files): Likewise.
35353         * modules/wcsrtombs-tests (Files): Likewise.
35354         * modules/wcwidth-tests (Files): Likewise.
35355         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
35356         * tests/test-isinf.c (isinf): Likewise.
35357         * tests/test-isnan.c (isnan): Likewise.
35358         * tests/test-signbit.c (signbit): Likewise.
35359         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
35360         declaration, either as macro or with correct signature.
35361         (select): Ensure function under test is declared with correct
35362         signature in correct header.
35363         * tests/test-atexit.c (atexit): Likewise.
35364         * tests/test-btowc.c (btowc): Likewise.
35365         * tests/test-canonicalize-lgpl.c (realpath)
35366         (canonicalize_file_name): Likewise.
35367         * tests/test-ceilf1.c (ceilf): Likewise.
35368         * tests/test-ceill.c (ceill): Likewise.
35369         * tests/test-chown.c (chown): Likewise.
35370         * tests/test-dprintf-posix.c (dprintf): Likewise.
35371         * tests/test-dup2.c (dup2): Likewise.
35372         * tests/test-dup3.c (dup3): Likewise.
35373         * tests/test-duplocale.c (duplocale): Likewise.
35374         * tests/test-fchdir.c (fchdir): Likewise.
35375         * tests/test-fchownat.c (fchownat): Likewise.
35376         * tests/test-fcntl.c (fcntl): Likewise.
35377         * tests/test-fdopendir.c (fdopendir): Likewise.
35378         * tests/test-fflush.c (fflush): Likewise.
35379         * tests/test-flock.c (flock): Likewise.
35380         * tests/test-floorf1.c (floorf): Likewise.
35381         * tests/test-floorl.c (floorl): Likewise.
35382         * tests/test-fnmatch.c (fnmatch): Likewise.
35383         * tests/test-fopen.c (fopen): Likewise.
35384         * tests/test-fprintf-posix.c (fprintf): Likewise.
35385         * tests/test-freopen.c (freopen): Likewise.
35386         * tests/test-frexp.c (frexp): Likewise.
35387         * tests/test-frexpl.c (frexpl): Likewise.
35388         * tests/test-fseek.c (fseek): Likewise.
35389         * tests/test-fseeko.c (fseeko): Likewise.
35390         * tests/test-fstatat.c (fstatat): Likewise.
35391         * tests/test-fsync.c (fsync): Likewise.
35392         * tests/test-ftell.c (ftell): Likewise.
35393         * tests/test-ftello.c (ftello): Likewise.
35394         * tests/test-futimens.c (futimens): Likewise.
35395         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
35396         (gai_strerror): Likewise.
35397         * tests/test-getcwd.c (getcwd): Likewise.
35398         * tests/test-getdelim.c (getdelim): Likewise.
35399         * tests/test-getdtablesize.c (getdtablesize): Likewise.
35400         * tests/test-getgroups.c (getgroups): Likewise.
35401         * tests/test-gethostname.c (gethostname): Likewise.
35402         * tests/test-getline.c (getline): Likewise.
35403         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
35404         Likewise.
35405         * tests/test-gettimeofday.c (gettimeofday): Likewise.
35406         * tests/test-glob.c (glob, globfree): Likewise.
35407         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
35408         * tests/test-inet_ntop.c (inet_ntop): Likewise.
35409         * tests/test-inet_pton.c (inet_pton): Likewise.
35410         * tests/test-isblank.c (isblank): Likewise.
35411         * tests/test-lchown.c (lchown): Likewise.
35412         * tests/test-ldexpl.c (ldexpl): Likewise.
35413         * tests/test-link.c (link): Likewise.
35414         * tests/test-linkat.c (linkat): Likewise.
35415         * tests/test-lseek.c (lseek): Likewise.
35416         * tests/test-lstat.c (lstat): Likewise.
35417         * tests/test-mbrtowc.c (mbrtowc): Likewise.
35418         * tests/test-mbsinit.c (mbsinit): Likewise.
35419         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
35420         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
35421         * tests/test-memchr.c (memchr): Likewise.
35422         * tests/test-memcmp.c (memcmp): Likewise.
35423         * tests/test-memmem.c (memmem): Likewise.
35424         * tests/test-memrchr.c (memrchr): Likewise.
35425         * tests/test-mkdir.c (mkdir): Likewise.
35426         * tests/test-mkdirat.c (mkdirat): Likewise.
35427         * tests/test-mkfifo.c (mkfifo): Likewise.
35428         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
35429         * tests/test-mknod.c (mknod): Likewise.
35430         * tests/test-nanosleep.c (nanosleep): Likewise.
35431         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
35432         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
35433         Likewise.
35434         * tests/test-open.c (open): Likewise.
35435         * tests/test-openat.c (openat): Likewise.
35436         * tests/test-perror.c (perror): Likewise.
35437         * tests/test-pipe2.c (pipe2): Likewise.
35438         * tests/test-poll.c (poll): Likewise.
35439         * tests/test-popen.c (popen, pclose): Likewise.
35440         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35441         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35442         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35443         (posix_spawn_file_actions_destroy)
35444         (posix_spawn_file_actions_addclose)
35445         (posix_spawn_file_actions_addopen)
35446         (posix_spawn_file_actions_adddup2): Likewise.
35447         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35448         * tests/test-pread.c (pread): Likewise.
35449         * tests/test-printf-posix.c (printf): Likewise.
35450         * tests/test-pty.c (openpty, forkpty): Likewise.
35451         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35452         (random_r): Likewise.
35453         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35454         * tests/test-readlink.c (readlink): Likewise.
35455         * tests/test-remove.c (remove): Likewise.
35456         * tests/test-rename.c (rename): Likewise.
35457         * tests/test-renameat.c (renameat): Likewise.
35458         * tests/test-rmdir.c (rmdir): Likewise.
35459         * tests/test-round1.c (round): Likewise.
35460         * tests/test-roundf1.c (roundf): Likewise.
35461         * tests/test-roundl.c (roundl): Likewise.
35462         * tests/test-setenv.c (setenv): Likewise.
35463         * tests/test-sigaction.c (sigaction): Likewise.
35464         * tests/test-sleep.c (sleep): Likewise.
35465         * tests/test-snprintf.c (snprintf): Likewise.
35466         * tests/test-sprintf-posix.c (sprintf): Likewise.
35467         * tests/test-stat.c (stat): Likewise.
35468         * tests/test-stpncpy.c (stpncpy): Likewise.
35469         * tests/test-strcasestr.c (strcasestr): Likewise.
35470         * tests/test-strchrnul.c (strchrnul): Likewise.
35471         * tests/test-strerror.c (strerror): Likewise.
35472         * tests/test-strsignal.c (strsignal): Likewise.
35473         * tests/test-strstr.c (strstr): Likewise.
35474         * tests/test-strtod.c (strtod): Likewise.
35475         * tests/test-strverscmp.c (strverscmp): Likewise.
35476         * tests/test-symlink.c (symlink): Likewise.
35477         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35478         * tests/test-times.c (times): Likewise.
35479         * tests/test-trunc1.c (trunc): Likewise.
35480         * tests/test-truncf1.c (truncf): Likewise.
35481         * tests/test-truncl.c (truncl): Likewise.
35482         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35483         Likewise.
35484         * tests/test-uname.c (uname): Likewise.
35485         * tests/test-unlink.c (unlink): Likewise.
35486         * tests/test-unlinkat.c (unlinkat): Likewise.
35487         * tests/test-unsetenv.c (unsetenv): Likewise.
35488         * tests/test-usleep.c (usleep): Likewise.
35489         * tests/test-utimensat.c (utimensat): Likewise.
35490         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35491         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35492         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35493         * tests/test-vprintf-posix.c (vprintf): Likewise.
35494         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35495         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35496         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35497         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35498         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35499         * tests/test-wcwidth.c (wcwidth): Likewise.
35500
35501         build: pull in conditional headers during GNULIB_POSIXCHECK
35502         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35503         definitions from any conditionally-included headers.
35504         * lib/stdlib.in.h (includes): Likewise.
35505         * lib/unistd.in.h (includes): Likewise.
35506
35507 2009-12-24  Bruno Haible  <bruno@clisp.org>
35508
35509         * tests/test-argv-iter.c: Include header file being tested immediately
35510         after config.h.
35511         * tests/test-base64.c: Likewise.
35512         * tests/test-flock.c: Likewise.
35513         * tests/test-fsync.c: Likewise.
35514         * tests/test-getdate.c: Likewise.
35515         * tests/test-getndelim2.c: Likewise.
35516         * tests/test-isfinite.c: Likewise.
35517         * tests/test-isinf.c: Likewise.
35518         * tests/test-strerror.c: Likewise.
35519         * tests/test-strsignal.c: Likewise.
35520
35521 2009-12-23  Eric Blake  <ebb9@byu.net>
35522
35523         unistd: work around cygwin bug
35524         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35525         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35526         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35527
35528 2009-12-23  Bruno Haible  <bruno@clisp.org>
35529
35530         localename: More tests.
35531         * tests/test-localename.c (SIZEOF): New macro.
35532         (categories): New variable.
35533         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35534         test_locale_name_default): Add test w.r.t. thread locale.
35535         (test_locale_name_thread): New function.
35536         (main): Invoke it.
35537
35538         localename: Make aware of thread locale.
35539         * lib/localename.h (gl_locale_name_thread): New declaration.
35540         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35541         behaviour with respect to thread locale.
35542         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35543         <langinfo.h>, glthread/lock.h.
35544         (SIZE_BITS): New macro.
35545         (string_hash): New function.
35546         (struct hash_node): New type.
35547         (HASH_TABLE_SIZE): New macro.
35548         (struniq_hash_table, struniq_lock): New variables.
35549         (struniq): New function.
35550         (gl_locale_name_thread): New function.
35551         (gl_locale_name): Invoke it.
35552         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35553         * modules/localename (Depends-on): Add lock.
35554         Reported by Mike Gran <spk121@yahoo.com>.
35555
35556 2009-12-23  Eric Blake  <ebb9@byu.net>
35557
35558         va-args: new module
35559         * modules/va-args: New file.
35560         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35561         * MODULES.html.sh (Core language properties): Mention it.
35562
35563         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35564         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35565         named alias for __attribute__((__unused__)).
35566         * lib/chown.c: Update client.
35567         * lib/fchmodat.c: Likewise.
35568         * lib/fts.c: Likewise.
35569         * lib/getdate.y: Likewise.
35570         * lib/getgroups.c: Likewise.
35571         * lib/getopt.c: Likewise.
35572         * lib/getugroups.c: Likewise.
35573         * lib/mkdir.c: Likewise.
35574         * lib/mkfifo.c: Likewise.
35575         * lib/mkfifoat.c: Likewise.
35576         * lib/mknod.c: Likewise.
35577         * lib/mknodat.c: Likewise.
35578         * lib/readlink.c: Likewise.
35579         * lib/se-context.in.h: Likewise.
35580         * lib/se-selinux.in.h: Likewise.
35581         * lib/sockets.c: Likewise.
35582         * lib/symlink.c: Likewise.
35583         * lib/symlinkat.c: Likewise.
35584         * lib/unicodeio.c: Likewise.
35585         * lib/unistr.h: Likewise.
35586         * tests/test-areadlink.c: Likewise.
35587         * tests/test-areadlinkat.c: Likewise.
35588         * tests/test-filenamecat.c: Likewise.
35589         * tests/test-fseeko.c: Likewise.
35590         * tests/test-ftello.c: Likewise.
35591         * tests/test-getdate.c: Likewise.
35592         * tests/test-getgroups.c: Likewise.
35593         * tests/test-gethostname.c: Likewise.
35594         * tests/test-quotearg.c: Likewise.
35595         * tests/test-version-etc.c: Likewise.
35596         * tests/test-xalloc-die.c: Likewise.
35597         * tests/test-xfprintf-posix.c: Likewise.
35598         * tests/test-xprintf-posix.c: Likewise.
35599         * tests/test-xvasprintf.c: Likewise.
35600
35601         tests: avoid compiler warnings
35602         * tests/test-fcntl.c (main): Delete unused parameters.
35603         * tests/test-freopen-safer.c (main): Likewise.
35604         * tests/test-xalloc-die.c (main): Mark unused parameters.
35605         * tests/test-fseeko.c (main): Likewise.
35606         * tests/test-ftello.c (main): Likewise.
35607         * tests/test-nanosleep.c (main): Avoid declaration warning.
35608         * tests/test-sleep.c (main): Likewise.
35609         * tests/test-unsetenv.c (main): Silence warning about string
35610         literal.
35611         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35612
35613 2009-12-23  Bruno Haible  <bruno@clisp.org>
35614
35615         * tests/test-localename.c (test_locale_name): New function, extracted
35616         from main. Also test mixed situations.
35617         (test_locale_name_posix, test_locale_name_environ,
35618         test_locale_name_default): New functions.
35619         (main): Invoke them all.
35620         * modules/localename-tests (configure.ac): Test for newlocale.
35621
35622 2009-12-23  Bruno Haible  <bruno@clisp.org>
35623
35624         unistd: Ensure getcwd gets declared before being overridden.
35625         * lib/unistd.in.h: Conditionally include <io.h>.
35626
35627 2009-12-22  Bruno Haible  <bruno@clisp.org>
35628
35629         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35630         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35631         (gl_WCHAR_H): Invoke it.
35632         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35633         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35634         Reported by Karl Berry <karl@freefriends.org>.
35635
35636 2009-12-22  Eric Blake  <ebb9@byu.net>
35637
35638         math, unistd: avoid redundant includes
35639         * lib/math.in.h (isnan): No need to re-include <math.h>.
35640         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35641
35642         getsubopt: work around cygwin bug
35643         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35644         avoid conflicting with system getsubopt.
35645         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35646         bug.
35647
35648         getopt: synchronize from glibc
35649         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35650         parameter order.  Adjust all callers.
35651         (_getopt_internal_r, main): Adjust quoting in error messages.
35652         Drop considerations for outdated POSIX 1003.2 error message.
35653         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35654         callers.
35655         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35656
35657         test-getopt: test stderr behavior
35658         * modules/getopt-posix-tests (Depends-on): Add dup2.
35659         * tests/test-getopt.c (ASSERT): Avoid stderr.
35660         (main): Move stderr to a temporary file.
35661         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35662         Instead, add parameter to inform caller if output occurred.
35663         (test_getopt): Adjust all existing tests to expect silence, and
35664         add new tests of leading ":".
35665         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35666         glibc shortcomings with leading "-:" or "+:" in optstring.
35667         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35668         Likewise.
35669         * doc/posix-functions/getopt.texi (getopt): Likewise.
35670
35671         test-getopt: enhance test
35672         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35673         supports optind=0.
35674         * tests/test-getopt.c (OPTIND_MIN): Move...
35675         * tests/test-getopt.h (OPTIND_MIN): ...here.
35676         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35677         Require that optind=0 works, since modern BSD supports it in
35678         addition to optreset, and since coreutils expects it.
35679         (test_getopt_long_only): New test.
35680         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35681         glibc shortcomings with 'W;', and enforcement of optind=0.
35682         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35683         Likewise.
35684
35685 2009-12-21  Bruno Haible  <bruno@clisp.org>
35686
35687         localename: Improvements for MacOS X and Cygwin.
35688         * lib/localename.h (gl_locale_name_environ): New declaration.
35689         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35690         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35691         (gl_locale_name_posix): Invoke it.
35692         (gl_locale_name_default): Add comments. Use Windows native API also on
35693         Cygwin.
35694
35695 2009-12-21  Bruno Haible  <bruno@clisp.org>
35696
35697         Update list of Win32 locale ids.
35698         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35699         (LANG_SAMI): Renamed from LANG_SAAMI.
35700         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35701         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35702         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35703         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35704         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35705         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35706         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35707         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35708         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35709         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35710         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35711         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35712         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35713         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35714         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35715         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35716         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35717         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35718         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35719         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35720         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35721         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35722         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35723         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35724         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35725         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35726         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35727         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35728         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35729         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35730         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35731         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35732         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35733         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35734         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35735         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35736         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35737         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35738         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35739         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35740         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35741         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35742         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35743         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35744         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35745         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35746         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35747         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35748         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35749         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35750         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35751         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35752         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35753         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35754         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35755         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35756         Add more languages and countries for Sami, Sorbian. Add more countries
35757         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35758         for Pashto. Change country for Syriac, Tswana.
35759
35760 2009-12-21  Eric Blake  <ebb9@byu.net>
35761
35762         test-utimens: avoid spurious failure
35763         * tests/test-chown.h (nap): Factor...
35764         * tests/nap.h: ...into new file.
35765         * tests/test-lchown.h (nap): Avoid duplication.
35766         * tests/test-utimens-common.h (nap): Use shared implementation,
35767         necessary on file systems with 1-second resolution.
35768         * modules/chown-tests (Files): Include new file.
35769         * modules/fdutimensat-tests (Files): Likewise.
35770         * modules/futimens-tests (Files): Likewise.
35771         * modules/lchown-tests (Files): Likewise.
35772         * modules/openat-tests (Files): Likewise.
35773         * modules/utimens-tests (Files): Likewise.
35774         * modules/utimensat-tests (Files): Likewise.
35775
35776 2009-12-19  Eric Blake  <ebb9@byu.net>
35777
35778         futimens, utimensat: work around Linux bug
35779         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35780         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35781         * lib/utimensat.c (rpl_utimensat): Work around it.
35782         * lib/futimens.c (rpl_futimens): Adjust comment.
35783
35784         utimens: work around Linux ctime bug
35785         * lib/utimens.c (detect_ctime_bug): New helper function.
35786         (update_timespec): Differentiate between workaround needed for
35787         this bug vs. what is needed for systems that lack utimensat.
35788         (fdutimens, lutimens): Work around bug.
35789
35790         utimens: check for ctime update
35791         * tests/test-utimens-common.h (check_ctime): Define.
35792         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35793         * tests/test-futimens.h (test_futimens): Likewise.
35794         * tests/test-lutimens.h (test_lutimens): Likewise.
35795         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35796         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35797
35798 2009-12-19  Bruno Haible  <bruno@clisp.org>
35799
35800         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35801         * tests/test-dprintf-posix2.sh: New file.
35802         * tests/test-dprintf-posix2.c: New file.
35803         * modules/dprintf-posix-tests (Files): Add them.
35804         (configure.ac): Check for getrlimit and setrlimit.
35805         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35806
35807 2009-12-19  Bruno Haible  <bruno@clisp.org>
35808
35809         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35810         * tests/test-fprintf-posix3.sh: New file.
35811         * tests/test-fprintf-posix3.c: New file.
35812         * modules/fprintf-posix-tests (Files): Add them.
35813         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35814
35815 2009-12-19  Eric Blake  <ebb9@byu.net>
35816
35817         dirfd: fix prototype
35818         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35819         * lib/dirfd.c (dirfd): Likewise.
35820
35821         canonicalize: reduce memory usage
35822         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35823         allocation to size.
35824         Reported by Solar Designer <solar@openwall.com>.
35825
35826 2009-12-19  Bruno Haible  <bruno@clisp.org>
35827
35828         New module attribute 'Applicability'.
35829         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35830         * gnulib-tool: New option --extract-applicability.
35831         (func_usage): Document it.
35832         (sed_extract_prog): Recognize it.
35833         (func_get_applicability): New function.
35834         (func_import): Generalize handling of 'link-warning' module.
35835         * modules/link-warning (Applicability): New section.
35836         * modules/arg-nonnull (Applicability): New section.
35837         Repoted by Simon Josefsson <simon@josefsson.org>.
35838
35839 2009-12-19  Bruno Haible  <bruno@clisp.org>
35840
35841         fflush: tweak
35842         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35843         * lib/fseeko.c (rpl_fseeko): Likewise.
35844
35845 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35846
35847         * lib/gl_list.h: Fix typo in comment.
35848
35849 2009-12-16  Eric Blake  <ebb9@byu.net>
35850
35851         fcntl: use to simplify other modules
35852         * modules/cloexec (Depends-on): Add fcntl.
35853         * modules/fchdir (Depends-on): Likewise.
35854         * modules/fd-safer-flag (Depends-on): Likewise.
35855         * modules/unistd-safer (Depends-on): Likewise.
35856         * modules/dup3 (configure.ac): Set module indicator.
35857         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35858         missing.
35859         * lib/fchdir.c (_gl_register_dup): Fix comment.
35860         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35861         * lib/dup-safer.c (dup_safer): Likewise.
35862         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35863         * lib/dup3.c (dup3): Likewise.
35864         * tests/test-fchdir.c (main): Enhance test.
35865         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
35866
35867         fcntl: port portions of fcntl to mingw
35868         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35869         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35870         replacement for mingw.
35871         * modules/fcntl (Description): Update.
35872         (Depends-on): Add dup2.
35873         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35874         * modules/fcntl-h (Makefile.am): Substitute it.
35875         * lib/fcntl.in.h (fcntl): Update declaration.
35876         (F_DUPFD, F_GETFD): New macros, when needed.
35877         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35878         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35879         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35880         we now guarantee.
35881
35882         fcntl: work around cygwin bug in F_DUPFD
35883         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35884         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35885         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35886         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35887         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35888
35889         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35890         * modules/fcntl (Files): List new files.
35891         (configure.ac): Run a test.
35892         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35893         * lib/fcntl.c (rpl_fcntl): Likewise.
35894         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35895         (gl_FCNTL_H): Always replace fcntl.h.
35896         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35897         * lib/fcntl.in.h (fcntl): Declare replacement.
35898         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35899         needed, plus a witness.
35900         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35901         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35902         * tests/test-fcntl.c: New file.
35903         * modules/fcntl-tests: Likewise.
35904
35905         binary-io: avoid potential compilation warning
35906         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35907         directives.
35908
35909         fflush: avoid compilation error on NetBSD
35910         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35911         between off_t and fpos_t, since the latter is sometimes a struct.
35912         * lib/fseeko.c (rpl_fseeko): Likewise.
35913         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35914
35915 2009-12-15  Eric Blake  <ebb9@byu.net>
35916
35917         fcntl-h, stdio, sys_ioctl: fix declarations
35918         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35919         function must not take arguments.
35920         * lib/sys_ioctl.in.h (ioctl): Likewise.
35921         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35922         (open): Add a link warning.
35923
35924 2009-12-15  Jim Meyering  <meyering@redhat.com>
35925
35926         areadlink, areadlink-with-size: relax license to LGPLv2+
35927         * modules/areadlink (License): Relax to LGPLv2+.
35928         * modules/areadlink-with-size (License): Likewise.
35929
35930 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35931             Bruno Haible  <bruno@clisp.org>
35932
35933         *printf: Fix memory leak.
35934         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35935         * lib/vfprintf.c (vfprintf): Likewise.
35936         * lib/dprintf.c (dprintf): Likewise.
35937         * lib/vdprintf.c (vdprintf): Likewise.
35938
35939 2009-12-14  Eric Blake  <ebb9@byu.net>
35940
35941         accept4: adjust module dependencies
35942         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35943
35944         utimens: one more try at avoiding compiler warning
35945         * lib/utimens.c (lutimens): Lower scope of result.
35946
35947 2009-12-13  Bruno Haible  <bruno@clisp.org>
35948
35949         Move the malloc checking from module 'list' to new module 'xlist'.
35950         * modules/xlist: New file.
35951         * lib/gl_xlist.h: New file.
35952         * lib/gl_xlist.c: New file.
35953         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35954         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35955         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35956         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35957         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35958         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35959         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35960         gl_sortedlist_nx_add): New declarations.
35961         (struct gl_list_implementation): Rename and change methods accordingly.
35962         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35963         (gl_list_nx_create): Renamed from gl_list_create.
35964         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35965         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35966         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35967         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35968         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35969         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35970         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35971         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35972         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35973         gl_list_create_empty.
35974         (gl_list_nx_create): Renamed from gl_list_create.
35975         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35976         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35977         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35978         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35979         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35980         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35981         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35982         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35983         * lib/gl_array_list.c: Don't include xalloc.h.
35984         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35985         NULL upon out-of-memory.
35986         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35987         out-of-memory.
35988         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35989         Change return type to 'int'.
35990         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35991         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35992         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35993         upon out-of-memory.
35994         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35995         upon out-of-memory.
35996         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35997         upon out-of-memory.
35998         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35999         upon out-of-memory.
36000         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
36001         out-of-memory.
36002         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
36003         Update.
36004         (gl_array_list_implementation): Update.
36005         * lib/gl_carray_list.c: Don't include xalloc.h.
36006         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
36007         Return NULL upon out-of-memory.
36008         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
36009         out-of-memory.
36010         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
36011         Change return type to 'int'.
36012         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
36013         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
36014         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
36015         upon out-of-memory.
36016         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
36017         upon out-of-memory.
36018         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
36019         out-of-memory.
36020         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
36021         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
36022         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
36023         Update.
36024         (gl_carray_list_implementation): Update.
36025         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
36026         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
36027         gl_linked_create_empty. Return NULL upon out-of-memory.
36028         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
36029         out-of-memory.
36030         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
36031         Change return type to 'int'. Return -1 upon out-of-memory.
36032         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
36033         out-of-memory.
36034         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
36035         upon out-of-memory.
36036         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
36037         upon out-of-memory.
36038         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
36039         NULL upon out-of-memory.
36040         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
36041         upon out-of-memory.
36042         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
36043         out-of-memory.
36044         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
36045         Update.
36046         * lib/gl_linked_list.c: Don't include xalloc.h.
36047         (gl_linked_list_implementation): Update.
36048         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
36049         (add_to_bucket): Change return type to 'int'.
36050         (gl_linkedhash_list_implementation): Update.
36051         * lib/gl_anytree_list1.h (free_subtree): New function.
36052         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
36053         gl_tree_create_empty. Return NULL upon out-of-memory.
36054         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
36055         Change return type to 'int'. Return -1 upon out-of-memory.
36056         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
36057         out-of-memory.
36058         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
36059         (gl_tree_remove_node): New function, moved here from
36060         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
36061         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
36062         Update.
36063         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
36064         malloc, not xmalloc. Return NULL upon out-of-memory.
36065         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36066         out-of-memory.
36067         (gl_tree_remove_node_from_tree): New function, extracted from
36068         gl_tree_remove_node.
36069         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36070         upon out-of-memory.
36071         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36072         out-of-memory.
36073         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36074         upon out-of-memory.
36075         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36076         upon out-of-memory.
36077         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36078         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
36079         not xmalloc. Return NULL upon out-of-memory.
36080         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
36081         out-of-memory.
36082         (gl_tree_remove_node_from_tree): New function, extracted from
36083         gl_tree_remove_node.
36084         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
36085         upon out-of-memory.
36086         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
36087         out-of-memory.
36088         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
36089         upon out-of-memory.
36090         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
36091         upon out-of-memory.
36092         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
36093         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
36094         gl_anytree_list1.h before gl_anyavltree_list2.h.
36095         (gl_avltree_list_implementation): Update.
36096         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
36097         gl_anytree_list1.h before gl_anyavltree_list2.h.
36098         (gl_rbtree_list_implementation): Update.
36099         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
36100         Change return type to 'int'. Return -1 upon out-of-memory. Use
36101         __builtin_expect.
36102         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
36103         (gl_avltreehash_list_implementation): Update.
36104         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
36105         (gl_rbtreehash_list_implementation): Update.
36106         * modules/array-list (Depends-on): Remove xalloc.
36107         * modules/carray-list (Depends-on): Likewise.
36108         * modules/linked-list (Depends-on): Likewise.
36109         * modules/linkedhash-list (Depends-on): Likewise.
36110         * modules/avltree-list (Depends-on): Likewise.
36111         * modules/rbtree-list (Depends-on): Likewise.
36112         * modules/avltreehash-list (Depends-on): Likewise.
36113         * modules/rbtreehash-list (Depends-on): Likewise.
36114
36115         * modules/xsublist: New file.
36116         * lib/gl_xsublist.h: New file.
36117         * lib/gl_xsublist.c: New file.
36118         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
36119         (gl_sublist_nx_create): New declaration.
36120         * lib/gl_sublist.c: Don't include xalloc.h.
36121         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
36122         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
36123         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
36124         Change return type to 'int'. Return -1 upon out-of-memory.
36125         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
36126         upon out-of-memory.
36127         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
36128         NULL upon out-of-memory.
36129         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
36130         upon out-of-memory.
36131         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
36132         NULL upon out-of-memory.
36133         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
36134         NULL upon out-of-memory.
36135         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
36136         upon out-of-memory.
36137         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
36138         (gl_sublist_list_implementation): Update.
36139         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
36140         upon out-of-memory.
36141         * modules/sublist (Depends-on): Remove xalloc.
36142
36143         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
36144         * tests/test-carray_list.c: Likewise.
36145         * tests/test-linked_list.c: Likewise.
36146         * tests/test-linkedhash_list.c: Likewise.
36147         * tests/test-avltree_list.c: Likewise.
36148         * tests/test-rbtree_list.c: Likewise.
36149         * tests/test-avltreehash_list.c: Likewise.
36150         * tests/test-rbtreehash_list.c: Likewise.
36151         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
36152         * modules/carray-list-tests (Makefile.am): Likewise.
36153         * modules/linked-list-tests (Makefile.am): Likewise.
36154         * modules/linkedhash-list-tests (Makefile.am): Likewise.
36155         * modules/avltree-list-tests (Makefile.am): Likewise.
36156         * modules/rbtree-list-tests (Makefile.am): Likewise.
36157         * modules/avltreehash-list-tests (Makefile.am): Likewise.
36158         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
36159
36160         * NEWS: Mention the changes.
36161
36162         * lib/clean-temp.c: Include gl_xlist.h.
36163         * modules/clean-temp (Depends-on): Add xlist.
36164
36165         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
36166         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
36167
36168         * tests/test-array_oset.c: Include gl_xlist.h.
36169         * modules/array-oset-tests (Depends-on): Add xlist.
36170
36171         Reported by José E. Marchesi <jemarch@gnu.org>.
36172
36173 2009-12-13  Bruno Haible  <bruno@clisp.org>
36174
36175         Move the malloc checking from module 'oset' to new module 'xoset'.
36176         * modules/xoset: New file.
36177         * lib/gl_xoset.h: New file.
36178         * lib/gl_xoset.c: New file.
36179         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
36180         declarations.
36181         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
36182         (struct gl_oset_implementation): Rename and change methods accordingly.
36183         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
36184         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36185         'int'. Mark as __warn_unused_result__.
36186         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
36187         gl_oset_create_empty.
36188         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
36189         'int'.
36190         * lib/gl_array_oset.c: Don't include xalloc.h.
36191         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
36192         malloc, not xmalloc.
36193         (grow): Change return type to 'int'. Don't call xalloc_die.
36194         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
36195         to 'int'.
36196         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
36197         'int'.
36198         (gl_array_oset_implementation): Update.
36199         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
36200         gl_tree_create_empty.
36201         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
36202         'int'.
36203         * lib/gl_avltree_oset.c: Don't include xalloc.h.
36204         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36205         xmalloc.
36206         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36207         not xmalloc.
36208         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36209         xmalloc.
36210         (gl_avltree_oset_implementation): Update.
36211         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
36212         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
36213         xmalloc.
36214         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
36215         not xmalloc.
36216         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
36217         xmalloc.
36218         (gl_rbtree_oset_implementation): Update.
36219         * modules/array-oset (Depends-on): Remove xalloc.
36220         * modules/avltree-oset (Depends-on): Likewise.
36221         * modules/rbtree-oset (Depends-on): Likewise.
36222         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
36223         * tests/test-avltree_oset.c: Likewise.
36224         * tests/test-rbtree_oset.c: Likewise.
36225         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
36226         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
36227         * modules/rbtree-oset-tests (Makefile.am): Likewise.
36228         * NEWS: Mention the change.
36229
36230 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
36231
36232         maint.mk: allow a project to override release-prep commands
36233         * top/maint.mk (alpha, beta, stable): Move release-preparatory
36234         commands into a new rule.
36235         (release-prep): New rule.
36236         (release-prep-hook): New overridable variable.
36237
36238 2009-12-13  Bruno Haible  <bruno@clisp.org>
36239
36240         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
36241
36242 2009-12-13  Jim Meyering  <meyering@redhat.com>
36243
36244         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
36245         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
36246
36247 2009-12-12  Bruno Haible  <bruno@clisp.org>
36248
36249         duplocale: Tweak.
36250         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
36251
36252 2009-12-12  Karl Berry  <karl@gnu.org>
36253
36254         * config/srclist.txt (strtoll.c): tab changes, no more sync.
36255
36256 2009-12-12  Bruno Haible  <bruno@clisp.org>
36257
36258         * m4/po.m4: Undo incorrect untabification.
36259
36260 2009-12-12  Bruno Haible  <bruno@clisp.org>
36261
36262         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
36263         * modules/c-strtod (Depends-on): Add locale.
36264         * modules/c-strtold (Depends-on): Likewise.
36265
36266 2009-12-12  Bruno Haible  <bruno@clisp.org>
36267
36268         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
36269
36270 2009-12-11  Eric Blake  <ebb9@byu.net>
36271
36272         setenv: relax requirement in light of POSIX ruling
36273         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
36274         not NULL.
36275         * tests/test-setenv.c (main): Relax test.
36276         * tests/test-unsetenv.c (main): Likewise.
36277         * doc/posix-functions/setenv.texi (setenv): Document this.
36278         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36279
36280 2009-12-11  Bruno Haible  <bruno@clisp.org>
36281
36282         New module 'fd-safer-flag'.
36283         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
36284         * lib/dup-safer.c (dup_safer_flag): Remove function.
36285         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
36286         * lib/fd-safer.c (fd_safer_flag): Remove function.
36287         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
36288         * modules/cloexec (configure.ac): Drop indicator macro.
36289         * modules/fd-safer-flag: New file.
36290         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
36291         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
36292         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
36293
36294 2009-12-11  Bruno Haible  <bruno@clisp.org>
36295
36296         Tests for module 'nl_langinfo'.
36297         * modules/nl_langinfo-tests: New file.
36298         * tests/test-nl_langinfo.sh: New file.
36299         * tests/test-nl_langinfo.c: New file.
36300
36301         New module 'nl_langinfo'.
36302         * lib/nl_langinfo.c: New file.
36303         * m4/nl_langinfo.m4: New file.
36304         * modules/nl_langinfo: New file.
36305         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
36306
36307 2009-12-11  Bruno Haible  <bruno@clisp.org>
36308
36309         Tests for module 'langinfo'.
36310         * modules/langinfo-tests: New file.
36311         * tests/test-langinfo.c: New file.
36312
36313         New module 'langinfo'.
36314         * lib/langinfo.in.h: New file.
36315         * m4/langinfo_h.m4: New file.
36316         * modules/langinfo: New file.
36317         * doc/posix-headers/langinfo.texi: Mention the new module.
36318
36319 2009-12-11  Bruno Haible  <bruno@clisp.org>
36320
36321         * lib/config.charset: Untabify.
36322
36323 2009-12-11  Bruno Haible  <bruno@clisp.org>
36324
36325         * modules/unistd-safer (configure.ac): Drop indicator macro.
36326
36327 2009-12-11  Bruno Haible  <bruno@clisp.org>
36328
36329         Move pipe2-safer code to its own file.
36330         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
36331         * lib/pipe-safer.c (pipe2_safer): Remove function.
36332         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
36333         (Makefile.am): Add it to lib_SOURCES.
36334
36335 2009-12-10  Bruno Haible  <bruno@clisp.org>
36336
36337         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
36338
36339 2009-12-10  Bruno Haible  <bruno@clisp.org>
36340
36341         Declare which arguments expect non-NULL values, for GCC and clang.
36342         * build-aux/arg-nonnull.h: New file.
36343         * modules/arg-nonnull: New file.
36344         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
36345         (inet_ntop, inet_pton): Use it.
36346         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
36347         (closedir, dirfd, opendir, scandir, alphasort): Use it.
36348         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
36349         (open, openat): Use it.
36350         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
36351         (fnmatch): Use it.
36352         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
36353         (getopt, getopt_long, getopt_long_only): Use it.
36354         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
36355         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
36356         Use it.
36357         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
36358         (iconv_open): Use it.
36359         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
36360         (strtoimax, strtoumax): Use it.
36361         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
36362         (duplocale): Use it.
36363         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
36364         (frexp, frexpl): Use it.
36365         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
36366         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
36367         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
36368         (tsearch, tfind, tdelete, twalk): Use it.
36369         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
36370         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36371         sigpending): Use it.
36372         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
36373         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36374         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36375         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36376         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36377         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36378         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36379         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36380         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36381         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36382         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36383         Use it.
36384         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
36385         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
36386         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
36387         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
36388         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
36389         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
36390         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
36391         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
36392         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
36393         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
36394         strtoull, unsetenv): Use it.
36395         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
36396         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36397         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36398         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
36399         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
36400         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
36401         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
36402         (strcasecmp, strncasecmp): Use it.
36403         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
36404         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
36405         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
36406         rpl_setsockopt): Use it.
36407         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
36408         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
36409         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
36410         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
36411         (gettimeofday): Use it.
36412         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
36413         (times): Use it.
36414         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
36415         (uname): Use it.
36416         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
36417         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
36418         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
36419         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
36420         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
36421         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
36422         unlinkat, write): Use it.
36423         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
36424         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
36425         * lib/argv-iter.h: Include arg-nonnull.h.
36426         (_ATTRIBUTE_NONNULL_): Remove macro.
36427         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
36428         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
36429         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
36430         optimization.
36431         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
36432         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
36433         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
36434         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
36435         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
36436         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
36437         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
36438         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
36439         * modules/arpa_inet (Depends-on): Add arg-nonnull.
36440         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36441         * modules/dirent (Depends-on): Add arg-nonnull.
36442         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36443         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36444         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36445         * modules/fnmatch (Depends-on): Add arg-nonnull.
36446         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36447         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36448         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36449         * modules/glob (Depends-on): Add arg-nonnull.
36450         (Makefile.am): Insert arg-nonnull.h into glob.h.
36451         * modules/iconv_open (Depends-on): Add arg-nonnull.
36452         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36453         * modules/inttypes (Depends-on): Add arg-nonnull.
36454         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36455         * modules/locale (Depends-on): Add arg-nonnull.
36456         (Makefile.am): Insert arg-nonnull.h into locale.h.
36457         * modules/math (Depends-on): Add arg-nonnull.
36458         (Makefile.am): Insert arg-nonnull.h into math.h.
36459         * modules/netdb (Depends-on): Add arg-nonnull.
36460         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36461         * modules/search (Depends-on): Add arg-nonnull.
36462         (Makefile.am): Insert arg-nonnull.h into search.h.
36463         * modules/signal (Depends-on): Add arg-nonnull.
36464         (Makefile.am): Insert arg-nonnull.h into signal.h.
36465         * modules/spawn (Depends-on): Add arg-nonnull.
36466         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36467         * modules/stdio (Depends-on): Add arg-nonnull.
36468         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36469         * modules/stdlib (Depends-on): Add arg-nonnull.
36470         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36471         * modules/string (Depends-on): Add arg-nonnull.
36472         (Makefile.am): Insert arg-nonnull.h into string.h.
36473         * modules/strings (Depends-on): Add arg-nonnull.
36474         (Makefile.am): Insert arg-nonnull.h into strings.h.
36475         * modules/sys_socket (Depends-on): Add arg-nonnull.
36476         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36477         * modules/sys_stat (Depends-on): Add arg-nonnull.
36478         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36479         * modules/sys_time (Depends-on): Add arg-nonnull.
36480         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36481         * modules/sys_times (Depends-on): Add arg-nonnull.
36482         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36483         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36484         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36485         * modules/time (Depends-on): Add arg-nonnull.
36486         (Makefile.am): Insert arg-nonnull.h into time.h.
36487         * modules/unistd (Depends-on): Add arg-nonnull.
36488         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36489         * modules/wchar (Depends-on): Add arg-nonnull.
36490         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36491         * modules/argv-iter (Depends-on): Add arg-nonnull.
36492         * tests/test-canonicalize.c (null_ptr): New function.
36493         (main): Use it.
36494         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36495         (main): Use it.
36496         * tests/test-memmem.c (null_ptr): New function.
36497         (main): Use it.
36498         Reported by Jim Meyering.
36499
36500 2009-12-10  Bruno Haible  <bruno@clisp.org>
36501
36502         Use spaces for indentation, not tabs.
36503         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36504         * m4/*.m4: Untabify.
36505         * build-aux/*.h: Untabify.
36506         * tests/**/*.[hc]: Untabify.
36507         * README: New section "Indent with spaces, not TABs", based on
36508         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36509         * NEWS: Mention the change.
36510
36511 2009-12-10  Bruno Haible  <bruno@clisp.org>
36512
36513         pty test: Fix link error.
36514         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36515         test_pty_LDADD.
36516
36517 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36518
36519         * modules/pty: New file.
36520         * modules/pty-tests: New file.
36521         * m4/pty.m4: New file.
36522         * tests/test-pty.c: New file.
36523         * doc/glibc-headers/pty.texi: Modified.
36524         * doc/glibc-functions/forkpty.texi: Modified.
36525         * doc/glibc-functions/openpty.texi: Modified.
36526
36527 2009-12-10  Bruno Haible  <bruno@clisp.org>
36528
36529         Avoid syntax error in C++ mode.
36530         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36531
36532 2009-12-10  Bruno Haible  <bruno@clisp.org>
36533
36534         Use sed with option -e.
36535         * gnulib-tool (func_version, func_emit_copyright_notice,
36536         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36537         option -e to sed.
36538         * modules/link-warning (Makefile.am): Likewise.
36539
36540 2009-12-10  Jim Meyering  <meyering@redhat.com>
36541
36542         mgetgroups: do not write bytes beyond end of malloc'd buffer
36543         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36544         username, we call getgroups with a one-element-shorter buffer,
36545         but still told it the length was original, max_n_groups.
36546
36547 2009-12-09  Eric Blake  <ebb9@byu.net>
36548
36549         cloexec: relax license
36550         * modules/cloexec (Maintainer): Add myself.
36551         (License): Use LGPL, not GPL.
36552
36553         link-warning: optimize generation
36554         * modules/link-warning (Makefile.am): Reduce process usage.
36555
36556 2009-12-09  Bruno Haible  <bruno@clisp.org>
36557
36558         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36559         workaround was added on 2009-11-17.
36560
36561 2009-12-09  Jim Meyering  <meyering@redhat.com>
36562             Bruno Haible  <bruno@clisp.org>
36563
36564         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36565         * modules/link-warning (Makefile.am): Make the comment-removing sed
36566         command more robust in the face of bootstrap-prepended comment lines.
36567
36568 2009-12-09  Bruno Haible  <bruno@clisp.org>
36569
36570         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36571         most one group.
36572
36573 2009-12-09  Simon Josefsson <simon@josefsson.org>
36574             Bruno Haible  <bruno@clisp.org>
36575
36576         * build-aux/link-warning.h: Add copyright notice.
36577         * modules/link-warning (Makefile.am): Generate link-warning.h from
36578         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36579         * NEWS: Mention change in link-warning module.
36580         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36581         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36582         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36583         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36584         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36585         * modules/math (Makefile.am): Add dependency to math.h.
36586         * modules/search (Makefile.am): Add dependency to search.h.
36587         * modules/signal (Makefile.am): Add dependency to signal.h.
36588         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36589         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36590         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36591         * modules/string (Makefile.am): Add dependency to string.h.
36592         * modules/strings (Makefile.am): Add dependency to strings.h.
36593         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36594         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36595         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36596         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36597         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36598         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36599         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36600         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36601         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36602
36603 2009-12-09  Bruno Haible  <bruno@clisp.org>
36604
36605         fchdir: Optimize away rpl_fstat when possible.
36606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36607         REPLACE_OPEN_DIRECTORY.
36608         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36609
36610 2009-12-09  Bruno Haible  <bruno@clisp.org>
36611
36612         * lib/fchdir.c: Update comment.
36613
36614 2009-12-09  Bruno Haible  <bruno@clisp.org>
36615
36616         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36617
36618 2009-12-08  Eric Blake  <ebb9@byu.net>
36619
36620         fchdir: avoid memory leak on re-registration.
36621         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36622
36623 2009-12-08  Jim Meyering  <meyering@redhat.com>
36624
36625         init.sh: avoid Solaris 10 /bin/sh portability problem
36626         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36627         sourced script:
36628           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36629           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36630           bar
36631         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36632         and two tests used that idiom.
36633         * tests/init.sh: Update suggested usage comments.
36634         (path_prepend_): New function, to be used in place
36635         of the --src-path=DIR option.
36636         (setup_): Move PATH-prepending code into path_prepend_.
36637         * tests/test-pread.sh: Adapt to new usage.
36638         * tests/test-xalloc-die.sh: Likewise.
36639
36640 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36641
36642         * doc/gnulib.texi (Glibc pty.h): Add.
36643         * doc/glibc-functions/forkpty.texi: Add.
36644         * doc/glibc-functions/openpty.texi: Add.
36645         Suggested by Bruno Haible.
36646
36647 2009-12-08  Eric Blake  <ebb9@byu.net>
36648
36649         fchdir: fix logic bugs
36650         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36651         * tests/test-fchdir.c (main): Enhance test.
36652         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36653         is in use.
36654
36655         dup2: fix logic bugs
36656         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36657         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36658         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36659         exists.
36660         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36661
36662 2009-12-07  Eric Blake  <ebb9@byu.net>
36663
36664         unlink: fix m4 detection
36665         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36666
36667         unistd-safer: add unit test
36668         * modules/unistd-safer-tests: New file.
36669         * tests/test-dup-safer.c: Likewise.
36670         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36671         * tests/test-dup2.c (setmode): Likewise.
36672         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36673
36674         cloexec: preserve text vs. binary across dup_cloexec
36675         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36676         mode.
36677         * modules/dup2-tests (Depends-on): Add binary-io.
36678         * modules/cloexec-tests (Depends-on): Likewise.
36679         * tests/test-dup2.c (setmode, is_mode): New helpers.
36680         (main): Add tests that translation mode is preserved.
36681         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36682         Reported by Bruno Haible.
36683
36684         mgetgroups: reduce duplicate listings
36685         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36686         resulting array.
36687         * tests/test-chown.h (test_chown): Simplify client.
36688         * tests/test-lchown.h (test_lchown): Likewise.
36689
36690 2009-12-06  Bruno Haible  <bruno@clisp.org>
36691
36692         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36693         value.
36694
36695 2009-12-06  Bruno Haible  <bruno@clisp.org>
36696
36697         * lib/progname.c: Include stdio.h, stdlib.h.
36698         (set_program_name): Reject a NULL argument.
36699
36700 2009-12-05  Eric Blake  <ebb9@byu.net>
36701
36702         pipe2-safer: new module
36703         * modules/pipe2-safer: New file.
36704         * lib/unistd-safer.h (pipe2_safer): New prototype.
36705         * lib/unistd--.h (pipe2): New wrapper.
36706         * lib/pipe-safer.c (pipe2_safer): New function.
36707         * modules/pipe (Depends-on): Add pipe2-safer.
36708         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36709
36710         stdlib-safer: preserve cloexec flag for mkostemp[s]
36711         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36712         fd_safer_flag.
36713
36714         unistd-safer: allow preservation of cloexec status via flag
36715         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36716         prototypes.
36717         * lib/dup-safer.c (dup_safer_flag): New function.
36718         * lib/fd-safer.c (fd_safer_flag): Likewise.
36719         * modules/cloexec (configure.ac): Set witness.
36720
36721         test-dup2: enhance test
36722         * modules/dup2-tests (Depends-on): Add cloexec.
36723         * tests/test-dup2.c (main): Enhance test.
36724
36725         cloexec: add dup_cloexec
36726         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36727         header and comments.
36728         * lib/cloexec.c (set_cloexec_flag): Add comments.
36729         (dup_cloexec): New function, with mingw implementation borrowed
36730         from...
36731         * lib/w32spawn.h (dup_noinherit): ...here.
36732         * modules/execute (Depends-on): Add cloexec.
36733         * modules/pipe (Depends-on): Likewise.
36734         * modules/cloexec (Depends-on): Add dup2.
36735         * modules/cloexec-tests (Files): New file.
36736         * tests/test-cloexec.c: Likewise.
36737
36738         test-xalloc-die: fix test for mingw
36739         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36740         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36741         directory and .exe suffix off argv[0] output.
36742
36743         test-fseeko: fix test for mingw
36744         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36745         than undefining fseek, so test will pass on mingw.
36746
36747 2009-12-05  Bruno Haible  <bruno@clisp.org>
36748
36749         * lib/progname.h (set_program_name): Clarify specification.
36750         * lib/progname.c (set_program_name): Likewise.
36751         Reported by Jim Meyering.
36752
36753 2009-12-05  Jim Meyering  <meyering@redhat.com>
36754
36755         maint.mk: backslash-escape parens in default regexp
36756         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36757         backslash-escape the literal parentheses.
36758
36759         maint.mk: news-date-check: use grep -E
36760         * top/maint.mk (today): Define a Make variable, not a...
36761         (news-date-check): ...shell variable.
36762         (news-date-regexp): Use the Make variable.
36763         Use grep's -E option.  Change the failing diagnostic to mention
36764         the variable, $(news-date-regexp).
36765
36766 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36767
36768         maintainer-makefile: allow customization of NEWS entry format
36769         * top/maint.mk (news-date-regexp): New overridable variable.
36770         (news-date-check): Use it.
36771
36772 2009-12-04  Eric Blake  <ebb9@byu.net>
36773
36774         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36775         * lib/mgetgroups.h (xgetgroups): New prototype.
36776         * lib/mgetgroups.c (xgetgroups): New wrapper.
36777         (mgetgroups): Handle ENOSYS.
36778         * modules/mgetgroups (Depends-on): Add realloc.
36779         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36780
36781         mgetgroups: avoid argument promotion issues with -1
36782         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36783         for invalid gid_t.
36784         * tests/test-chown.h (getegid, test_chown): Likewise.
36785         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36786
36787 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36788
36789         exclude: Fix header file problems.
36790         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36791
36792 2009-12-01  Jim Meyering  <meyering@redhat.com>
36793
36794         fts: fts_open: do not let an empty string cause immediate failure
36795         This is required in support of GNU rm, for which the command
36796         "rm A '' B" must process and remove both A and B, in spite of
36797         the empty string argument.
36798         * lib/fts.c (fts_open): Do not let the presence of an empty string
36799         cause fts_open to fail immediately.  Most fts-using tools must be
36800         able to process all arguments, in order, and can be expected to
36801         diagnose such arguments themselves.
36802
36803 2009-11-30  Eric Blake  <ebb9@byu.net>
36804
36805         utimens: fix compilation error
36806         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36807         Declare variable at right scope.
36808
36809 2009-11-29  Jim Meyering  <meyering@redhat.com>
36810
36811         bootstrap: handle perl-5.11's changed --version output
36812         * build-aux/bootstrap (get_version): Handle perl separately,
36813         since perl-5.11's --version output is different.
36814
36815 2009-11-28  Jim Meyering  <meyering@redhat.com>
36816
36817         userspec: depend on the inttostr module, too
36818         * modules/userspec (Depends-on): Add inttostr.
36819
36820         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36821         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36822         number of MAXUID when it evaluates to (uid_t) -1.
36823         Likewise for group ID.  Reported by Matt McCutchen in
36824         <http://savannah.gnu.org/bugs/?28113>
36825
36826         userspec: reformat to use spaces, not TABs
36827         * lib/userspec.c: Expand TABs to spaces.
36828         Add Emacs' "indent-tabs-mode: nil" hint.
36829
36830 2009-11-27  Eric Blake  <ebb9@byu.net>
36831
36832         getopt-gnu: flush out another BSD bug
36833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36834         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36835         flush out BSD bug.
36836         * tests/test-getopt.h (test_getopt): End lists with NULL.
36837         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36838         (test_getopt_long_posix): Enhance test.
36839         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36840         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36841         getopt-gnu.
36842         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36843         Likewise.
36844
36845 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36846
36847         * modules/idpriv-droptemp-tests (Notice): Fix text.
36848
36849 2009-11-27  Jim Meyering  <meyering@redhat.com>
36850
36851         test-xalloc-die: avoid spurious failure due to libtool argv difference
36852         In a libtool-enabled project, this test would fail due to a difference
36853         in the emitted program name, e.g.,
36854         -test-xalloc-die: memory exhausted
36855         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36856         Use program to avoid that.
36857         * modules/xalloc-die-tests (Depends-on): Add progname.
36858         * tests/test-xalloc-die.c: Include progname.h".
36859         (program_name): Remove decl.
36860         (main): Call set_program_name.
36861         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36862
36863 2009-11-26  Richard Jones  <rjones@redhat.com>
36864
36865         w32sock: leave win32 error in place.
36866         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36867
36868 2009-11-26  Eric Blake  <ebb9@byu.net>
36869
36870         init.sh: suggest to use skip_ and fail_ functions in comments
36871         * tests/init.sh: Add a sentence.
36872
36873 2009-11-25  Bruno Haible  <bruno@clisp.org>
36874
36875         init.sh: add documentation in comments
36876         * tests/init.sh: Add some developer and user documentation.
36877
36878 2009-11-26  Jim Meyering  <meyering@redhat.com>
36879
36880         init.sh: accommodate even those who specify bogus srcdir manually
36881         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36882         configure-time tests to be sanitized, so that there is no need to
36883         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36884         (with no double quotes) suffices.  However, since tests may be
36885         invoked manually, and since you may explicitly set srcdir to the
36886         name of a directory containing spaces, do quote its uses here.
36887         * tests/test-pread.sh: Likewise.
36888         Suggested by Bruno Haible.
36889
36890         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36891         * tests/test-pread.sh: Write no data into the pipe, because
36892         test-pread actually reads none.  This avoids a diagnostic,
36893         "bash: echo: write error: Broken pipe", that arises in the unusual
36894         event something is ignoring SIGPIPE, and might be interpreted
36895         as some sort of failure.  Reported by Bruno Haible.
36896
36897 2009-11-25  Jim Meyering  <meyering@redhat.com>
36898
36899         test-pread: cover failure with ESPIPE and EINVAL
36900         * tests/test-pread.c (main): Test for failure, too.
36901         * tests/test-pread.sh: Invoke with stdin on a pipe.
36902         Suggested by Eric Blake.
36903
36904         pread: improvement and fix
36905         * modules/pread (Depends-on): Depend on lseek, for portability to
36906         e.g., mingw.  Suggested by Eric Blake.
36907         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36908
36909         unistd.in.h: correct declaration of pread
36910         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36911         Reported by Richard W.M. Jones.
36912
36913         test-pread.sh: distribute the test script
36914         * modules/pread-tests (Files): Include test-pread.sh.
36915
36916         test-pread.sh: clean up
36917         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36918         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36919         That is unnecessary, since it's always ".".
36920         Suggestion from Eric Blake.
36921
36922         test-pread.sh: make executable
36923         * tests/test-pread.sh: Set executable bit.
36924         Reported by Eric Blake.
36925
36926         correct typo in test-pread.sh
36927         * tests/test-pread.sh: Add #! line.
36928
36929         test pread
36930         * tests/test-pread.c: New file.
36931         * tests/test-pread.sh: Likewise.
36932         * modules/pread-tests: Likewise.
36933
36934         pread: new module
36935         * modules/pread: New file.
36936         * lib/unistd.in.h (pread): Define/declare.
36937         * lib/pread.c (pread): New file.
36938         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36939         * modules/unistd (Makefile.am): Substitute witnesses.
36940         * doc/posix-functions/pread.texi (pread): Update.
36941         * MODULES.html.sh: Add pread.
36942
36943 2009-11-25  Jim Meyering  <meyering@redhat.com>
36944
36945         tests/init.sh: new file to be used via most *.sh tests
36946         * tests/init.sh: New file.
36947
36948 2009-11-25  Eric Blake  <ebb9@byu.net>
36949
36950         utimens: work around older Linux failure with symlinks
36951         * lib/utimens.c (lutimensat_works_really): New variable.
36952         (fdutimens, lutimens): Use it to manage kernels that support
36953         nanosecond times on files, but not on symlinks.
36954         Reported by OndÅ™ej Vašík.
36955
36956         utimes: fix configure grammar
36957         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36958
36959 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36960
36961         regex: Fix fastmap for multibyte character ranges.
36962         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36963         characters when a multibyte character range is included.
36964
36965 2009-11-22  Andy Wingo  <wingo@pobox.com>
36966
36967         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36968         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36969
36970 2009-11-24  Bruno Haible  <bruno@clisp.org>
36971
36972         doc: Most *_l functions exist in MacOS X 10.5.
36973         * doc/posix-functions/duplocale.texi: Update platforms list.
36974         * doc/posix-functions/freelocale.texi: Likewise.
36975         * doc/posix-functions/newlocale.texi: Likewise.
36976         * doc/posix-functions/uselocale.texi: Likewise.
36977         * doc/posix-functions/isalnum_l.texi: Likewise.
36978         * doc/posix-functions/isalpha_l.texi: Likewise.
36979         * doc/posix-functions/isblank_l.texi: Likewise.
36980         * doc/posix-functions/iscntrl_l.texi: Likewise.
36981         * doc/posix-functions/isdigit_l.texi: Likewise.
36982         * doc/posix-functions/isgraph_l.texi: Likewise.
36983         * doc/posix-functions/islower_l.texi: Likewise.
36984         * doc/posix-functions/isprint_l.texi: Likewise.
36985         * doc/posix-functions/ispunct_l.texi: Likewise.
36986         * doc/posix-functions/isspace_l.texi: Likewise.
36987         * doc/posix-functions/isupper_l.texi: Likewise.
36988         * doc/posix-functions/iswalnum_l.texi: Likewise.
36989         * doc/posix-functions/iswalpha_l.texi: Likewise.
36990         * doc/posix-functions/iswblank_l.texi: Likewise.
36991         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36992         * doc/posix-functions/iswctype_l.texi: Likewise.
36993         * doc/posix-functions/iswdigit_l.texi: Likewise.
36994         * doc/posix-functions/iswgraph_l.texi: Likewise.
36995         * doc/posix-functions/iswlower_l.texi: Likewise.
36996         * doc/posix-functions/iswprint_l.texi: Likewise.
36997         * doc/posix-functions/iswpunct_l.texi: Likewise.
36998         * doc/posix-functions/iswspace_l.texi: Likewise.
36999         * doc/posix-functions/iswupper_l.texi: Likewise.
37000         * doc/posix-functions/iswxdigit_l.texi: Likewise.
37001         * doc/posix-functions/isxdigit_l.texi: Likewise.
37002         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
37003         * doc/posix-functions/strcasecmp_l.texi: Likewise.
37004         * doc/posix-functions/strcoll_l.texi: Likewise.
37005         * doc/posix-functions/strfmon_l.texi: Likewise.
37006         * doc/posix-functions/strftime_l.texi: Likewise.
37007         * doc/posix-functions/strncasecmp_l.texi: Likewise.
37008         * doc/posix-functions/strxfrm_l.texi: Likewise.
37009         * doc/posix-functions/tolower_l.texi: Likewise.
37010         * doc/posix-functions/toupper_l.texi: Likewise.
37011         * doc/posix-functions/towctrans_l.texi: Likewise.
37012         * doc/posix-functions/towlower_l.texi: Likewise.
37013         * doc/posix-functions/towupper_l.texi: Likewise.
37014         * doc/posix-functions/wcscoll_l.texi: Likewise.
37015         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
37016         * doc/posix-functions/wctrans_l.texi: Likewise.
37017         * doc/posix-functions/wctype_l.texi: Likewise.
37018         * doc/glibc-functions/strptime_l.texi: Likewise.
37019         * doc/glibc-functions/strtod_l.texi: Likewise.
37020         * doc/glibc-functions/strtof_l.texi: Likewise.
37021         * doc/glibc-functions/strtol_l.texi: Likewise.
37022         * doc/glibc-functions/strtold_l.texi: Likewise.
37023         * doc/glibc-functions/strtoll_l.texi: Likewise.
37024         * doc/glibc-functions/strtoul_l.texi: Likewise.
37025         * doc/glibc-functions/strtoull_l.texi: Likewise.
37026         * doc/glibc-functions/wcsftime_l.texi: Likewise.
37027         * doc/glibc-functions/wcstod_l.texi: Likewise.
37028         * doc/glibc-functions/wcstof_l.texi: Likewise.
37029         * doc/glibc-functions/wcstol_l.texi: Likewise.
37030         * doc/glibc-functions/wcstold_l.texi: Likewise.
37031         * doc/glibc-functions/wcstoll_l.texi: Likewise.
37032         * doc/glibc-functions/wcstoul_l.texi: Likewise.
37033         * doc/glibc-functions/wcstoull_l.texi: Likewise.
37034
37035 2009-11-24  Bruno Haible  <bruno@clisp.org>
37036
37037         duplocale: Fix logic bug.
37038         * lib/duplocale.c: Don't include <langinfo.h>.
37039         (_NL_LOCALE_NAME): Remove macro.
37040         (rpl_duplocale): Use setlocale instead of nl_langinfo.
37041         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
37042
37043 2009-11-23  Jim Meyering  <meyering@redhat.com>
37044
37045         test-update-copyright: don't hard-code /usr/bin/perl
37046         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
37047         perl to print the current year.  Gilles Espinasse reported that
37048         the replaced use of perl was hard-coded as /usr/bin/perl.
37049
37050 2009-11-23  Bruno Haible  <bruno@clisp.org>
37051
37052         duplocale: Add support for glibc 2.3.x.
37053         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
37054
37055 2009-11-22  Bruno Haible  <bruno@clisp.org>
37056
37057         vasnprintf: Tiny optimization.
37058         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
37059         MacOS X.
37060
37061 2009-11-22  Bruno Haible  <bruno@clisp.org>
37062
37063         Tests for module 'duplocale'.
37064         * modules/duplocale-tests: New file.
37065         * tests/test-duplocale.c: New file.
37066
37067         New module 'duplocale'.
37068         * m4/duplocale.m4: New file.
37069         * lib/locale.in.h (duplocale): New declaration.
37070         * lib/duplocale.c: New file.
37071         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
37072         gl_LOCALE_H_DEFAULTS): New macros.
37073         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
37074         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
37075         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
37076         REPLACE_DUPLOCALE.
37077         * modules/duplocale: New file.
37078         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
37079
37080 2009-11-22  Bruno Haible  <bruno@clisp.org>
37081
37082         * modules/locale-tests (configure.ac): Test for newlocale function.
37083         * tests/test-locale.c: When the system has extended locale functions,
37084         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
37085
37086         locale: Make locale_t available when possible.
37087         * lib/locale.in.h: Include <xlocale.h> when it exists.
37088         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
37089         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
37090         * modules/locale (Depends-on): Add extensions.
37091         (Makefile.am): Also substitute HAVE_XLOCALE_H.
37092         * doc/posix-headers/locale.texi: Document the problem with locale_t.
37093
37094 2009-11-22  Bruno Haible  <bruno@clisp.org>
37095
37096         Add comments.
37097         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
37098         invocation.
37099         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37100         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37101         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37102
37103 2009-11-22  Bruno Haible  <bruno@clisp.org>
37104
37105         error: account for the possibility of freopen (stdout).
37106         * lib/error.c: Include <unistd.h>.
37107         (flush_stdout): New function, extracted from error and error_at_line.
37108         Determine stdout's fd dynamically.
37109         (error, error_at_line): Invoke flush_stdout.
37110         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
37111         * modules/error (Depends-on): Add unistd.
37112
37113 2009-11-22  Bruno Haible  <bruno@clisp.org>
37114
37115         diffseq: Add comment.
37116         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
37117
37118 2009-11-22  Jim Meyering  <meyering@redhat.com>
37119
37120         c-stack: avoid defining an unused static function
37121         * lib/c-stack.c (find_stack_direction): Do not define this function
37122         when it will not be used.
37123
37124         diffseq: avoid spurious gcc warnings
37125         * lib/diffseq.h (IF_LINT2): Define.
37126         (compareseq): Use it to initialize two members of "part".
37127         This avoids two used-uninitialized warnings.
37128
37129 2009-11-21  Jim Meyering  <meyering@redhat.com>
37130
37131         c-stack: avoid "ignoring return value of `write'" warning
37132         * lib/c-stack.c: Include "ignore-value.h".
37133         (die): Explicitly ignore each write return value.
37134         * modules/c-stack (Depends-on): Add ignore-value.
37135
37136 2009-11-21  Bruno Haible  <bruno@clisp.org>
37137
37138         diffseq: reduce scope of variable 'best'.
37139         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
37140         variable, earlier used for two different purposes.
37141
37142 2009-11-21  Jim Meyering  <meyering@redhat.com>
37143
37144         diffseq: remove useless assignment to "best"
37145         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
37146         assignment.  At that point "best" is already guaranteed to be zero.
37147
37148 2009-11-20  Eric Blake  <ebb9@byu.net>
37149
37150         build: mention ftp redirector in release announcements
37151         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
37152         values that used to come from cfg.mk; mention FTP redirect URL.
37153         * build-aux/announce-gen: Mention the mirror list.
37154         Suggested by Karl Berry.
37155
37156         nanosleep: improve port to mingw
37157         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
37158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
37159         LIB_NANOSLEEP, but only when needed.
37160         * modules/select (Link): Document LIBSOCKET.
37161         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
37162         enough.
37163
37164         nanosleep: work around cygwin bug
37165         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
37166         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
37167         bug.
37168         (getnow): Delete, not needed.
37169         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
37170         LIB_CLOCK_GETTIME.
37171         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
37172         clock-time, gettime.
37173         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
37174         bug.
37175         * modules/nanosleep-tests: New test.
37176         * tests/test-nanosleep.c: New file.
37177
37178         sleep: work around cygwin bug
37179         * lib/sleep.c (rpl_sleep): Work around the bug.
37180         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
37181         (gl_PREREQ_SLEEP): Delete unused macro.
37182         * modules/sleep (Depends-on): Add verify.
37183         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37184         * modules/unistd (Makefile.am): Substitute witness.
37185         * lib/unistd.in.h (sleep): Update prototype.
37186         * doc/posix-functions/sleep.texi (sleep): Document the bug.
37187         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
37188         * modules/sleep-tests (Depends-on): Check for alarm.
37189
37190 2009-11-20  Jim Meyering  <meyering@redhat.com>
37191
37192         maint.mk: improve sc_prohibit_magic_number_exit
37193         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
37194         so it does not match uses like System.exit(1).
37195         Add comments showing how to correct all offenders.
37196
37197 2009-11-19  Eric Blake  <ebb9@byu.net>
37198
37199         xalloc-die-tests: add missing library
37200         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
37201
37202         test-xvasprintf: silence compiler warnings
37203         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
37204         empty string from gcc.
37205
37206 2009-11-19  Jim Meyering  <meyering@redhat.com>
37207
37208         xfreopen: new module, from coreutils
37209         * modules/xfreopen: New module.
37210         * lib/xfreopen.c: New file.
37211         * lib/xfreopen.h: New file.
37212         * MODULES.html.sh (File stream based Input/Output"): Add it.
37213
37214 2009-11-19  Eric Blake  <ebb9@byu.net>
37215
37216         manywarnings: depend on warnings
37217         * modules/manywarnings (Depends-on): Add warnings.
37218
37219         build: avoid compiler warnings
37220         * lib/select.c (rpl_select): Delete unused variable.
37221         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
37222
37223 2009-11-18  Eric Blake  <ebb9@byu.net>
37224
37225         tests: avoid false negative with --with-packager
37226         * tests/test-version-etc.sh: Discard packager information.
37227         * tests/test-argp-version-etc-1.sh: Likewise.
37228         Reported by Mike Frysinger.
37229
37230         utimens: fix regression on Solaris
37231         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
37232         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
37233         can only change fd timestamps via futimesat.  Instead, use an
37234         additional witness macro to avoid BSD bug.
37235         Reported by Jim Meyering.
37236
37237 2009-11-17  Eric Blake  <ebb9@byu.net>
37238
37239         usleep: use it to simplify tests
37240         * modules/stat-time-tests (Depends-on): Add usleep.
37241         (configure.ac): Drop usleep check.
37242         * modules/chown-tests (Depends-on, configure.ac): Likewise.
37243         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
37244         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
37245         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
37246         * modules/openat-tests (Depends-on, configure.ac): Likewise.
37247         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
37248         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
37249         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
37250         Likewise.
37251         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
37252         * tests/test-lchown.h (nap): Likewise.
37253         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
37254         * tests/test-stat-time.c (nap): Likewise.
37255         * tests/test-utimens-common.h (nap): Update comments.
37256
37257         usleep: new module
37258         * modules/usleep: New file.
37259         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
37260         * lib/usleep.c (usleep): Likewise.
37261         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
37262         * modules/unistd (Makefile.am): Substitute witnesses.
37263         * lib/unistd.in.h (usleep): Add declaration.
37264         * doc/pastposix-functions/usleep.texi (usleep): Document this.
37265         * MODULES.html.sh (Date and time): Likewise.
37266         * modules/usleep-tests (Depends-on): New test.
37267         * tests/test-usleep.c: New file.
37268
37269         chown: work around OpenBSD bug
37270         * lib/chown.c (rpl_chown): Work around the bug.
37271         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
37272         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
37273         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
37274         * modules/chown (Depends-on): Add stdbool.
37275         * modules/lchown (Depends-on): Likewise.
37276         * doc/posix-functions/chown.texi (chown): Document the bug.
37277         * doc/posix-functions/lchown.texi (lchown): Likewise.
37278         * tests/test-lchown.h (test_chown): Relax test.
37279
37280         mkstemp: avoid conflict with C++ keyword template
37281         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
37282         * lib/mkostemp.c (mkostemp): Likewise.
37283         * lib/mkostemps.c (mkostemps): Likewise.
37284         * lib/mkstemp.c (mkstemp): Likewise.
37285         * lib/mkstemps.c (mkstemps): Likewise.
37286
37287         xalloc-die-tests: optimize
37288         * tests/test-xalloc-die.sh: Reduce number of processes.
37289
37290 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37291
37292         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
37293         patch from ludo@gnu.org (Ludovic Courtès).
37294
37295 2009-11-17  Jim Meyering  <meyering@redhat.com>
37296
37297         version-etc: use proper license string
37298         * modules/version-etc (License): Use LGPL, not LGPLv3+.
37299         * modules/version-etc-fsf: Likewise.
37300
37301 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37302
37303         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
37304         printed to stdout.  Deal with EOL differences.
37305
37306 2009-11-17  Eric Blake  <ebb9@byu.net>
37307
37308         unsetenv: work around Solaris bug
37309         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
37310         * lib/unsetenv.c (rpl_unsetenv): Work around it.
37311         Reported by Jim Meyering.
37312
37313         vasnprintf: avoid compiler warnings
37314         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
37315         variables.
37316         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
37317
37318 2009-11-17  Simon Josefsson  <simon@josefsson.org>
37319
37320         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
37321         settings since xalloc-die is no longer the self test,
37322         xalloc-die.sh is.
37323
37324 2009-11-17  Jim Meyering  <meyering@redhat.com>
37325
37326         test-xalloc-die.sh: make the code agree with the commit log
37327         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
37328         at the end, just in case you happen to have a test-xalloc-die
37329         program in some other PATH directory.
37330
37331         test-xalloc-die.sh: fix a portability bug
37332         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
37333         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
37334         Otherwise, argv[0] (as often seen in diagnostics) would be too
37335         system-dependent, sometimes with, and sometimes without the leading "./".
37336
37337         version-etc-fsf: relax license to LGPLv3+
37338         * modules/version-etc-fsf (License): Relax license.
37339
37340 2009-11-16  Eric Blake  <ebb9@byu.net>
37341
37342         xalloc-die-tests: avoid printing null pointer
37343         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
37344         shell script.
37345         * tests/test-xalloc-die.c (program_name): Declare.
37346         * tests/test-xalloc-die.sh (tmpfiles): New file.
37347
37348         setenv, unsetenv: work around various bugs
37349         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
37350         (setenv) [HAVE_SETENV]: Work around bugs.
37351         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
37352         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
37353         for bugs.
37354         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
37355         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
37356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
37357         * modules/stdlib (Makefile.am): Update substitutions.
37358         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
37359         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
37360         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
37361         * modules/setenv-tests: New test.
37362         * modules/unsetenv-tests: Likewise.
37363         * tests/test-setenv.c: New file.
37364         * tests/test-unsetenv.c: Likewise.
37365
37366 2009-11-16  Jim Meyering  <meyering@redhat.com>
37367
37368         version-etc: relax license to LGPLv3+
37369         * modules/version-etc (License): Relax license.
37370
37371         better AC_REQUIRE expanded-before-required-warning avoidance
37372         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
37373         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
37374         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
37375         which is no longer needed.
37376
37377 2009-11-16  Eric Blake  <ebb9@byu.net>
37378
37379         test-freading: clean up temporary file
37380         * tests/test-freading.c (main): Remove file on success, and use
37381         ASSERT more liberally.
37382         Reported by Jim Meyering.
37383
37384 2009-11-16  Jim Meyering  <meyering@redhat.com>
37385
37386         avoid new AC_REQUIRE expanded-before-required warnings
37387         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
37388         merely using it.
37389         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
37390         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
37391
37392 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37393
37394         * tests/test-xalloc-die.c: New file.
37395         * modules/xalloc-die-tests: New file.
37396         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
37397         XFAIL_TESTS so it can be appended by modules.
37398
37399 2009-11-15  Simon Josefsson  <simon@josefsson.org>
37400
37401         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
37402         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
37403
37404 2009-11-14  Eric Blake  <ebb9@byu.net>
37405
37406         fnmatch: avoid compiler warning
37407         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
37408         to silence compiler warning about mismatch signedness in ?:.
37409         Reported by Robert Millan.
37410
37411         intprops: add double-inclusion guard
37412         * lib/intprops.h: Allow idempotent includes.
37413         Suggested by Bruce Korb.
37414
37415         openat: detect Solaris fchownat bug
37416         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
37417         penalizing glibc chownat when only lchownat is broken.
37418         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
37419         trailing slash bugs.
37420         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
37421         * modules/openat-tests (Files): Include more files.
37422         (Depends-on): Add mgetgroups, sleep, stat-time.
37423         (configure.ac): Add additional checks.
37424         (Makefile.am): Build new test.
37425         * tests/test-fchownat.c: New file.
37426
37427         lchown: detect Solaris and FreeBSD bug
37428         * lib/lchown.c (rpl_lchown): Work around bug.
37429         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
37430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37431         * modules/unistd (Makefile.am): Populate it.
37432         * lib/unistd.in.h (lchown): Update declaration.
37433         * doc/posix-functions/lchown.texi (lchown): Document the bug.
37434         * modules/lchown-tests: New file.
37435         * tests/test-lchown.h (test_lchown): Likewise.
37436         * tests/test-lchown.c (main): Likewise.
37437
37438         chown: detect Solaris and FreeBSD bug
37439         * lib/chown.c (rpl_chown): Work around bug.
37440         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37441         (gl_PREREQ_CHOWN): Delete.
37442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37443         * modules/unistd (Makefile.am): Populate it.
37444         * lib/unistd.in.h (chown): Update declaration.
37445         * lib/lchown.c (chown): Update client.
37446         * modules/lchown (Depends-on): Add lstat.
37447         * doc/posix-functions/chown.texi (chown): Document the bug.
37448         * doc/posix-functions/getgroups.texi (getgroups): Document
37449         getgroups pitfall.
37450         * modules/chown-tests: New file.
37451         * tests/test-chown.h (test_chown): Likewise.
37452         * tests/test-chown.c (main): Likewise.
37453
37454 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37455
37456         gnulib-tool: correctly detect absence of m4 directories
37457         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37458
37459 2009-11-14  Jim Meyering  <meyering@redhat.com>
37460
37461         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37462         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37463
37464 2009-11-14  John W. Eaton  <jwe@gnu.org>
37465
37466         strftime.h: wrap funtion declaration in extern "C" block
37467         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37468
37469 2009-11-13  Eric Blake  <ebb9@byu.net>
37470
37471         getgroups: avoid compiler warning
37472         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37473
37474         getgroups: work around FreeBSD bug
37475         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37476         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37477         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37478         * tests/test-getgroups.c (main): Fix buffer overrun.
37479
37480         getgroups: avoid compilation failure
37481         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37482         * modules/getgroups (Depends-on): Add stdint.
37483
37484 2009-11-13  Jim Meyering  <meyering@redhat.com>
37485
37486         test-getgroups: avoid compilation failure
37487         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37488
37489 2009-11-13  Eric Blake  <ebb9@byu.net>
37490
37491         mgetgroups: new module, taken from coreutils
37492         * modules/mgetgroups: New file.
37493         * lib/mgetgroups.h: Likewise.
37494         * lib/mgetgroups.c (mgetgroups): Likewise.
37495         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37496         * MODULES.html.sh (Users and groups): Mention it.
37497
37498         getgroups: don't expose GETGROUPS_T to user
37499         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37500         an element at a time if GETGROUPS_T is wrong size.
37501         * lib/getugroups.h (getugroups): Change signature.
37502         * lib/unistd.in.h (getgroups): Likewise.
37503         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37504         signature needs fixing.
37505         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37506         AC_TYPE_GETGROUPS.
37507         * modules/group-member (Depends-on): Add getgroups.
37508         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37509         (group_member): Rely on getgroups replacement.
37510         * lib/getugroups.c (getugroups): Use gid_t.
37511         * tests/test-getgroups.c (main): Likewise.
37512         * NEWS: Mention the signature change.
37513         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37514         problem with signature.
37515         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37516         GETGROUPS_T is still useful for setgroups.
37517
37518         getgroups, getugroups: provide stubs for mingw
37519         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37520         * lib/getugroups.c (getugroups): Likewise.
37521         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37522         function.  Modernize replacement scheme.
37523         (gl_PREREQ_GETGROUPS): Delete.
37524         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37525         * modules/getgroups (configure.ac): Declare witness.
37526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37527         * modules/unistd (Depends-on): Substitute witness.
37528         * lib/unistd.in.h (getgroups): Declare replacement.
37529
37530         getgroups: avoid calling exit
37531         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37532         drop xalloc.
37533         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37534         dependencies.
37535         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37536         exiting, in the rare case of malloc failure.
37537
37538         getgroups: fix logic error
37539         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37540         has more than 20 groups.
37541         * modules/getgroups-tests: New test.
37542         * tests/test-getgroups.c: New file.
37543
37544 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37545
37546         * tests/test-base64.c: Improve.
37547
37548 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37549
37550         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37551         Blake <ebb9@byu.net>.
37552
37553 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37554
37555         * tests/test-xvasprintf.c: Add %s%s related checks.
37556
37557 2009-11-12  Eric Blake  <ebb9@byu.net>
37558
37559         version-etc: match standards.texi style
37560         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37561         and use <> only for URLs.
37562
37563 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37564
37565         fts: do not fail on a submount during traversal
37566         * lib/fts.c (fts_build): Read the stat info again after opening
37567         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37568         Original report at http://bugzilla.redhat.com/501848.
37569
37570 2009-11-12  Jim Meyering  <meyering@redhat.com>
37571
37572         bootstrap: sync from coreutils
37573         * build-aux/bootstrap (bootstrap_epilogue): New function.
37574         Use git_modules_config in one more place.  This make bootstrap's
37575         --gnulib-srcdir option more useful for testing.
37576
37577         bootstrap: generalize autoheader check
37578         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37579         AC_CONFIG_HEADERS.
37580
37581 2009-11-11  Eric Blake  <ebb9@byu.net>
37582
37583         mkfifoat: use new modules for Solaris and BSD bugs
37584         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37585         * lib/mkfifoat.c (mknodat): Split...
37586         * lib/mknodat.c (mknodat): ...into new file.
37587         * modules/mkfifoat (Files): Ship new file.
37588         (Depends-on): Add mkfifo, mknod.
37589         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37590         (Depends-on): Add symlink.
37591         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37592         redundant with test_mkfifo.h.
37593         (do_mkfifoat, do_mknodat): New helpers.
37594
37595         mknod: new module
37596         * modules/mknod: New file.
37597         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37598         * lib/mknod.c (mknod): Likewise.
37599         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37600         defaults.
37601         * modules/sys_stat (Makefile.am): Substitute them.
37602         * lib/sys_stat.in.h (mknod): Declare replacement.
37603         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37604         Document it.
37605         * doc/posix-functions/mknod.texi (mknod): Likewise.
37606         * modules/mknod-tests: New test.
37607         * tests/test-mknod.c: Likewise.
37608
37609         mkfifo: new module
37610         * modules/mkfifo: New file.
37611         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37612         * lib/mkfifo.c (mkfifo): Likewise.
37613         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37614         defaults.
37615         * modules/sys_stat (Makefile.am): Substitute them.
37616         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37617         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37618         Document it.
37619         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37620         * modules/mkfifo-tests: New test.
37621         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37622         from test-mkfifoat.c.
37623         * tests/test-mkfifo.c: New file.
37624
37625         readlink: detect FreeBSD bug
37626         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37627         slash on symlink.
37628         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37629         * tests/test-readlink.h (test_readlink): Enhance test.
37630
37631         symlink: detect FreeBSD bug
37632         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37633         slash on symlink.
37634         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37635         * tests/test-symlink.h (test_symlink): Enhance test.
37636
37637 2009-11-10  Eric Blake  <ebb9@byu.net>
37638
37639         link: detect FreeBSD bug
37640         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37641         symlink.
37642         * doc/posix-functions/link.texi (link): Document the bug.
37643         * tests/test-link.h (test_link): Enhance test.
37644         * tests/test-linkat.c (main): Update caller.
37645
37646         unlink, remove: detect FreeBSD bug
37647         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37648         slash on symlink.
37649         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37650         * doc/posix-functions/remove.texi (remove): Likewise.
37651         * tests/test-unlink.h (test_unlink): Enhance test.
37652         * tests/test-remove.c (main): Likewise.
37653
37654 2009-11-09  Eric Blake  <ebb9@byu.net>
37655
37656         rename: detect FreeBSD bug
37657         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37658         slash on symlink.
37659         * modules/renameat-tests (Depends-on): Add filenamecat.
37660         * tests/test-rename.h (test_rename): Allow one more errno.
37661         * tests/test-renameat.c (main): Likewise.
37662         * doc/posix-functions/rename.texi (rename): Document the bug.
37663
37664         open: detect FreeBSD bug
37665         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37666         symlink.
37667         * doc/posix-functions/open.texi (open): Document the bug.
37668         * doc/posix-functions/utimes.texi (utimes): Likewise.
37669         * tests/test-open.h (test_open): Add parameters, and test symlink
37670         handling.
37671         * tests/test-open.c (main): Adjust caller.
37672         * tests/test-fcntl-safer.c (main): Likewise.
37673         * modules/open-tests (Depends-on): Add stdbool, symlink.
37674         * modules/fcntl-safer-tests (Depends-on): Likewise.
37675         * tests/test-openat.c (main): Add test-open tests.
37676
37677         stat: detect FreeBSD bug
37678         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37679         symlink.
37680         * doc/posix-functions/stat.texi (stat): Document the bug.
37681         * tests/test-stat.h (test_stat_func): Add argument.
37682         * tests/test-stat.c (main): Adjust caller.
37683         * tests/test-fstatat.c (main): Likewise.
37684         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37685         Reported by Jim Meyering.
37686
37687 2009-11-09  James Youngman  <jay@gnu.org>
37688
37689         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37690         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37691
37692 2009-11-08  Jim Meyering  <meyering@redhat.com>
37693
37694         utimens: remove invalid futimesat call
37695         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37696         It used the file descriptor of the target file as the DIR_FD
37697         parameter and NULL as the file name.  That caused failure with
37698         errno == EFAULT on FreeBSD-8.0-rc2
37699
37700 2009-11-07  Eric Blake  <ebb9@byu.net>
37701
37702         fflush, freadseek: use fseeko, not fseek
37703         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37704         (clear_ungetc_buffer): Avoid potential problems on large files.
37705         * lib/freadseek.c (freadseek): Likewise.
37706         * modules/freadseek (Depends-on): Add fseeko.
37707         * modules/fseek (configure.ac): Set a witness.
37708         * tests/test-fflush.c (main): Use fseeko.
37709         * tests/test-fpurge.c (fseek): Disable link warning.
37710         * tests/test-freadable.c (fseek): Likewise.
37711         * tests/test-freading.c (fseek): Likewise.
37712         * tests/test-fseeko.c (fseek): Likewise.
37713         * tests/test-ftell.c (fseek): Likewise.
37714         * tests/test-ftello.c (fseek): Likewise.
37715         * tests/test-fwritable.c (fseek): Likewise.
37716         * tests/test-fwriting.c (fseek): Likewise.
37717
37718 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37719
37720         * modules/memchr (Depends-on): Drop getpagesize dependency.
37721
37722 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37723
37724         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37725         Reported by Ludovic Courtès.
37726         * build-aux/pmccabe2html: Improve example usage.
37727         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37728
37729 2009-11-06  Jim Meyering  <meyering@redhat.com>
37730
37731         do-release-commit-and-tag: New module.
37732         Automate the release-commit and tag process.
37733         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37734         * modules/do-release-commit-and-tag: New file.
37735         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37736
37737 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37738
37739         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37740         because test-select.c uses inet_pton.
37741
37742 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37743
37744         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37745         GETADDRINFO_LIB.  Bump serial number.
37746         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37747         Suggested by Eric Blake <ebb9@byu.net>.
37748
37749 2009-11-05  Eric Blake  <ebb9@byu.net>
37750
37751         strtod: detect darwin bug
37752         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37753         Reported by Leo Davis.
37754
37755         freopen-safer: new module
37756         * modules/freopen-safer: New module.
37757         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37758         * lib/freopen-safer.c (freopen_safer): New file.
37759         * lib/stdio-safer.h (freopen_safer): New declaration.
37760         * lib/stdio--.h (freopen): New override.
37761         * MODULES.html.sh (File stream based Input/Output): Mention it.
37762         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37763         freopen-safer module.
37764         * doc/posix-functions/stderr.texi (stderr): Likewise.
37765         * doc/posix-functions/stdin.texi (stdin): Likewise.
37766         * doc/posix-functions/stdout.texi (stdout): Likewise.
37767         * modules/freopen-safer-tests: New test.
37768         * tests/test-reopen-safer.c: New file.
37769
37770 2009-11-05  Jim Meyering  <meyering@redhat.com>
37771
37772         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37773         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37774
37775 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37776
37777         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37778
37779 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37780
37781         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37782
37783 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37784
37785         Fix link error.
37786         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37787         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37788
37789 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37790
37791         * tests/test-func.c: Also test value of __func__.
37792
37793 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37794
37795         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37796         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37797
37798 2009-11-05  Bruno Haible  <bruno@clisp.org>
37799
37800         Fix link error.
37801         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37802         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37803         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37804
37805 2009-11-05  Bruno Haible  <bruno@clisp.org>
37806
37807         Tests for module 'inet_pton'.
37808         * modules/inet_pton-tests: New file.
37809         * tests/test-inet_pton.c: New file.
37810
37811 2009-11-05  Bruno Haible  <bruno@clisp.org>
37812
37813         Tests for module 'inet_ntop'.
37814         * modules/inet_ntop-tests: New file.
37815         * tests/test-inet_ntop.c: New file.
37816
37817 2009-11-04  Eric Blake  <ebb9@byu.net>
37818
37819         stdlib-safer: wrap all mkstemp variants
37820         * modules/mkostemp (configure.ac): Set witness.
37821         * modules/mkostemps (configure.ac): Likewise.
37822         * modules/mkstemps (configure.ac): Likewise.
37823         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37824         (mkstemps_safer): Wrap more functions.
37825         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37826         wrapping.
37827         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37828         (mkstemps_safer): Implement the wrappers.
37829
37830         mkstemps, mkostemps: new modules
37831         * modules/mkostemps: New module.
37832         * modules/mkstemps: Likewise.
37833         * lib/mkostemps.c (mkostemps): New file.
37834         * lib/mkstemps.c (mkstemps): Likewise.
37835         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37836         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37837         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37838         * modules/stdlib (Makefile.am): Substitute them.
37839         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37840         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37841         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37842         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37843         * MODULES.html.sh (File system functions): Mention them.
37844
37845         tempname: resync from glibc
37846         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37847         same values for __GT_FILE as glibc.  Abort even when assertions
37848         are disabled.
37849         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37850         match its value otherwise.  Allow idempotent inclusion.
37851         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37852         * lib/mkostemp.c (mkostemp): Likewise.
37853         * lib/mkstemp.c (mkstemp): Likewise.
37854         * lib/tmpfile.c (tmpfile): Likewise.
37855         * NEWS: Document this.
37856
37857         utimens: fix use of futimens on older Linux
37858         * lib/utimens.c (fdutimens): Use updated, rather than original,
37859         timespec to avoid bug in older Linux kernel.
37860         Reported by Simon Josefsson.
37861
37862 2009-11-04  Bruno Haible  <bruno@clisp.org>
37863
37864         Make num_processors more flexible and consistent.
37865         * lib/nproc.h (enum nproc_query): New type.
37866         (num_processors): Add a 'query' argument.
37867         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37868         (num_processors): Add a 'query' argument. Test the value of the
37869         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37870         mingw, count the number of CPUs available for the current process.
37871         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37872         Check for sched_getaffinity and sched_getaffinity_np.
37873         * modules/nproc (Depends-on): Add c-ctype, extensions.
37874         * NEWS: Mention the change.
37875
37876 2009-11-03  Bruno Haible  <bruno@clisp.org>
37877
37878         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37879
37880 2009-11-03  Jim Meyering  <meyering@redhat.com>
37881
37882         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37883         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37884         if it is defined.
37885
37886 2009-11-02  Eric Blake  <ebb9@byu.net>
37887
37888         mktime, timegm: share common declaration
37889         * lib/mktime-internal.h: New file.
37890         * lib/mktime.c: Use it rather than open-coding a declaration.
37891         * lib/timegm.c: Likewise.
37892         * modules/mktime (Files): Ship it.
37893         * modules/timegm (Files): Likewise.
37894         Suggested by Bruno Haible.
37895
37896         test-update-copyright: update test to match script changes
37897         * tests/test-update-copyright.sh: Avoid hard-coding perl
37898         location.  Don't update *.bak created by earlier runs.
37899
37900 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37901             Simon Josefsson  <simon@josefsson.org>
37902             Bruno Haible  <bruno@clisp.org>
37903
37904         Fix link error on Solaris 8.
37905         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37906         also in libnsl. Define also INET_PTON_LIB.
37907         * modules/inet_pton (Link): New section.
37908
37909 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37910             Bruno Haible  <bruno@clisp.org>
37911
37912         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37913         * modules/inet_ntop (Link): New section.
37914         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37915
37916 2009-11-02  Eric Blake  <ebb9@byu.net>
37917
37918         maint: avoid compiler warnings in m4 macros
37919         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37920         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37921
37922 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37923
37924         * m4/pmccabe2html.m4: Remove file.
37925         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37926         function.  Change maintainer.
37927         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37928         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37929         Courtès).
37930
37931 2009-10-31  Eric Blake  <ebb9@byu.net>
37932
37933         fseeko: fix m4 regression
37934         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37935         regression from 2009-10-27.
37936         Reported by Ralf Wildenhues.
37937
37938 2009-10-31  Jim Meyering  <meyering@redhat.com>
37939
37940         inttostr: aesthetics and improved (compile-time) safety
37941         Define inttype_is_signed rather than inttype_is_unsigned,
37942         since the sole use is via "#if inttype_is_signed".
37943         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37944         inttype_is_unsigned.
37945         * lib/offtostr.c (inttype_is_signed): Likewise.
37946         * lib/uinttostr.c (inttype_is_signed): Likewise.
37947         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37948         * lib/inttostr.c (inttostr): Use verify to cross-check the
37949         inttype_is_signed value and the signedness of the actual type.
37950         * modules/inttostr (Depends-on): Add verify.
37951
37952 2009-10-30  Eric Blake  <ebb9@byu.net>
37953
37954         build: avoid compiler warnings
37955         * lib/fchmodat.c (lchmod): Mark unused variables.
37956         * lib/getopt.c (_getopt_initialize): Likewise.
37957         * lib/mktime.c (__mktime_internal): Provide prototype.
37958         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37959         older gcc that do not understand #pragma GCC diagnostic.
37960         * lib/uinttostr.c (inttype_is_unsigned): Define.
37961         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37962
37963 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37964
37965         stat: fix compilation on AIX
37966         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37967         only see struct stat64.
37968
37969 2009-10-30  Eric Blake  <ebb9@byu.net>
37970
37971         exclude: make more robust
37972         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37973         rather than masking a coding bug.
37974         Suggested by Bruno Haible.
37975
37976 2009-10-30  Jim Meyering  <meyering@redhat.com>
37977
37978         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37979         Rather than putting #!/usr/bin/perl on the first line,
37980         start with a variant of what's recommended by "man perlrun" that
37981         invokes the first "perl" program from your shell's search path.
37982         * build-aux/gitlog-to-changelog: Replace #!... as above.
37983         Add a "Local Variables" perl mode setting.
37984         Prompted by a patch from Ludovic Courtès.
37985         Improved by Eric Blake.
37986         * build-aux/useless-if-before-free: Likewise.
37987         * build-aux/announce-gen: Likewise.
37988         * build-aux/update-copyright: Likewise.
37989
37990 2009-10-29  Eric Blake  <ebb9@byu.net>
37991
37992         filenamecat-lgpl: adjust clients
37993         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37994         filenamecat.
37995         * modules/renameat (Depends-on): Likewise.
37996
37997         filenamecat: split into filenamecat-lgpl
37998         * modules/filenamecat-lgpl: New module.
37999         * modules/filenamecat (Files): Move library-safe files into
38000         filenamecat-lgpl.
38001         (Depends-on): Add filenamecat-lgpl.
38002         (configure.ac): Declare witness.
38003         * lib/filenamecat.h (file_name_concat): Only declare when using
38004         GPL module.
38005         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
38006         Move...
38007         * lib/filenamecat-lgpl.c: ...into new file.
38008         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
38009         (gl_FILE_NAME_CONCAT): Use it.
38010         * MODULES.html.sh (File system functions): Mention new module.
38011
38012         argp: avoid memory leak
38013         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
38014         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
38015         base_name, since the latter malloc()s and can call exit().
38016         Leak introduced 2006-07-03.
38017
38018         dirname-lgpl: adjust clients that don't need full dirname
38019         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
38020         * modules/filenamecat (Depends-on): Likewise.
38021         * modules/linkat (Depends-on): Likewise.
38022         * modules/mkancesdirs (Depends-on): Likewise.
38023         * modules/mkdir (Depends-on): Likewise.
38024         * modules/openat (Depends-on): Likewise.
38025         * modules/savewd (Depends-on): Likewise.
38026         * modules/rename (Depends-on): Likewise.
38027         (License): Relax license.
38028         * modules/mkdir-tests (Depends-on): Drop progname.
38029         (Makefile.am): Delete unneeded LDADD.
38030         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
38031
38032         dirname: split into dirname-lgpl
38033         * modules/dirname-lgpl: New module.
38034         * modules/dirname (Files): Move library-safe files into
38035         dirname-lgpl.
38036         (Depends-on): Add dirname-lgpl.
38037         (configure.ac): Declare witness.
38038         * modules/double-slash-root (License): Relax license.
38039         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
38040         module.
38041         * lib/dirname.c (dir_len, mdir_name): Move...
38042         * lib/dirname-lgpl.c: ...into new file.
38043         * lib/basename.c (last_component, base_len): Move...
38044         * lib/basename-lgpl.c: ...into new file.
38045         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
38046         (gl_DIRNAME): Use it.
38047         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
38048         Mention new module.
38049         * modules/dirname-tests (Depends-on): Add progname.
38050         * tests/test-dirname.c (program_name): Delete.
38051
38052         mkdir: make safe for libraries
38053         * modules/mkdir (Depends-on): Drop xalloc.
38054         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
38055         exit.
38056
38057         tests: avoid some compiler warnings
38058         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
38059         literals.
38060         * tests/test-memchr.c (main): Avoid type mismatch.
38061         * tests/test-arpa_inet.c (main): Avoid unused parameters.
38062         * tests/test-base64.c (main): Likewise.
38063         * tests/test-getdelim.c (main): Likewise.
38064         * tests/test-gethostname.c (main): Likewise.
38065         * tests/test-getline.c (main): Likewise.
38066         * tests/test-netinet_in.c (main): Likewise.
38067         * tests/test-select.c (open_server_socket, main): Likewise.
38068         * tests/test-select-stdin.c (main): Likewise.
38069         * tests/test-sockets.c (main): Likewise.
38070         * tests/test-strsignal.c (main): Likewise.
38071         * tests/test-sys_select.c (main): Likewise.
38072         * tests/test-sys_socket.c (main): Likewise.
38073         * tests/test-u64.c (main): Likewise.
38074         * tests/test-xfprintf-posix.c (main): Likewise.
38075         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
38076
38077         sockets: avoid compiler warning
38078         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
38079
38080         maint: detect usage(1) and other suspicious exits
38081         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
38082
38083 2009-10-29  Jim Meyering  <meyering@redhat.com>
38084
38085         timespec: long-to-int truncation could make timespec_cmp malfunction
38086         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
38087         a multiple of 2^32 nanoseconds as no difference.
38088
38089 2009-10-28  Jim Meyering  <meyering@redhat.com>
38090
38091         fprintftime: wrap macro code argument in "do {...} while(0)"
38092         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
38093         cpy macro must be a statement that can be followed by a semicolon.
38094         Now that the else clause contains a comment and is hence longer
38095         than one line, I require curly braces.  That in turn requires
38096         that we wrap this code block in the standard do...while(0).
38097
38098         fprintftime: remove stray semicolon from previous change
38099         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
38100
38101         fprintftime: avoid a warning about ignored fwrite return value
38102         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
38103         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
38104         that is unsafe.
38105         * modules/fprintftime (Depends-on): Add ignore-value.
38106
38107         exclude: avoid an unwarranted warning
38108         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
38109
38110 2009-10-27  Eric Blake  <ebb9@byu.net>
38111
38112         fseek: avoid compilation failure when fflush is replaced
38113         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
38114         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
38115         module is in use.
38116         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
38117         module is not in use; since REPLACE_FSEEK worked otherwise.
38118         (GNULIB_FTELLO): Likewise for ftell.
38119         Reported by Ian Beckwith and others.
38120
38121 2009-10-27  Bruno Haible  <bruno@clisp.org>
38122
38123         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
38124         Reported by Jim Meyering.
38125
38126 2009-10-27  Jim Meyering  <jim@meyering.net>
38127             Bruno Haible  <bruno@clisp.org>
38128
38129         Avoid warning despite dropping the return value of fwrite.
38130         * lib/unicodeio.c: Include ignore-value.h.
38131         (fwrite_success_callback): Explicitly ignore fwrite's return value.
38132         * modules/unicodeio (Depends-on): Add ignore-value.
38133
38134 2009-10-26  Eric Blake  <ebb9@byu.net>
38135
38136         areadlinkat: fix fallback path
38137         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
38138         pointer and zero.
38139
38140 2009-10-22  Pádraig Brady  <P@draigBrady.com>
38141
38142         Use a better IO block size for modern systems
38143         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
38144         * lib/md2.c: Likewise.
38145         * lib/md4.c: Likewise.
38146         * lib/md5.c: Likewise.
38147         * lib/sha1.c: Likewise.
38148         * lib/sha256.c: Likewise.
38149         * lib/sha512.c: Likewise.
38150
38151 2009-10-22  Eric Blake  <ebb9@byu.net>
38152
38153         tests: avoid several compiler warnings
38154         * tests/test-getcwd.c (main): Avoid buffer underflow.
38155         * tests/test-getdate.c (main): String literals are not safe with
38156         putenv, so use setenv.  Declare unused argument.
38157         * modules/getdate-tests (Depends-on): Add setenv.
38158         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
38159         problems with string literals in char *.
38160         * tests/test-hash.c (main): Avoid shadowing declaration.
38161         (insert_new): Treat string literals as char const *.
38162         * tests/test-getopt.h (test_getopt): Likewise.
38163         (getopt_loop): Alter types to minimize casting elsewhere.
38164         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
38165         (test_getopt_long_posix): Likewise.
38166         (do_getopt_long): Add wrapper to minimize casting.
38167         * tests/test-atexit.c (clear_temp_file): Use void.
38168         * tests/test-areadlink-with-size.c (main): Declare unused
38169         arguments.
38170         * tests/test-areadlink.c (main): Likewise.
38171         * tests/test-areadlinkat-with-size.c (main): Likewise.
38172         * tests/test-areadlinkat.c (main): Likewise.
38173         * tests/test-canonicalize-lgpl.c (main): Likewise.
38174         * tests/test-canonicalize.c (main): Likewise.
38175         * tests/test-dirent-safer.c (main): Likewise.
38176         * tests/test-dirname.c (main): Likewise.
38177         * tests/test-dup2.c (main): Likewise.
38178         * tests/test-fchdir.c (main): Likewise.
38179         * tests/test-fcntl-h.c (main): Likewise.
38180         * tests/test-fcntl-safer.c (main): Likewise.
38181         * tests/test-fdopendir.c (main): Likewise.
38182         * tests/test-fdutimensat.c (main): Likewise.
38183         * tests/test-fflush.c (main): Likewise.
38184         * tests/test-filenamecat.c (main): Likewise.
38185         * tests/test-filevercmp.c (main): Likewise.
38186         * tests/test-fopen-safer.c (main): Likewise.
38187         * tests/test-fopen.c (main): Likewise.
38188         * tests/test-fpending.c (main): Likewise.
38189         * tests/test-fpurge.c (main): Likewise.
38190         * tests/test-freading.c (main): Likewise.
38191         * tests/test-fstatat.c (main): Likewise.
38192         * tests/test-fsync.c (main): Likewise.
38193         * tests/test-futimens.c (main): Likewise.
38194         * tests/test-getndelim2.c (main): Likewise.
38195         * tests/test-gettimeofday.c (main): Likewise.
38196         * tests/test-getopt.c (main): Likewise.
38197         * tests/test-i-ring.c (main): Likewise.
38198         * tests/test-inttypes.c (main): Likewise.
38199         * tests/test-link.c (main): Likewise.
38200         * tests/test-lstat.c (main): Likewise.
38201         * tests/test-math.c (main): Likewise.
38202         * tests/test-md5.c (main): Likewise.
38203         * tests/test-memchr2.c (main): Likewise.
38204         * tests/test-memrchr.c (main): Likewise.
38205         * tests/test-mkdir.c (main): Likewise.
38206         * tests/test-mkdirat.c (main): Likewise.
38207         * tests/test-mkfifoat.c (main): Likewise.
38208         * tests/test-open.c (main): Likewise.
38209         * tests/test-openat-safer.c (main): Likewise.
38210         * tests/test-openat.c (main): Likewise.
38211         * tests/test-quotearg.c (main): Likewise.
38212         * tests/test-rawmemchr.c (main): Likewise.
38213         * tests/test-readlink.c (main): Likewise.
38214         * tests/test-remove.c (main): Likewise.
38215         * tests/test-rename.c (main): Likewise.
38216         * tests/test-renameat.c (main): Likewise.
38217         * tests/test-rmdir.c (main): Likewise.
38218         * tests/test-sha1.c (main): Likewise.
38219         * tests/test-signal.c (main): Likewise.
38220         * tests/test-sigaction.c (main): Likewise.
38221         * tests/test-stat.c (main): Likewise.
38222         * tests/test-stat-time.c (main): Likewise.
38223         * tests/test-stddef.c (main): Likewise.
38224         * tests/test-stdint.c (main): Likewise.
38225         * tests/test-stdio.c (main): Likewise.
38226         * tests/test-stdlib.c (main): Likewise.
38227         * tests/test-strchrnul.c (main): Likewise.
38228         * tests/test-strerror.c (main): Likewise.
38229         * tests/test-string.c (main): Likewise.
38230         * tests/test-strtod.c (main): Likewise.
38231         * tests/test-strverscmp.c (main): Likewise.
38232         * tests/test-symlink.c (main): Likewise.
38233         * tests/test-symlinkat.c (main): Likewise.
38234         * tests/test-sys_stat.c (main): Likewise.
38235         * tests/test-sys_time.c (main): Likewise.
38236         * tests/test-time.c (main): Likewise.
38237         * tests/test-unistd.c (main): Likewise.
38238         * tests/test-unlink.c (main): Likewise.
38239         * tests/test-unlinkat.c (main): Likewise.
38240         * tests/test-utimens.c (main): Likewise.
38241         * tests/test-utimensat.c (main): Likewise.
38242         * tests/test-version-etc.c (main): Likewise.
38243         * tests/test-wchar.c (main): Likewise.
38244         * tests/test-wctype.c (main): Likewise.
38245         * tests/test-xprintf-posix.c (main): Likewise.
38246         * tests/test-posixtm.c (main): Likewise.
38247         (STREQ): Delete unused macro.
38248         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
38249         shadowed variables.
38250         * tests/test-memchr.c (main): Likewise.
38251
38252 2009-10-21  Eric Blake  <ebb9@byu.net>
38253
38254         areadlinkat: avoid failure on older glibc
38255         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
38256         rather than mis-comparing 0 against FUNC_RESULT of char*.
38257
38258 2009-10-21  Bruno Haible  <bruno@clisp.org>
38259
38260         * modules/stpncpy (License): Relicense under LGPLv2+.
38261         Reported by David Lutterkort <lutter@redhat.com>.
38262
38263 2009-10-20  Eric Blake  <ebb9@byu.net>
38264
38265         utimensat: work around Solaris 9 bug
38266         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
38267         has trailing slash bugs.
38268         * tests/test-lutimens.h (test_lutimens): Enhance test.
38269         * tests/test-utimens.h (test_utimens): Likewise.
38270         * doc/posix-functions/utime.texi (utime): Enhance documentation.
38271         * doc/posix-functions/utimes.texi (utimes): Likewise.
38272         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38273         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
38274         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
38275         * doc/posix-functions/futimens.texi (futimens): Likewise.
38276
38277         fdutimensat: new module
38278         * modules/fdutimensat: New file.
38279         * lib/fdutimensat.c (fdutimensat): Likewise.
38280         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
38281         * MODULES.html.sh (File system functions): Mention module.
38282         * modules/fdutimensat-tests: New test.
38283         * tests/test-fdutimensat.c: Likewise.
38284
38285         doc: regenerate INSTALL
38286         * doc/INSTALL: Reflect recent autoconf update.
38287         * doc/INSTALL.ISO: Likewise.
38288         * doc/INSTALL.UTF-8: Likewise.
38289
38290 2009-10-20  Pádraig Brady  <P@draigBrady.com>
38291
38292         acl: warn if ACL support is not detected
38293         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
38294
38295 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
38296
38297         * lib/nproc.h: Add extern "C" block for C++.
38298
38299 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
38300             Bruno Haible  <bruno@clisp.org>
38301
38302         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
38303         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
38304         * doc/posix-functions/isalpha.texi: Likewise.
38305         * doc/posix-functions/isblank.texi: Likewise.
38306         * doc/posix-functions/iscntrl.texi: Likewise.
38307         * doc/posix-functions/isdigit.texi: Likewise.
38308         * doc/posix-functions/isgraph.texi: Likewise.
38309         * doc/posix-functions/islower.texi: Likewise.
38310         * doc/posix-functions/isprint.texi: Likewise.
38311         * doc/posix-functions/ispunct.texi: Likewise.
38312         * doc/posix-functions/isspace.texi: Likewise.
38313         * doc/posix-functions/isupper.texi: Likewise.
38314         * doc/posix-functions/isxdigit.texi: Likewise.
38315
38316 2009-10-18  Bruno Haible  <bruno@clisp.org>
38317
38318         Tests for module 'isblank'.
38319         * modules/isblank-tests: New file.
38320         * tests/test-isblank.c: New file.
38321
38322         New module 'isblank'.
38323         * lib/isblank.c: New file.
38324         * m4/isblank.m4: New file.
38325         * modules/isblank: New file.
38326         * doc/posix-functions/isblank.texi: Mention the new module.
38327
38328 2009-10-18  Bruno Haible  <bruno@clisp.org>
38329
38330         New module 'ctype'.
38331         * lib/ctype.in.h: New file.
38332         * m4/ctype.m4: New file.
38333         * modules/ctype: New file.
38334         * doc/posix-headers/ctype.texi: Mention the new module.
38335
38336 2009-10-18  Jim Meyering  <meyering@redhat.com>
38337
38338         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
38339         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
38340         right after its initialization, rather than farther down.
38341         Keeping these in close proximity makes it easier to ensure
38342         that each such variable is initialized.  E.g.,
38343
38344             LIB_CLOCK_GETTIME=
38345             AC_SUBST([LIB_CLOCK_GETTIME])
38346
38347         This change also increments these serial numbers.
38348         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
38349         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38350         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38351
38352 2009-10-18  Bruno Haible  <bruno@clisp.org>
38353
38354         Don't let environment variables perturb build.
38355         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
38356         (gl_PREREQ_GETHRXTIME): ... not here.
38357
38358 2009-10-18  Bruno Haible  <bruno@clisp.org>
38359
38360         Avoid symlink attack in localcharset module.
38361         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
38362         (O_NOFOLLOW): Define fallback.
38363         (get_charset_aliases): Don't open the file if it is a symbolic link.
38364         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
38365         gl_FCNTL_H.
38366         (gl_FCNTL_H): Require it.
38367         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
38368         * modules/localcharset (Files): Add m4/fcntl_h.m4.
38369         Reported by Fergal Glynn <fglynn@veracode.com>.
38370
38371 2009-10-18  Bruno Haible  <bruno@clisp.org>
38372
38373         Implement nproc for mingw.
38374         * lib/nproc.c: Include <windows.h>
38375         (num_processors): On native Windows platforms, try GetSystemInfo.
38376
38377 2009-10-18  Bruno Haible  <bruno@clisp.org>
38378
38379         Implement nproc for IRIX.
38380         * lib/nproc.c: Include <sys/sysmp.h>.
38381         (num_processors): On IRIX systems, try sysmp.
38382         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
38383
38384 2009-10-18  Bruno Haible  <bruno@clisp.org>
38385
38386         Implement nproc for HP-UX.
38387         * lib/nproc.c: Include <sys/pstat.h>
38388         (num_processors): On HP-UX systems, try pstat_getdynamic.
38389         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
38390         pstat_getdynamic.
38391
38392 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
38393             Bruno Haible  <bruno@clisp.org>
38394
38395         Implement nproc for NetBSD, OpenBSD.
38396         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
38397         (ARRAY_SIZE): New macro.
38398         (num_processors): On BSD systems, try sysctl of HW_NCPU.
38399         * m4/nproc.m4: New file.
38400         * modules/nproc (Files): Add m4/nproc.m4.
38401         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
38402         (Makefile.am): Instead, augment lib_SOURCES.
38403
38404 2009-10-18  Bruno Haible  <bruno@clisp.org>
38405
38406         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
38407         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
38408         sys/param.h.
38409
38410 2009-10-16  Eric Blake  <ebb9@byu.net>
38411
38412         utimensat: new module
38413         * modules/utimensat: New file.
38414         * lib/utimensat.c (utimensat): Likewise.
38415         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38416         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
38417         so we can work around Linux bugs.
38418         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38419         * modules/sys_stat (Makefile.am): Substitute them.
38420         * lib/sys_stat.in.h (utimensat): Declare it.
38421         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38422         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38423         * modules/utimensat-tests: New test.
38424         * tests/test-utimensat.c: Likewise.
38425
38426         utimens: let lutimens work on non-symlinks
38427         * lib/utimens.c (lutimens): Fall back to utimens rather than
38428         failing with ENOSYS, when file is not a symlink.
38429         (utimens): Reduce redirection.
38430         * tests/test-lutimens.h (test_lutimens): Update test to cover
38431         non-symlinks.
38432         * tests/test-utimens.h (test_utimens): Update test to cover
38433         symlinks.
38434         * tests/test-utimens.c (main): Update caller.
38435
38436         utimens: cache whether utimensat syscall works
38437         * lib/utimens.c (utimensat_works_really): New cache variable.
38438         (fdutimens, lutimens): Use it to avoid failing syscall.
38439
38440         test-stat-time, test-utimens: improve portability
38441         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38442         ext4 on alpha, and for cygwin.
38443         * tests/test-utimens-common.h: New file.
38444         (nap): Factor delays into single function.
38445         * tests/test-lutimens.h (test_lutimens): Use new header.
38446         * tests/test-futimens.h (test_futimens): Likewise.
38447         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38448         timestamps to occur from same machine, as was done previously for
38449         test_utimens.
38450         * modules/utimens-tests (Files): Ship new file.
38451         * modules/futimens-tests (Files): Likewise.
38452         Reported in part by Jim Meyering.
38453
38454         sys_stat: sort replacement declarations
38455         * lib/sys_stat.in.h: Sort declarations.
38456         * lib/futimens.c (futimens): Fix typo.
38457
38458 2009-10-15  Jim Meyering  <meyering@redhat.com>
38459
38460         don't let environment settings perturb build
38461         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38462         could cause a configure-time and/or build-time malfunction.
38463         Typically, a configure-time function-in-library test is performed
38464         via code like this:
38465
38466           LIB_VAR=
38467           AC_SUBST([LIB_VAR])
38468           prefix_saved_LIBS=$LIBS
38469             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38470                        [test "$ac_cv_search_FUNC" = "none required" ||
38471                         LIB_VAR=$ac_cv_search_FUNC])
38472           LIBS=$prefix_saved_LIBS
38473
38474         However, in each of the files affected by this change, the LIB_VAR=
38475         initialization was omitted.  Thus, when set in the environment, its
38476         value would propagate into generated Makefiles when FUNC is not found
38477         in LIB_NAME.
38478         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38479         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38480         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38481
38482 2009-10-14  Eric Blake  <ebb9@byu.net>
38483
38484         fchdir: avoid infinite recursion in mingw
38485         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38486         recursing.
38487
38488         test-stat-time: port to mingw
38489         * tests/test-stat-time.c (force_unlink): Return a value.
38490         (test_ctime) [W32]: Fix compilation error.
38491         (nap): Don't call usleep with too large an argument.  Use
38492         force_unlink.
38493         * doc/pastposix-functions/usleep.texi (usleep): Document the
38494         portability issue.
38495
38496 2009-10-13  Jim Meyering  <meyering@redhat.com>
38497
38498         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38499         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38500         * modules/pipe-filter-ii: Likewise.
38501         * modules/sys_socket-tests: Likewise.
38502         * modules/tsearch-tests: Likewise.
38503         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38504         (check): Depend on it.
38505
38506 2009-10-12  Eric Blake  <ebb9@byu.net>
38507
38508         utimens-tests: port to NFS file systems
38509         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38510         comparisons to avoid spurious failures from timestamp drift
38511         between NFS machines.
38512
38513 2009-10-12  Eric Blake  <ebb9@byu.net>
38514
38515         stat-time-tests: minor cleanups
38516         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38517         * tests/test-stat-time.c (nap): Separate assignment from call.
38518         Suggested by Paolo Bonzini and Bruno Haible.
38519
38520         sys_stat: guarantee struct timespec
38521         * lib/sys_stat.in.h (includes): Always include <time.h>
38522         * modules/sys_stat (Depends-on): Add time.
38523         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38524         mode_t permission values.
38525         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38526         get at subsecond timestamps.
38527
38528 2009-10-10  Eric Blake  <ebb9@byu.net>
38529
38530         futimens: new module
38531         * modules/futimens: New file.
38532         * lib/futimens.c (futimens): Likewise.
38533         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38534         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38535         we can work around Linux bugs.
38536         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38537         * modules/sys_stat (Makefile.am): Substitute them.
38538         * lib/sys_stat.in.h (futimens): Declare it.
38539         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38540         * doc/posix-functions/futimens.texi (futimens): Likewise.
38541         * modules/futimens-tests: New test.
38542         * tests/test-futimens.c: Likewise.
38543
38544         utimens: introduce fdutimens
38545         * lib/utimens.h (fdutimens): New prototype.
38546         * lib/utimens.c (gl_futimens): Move guts...
38547         (fdutimens): ...to new interface.
38548         * tests/test-utimens.c (do_fdutimens): Use it.
38549
38550         utimens: add UTIME_NOW and UTIME_OMIT support
38551         * lib/utimens.c (validate_timespec, update_timespec): New helper
38552         functions.
38553         (gl_futimens, lutimens): Use them.
38554         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38555         stdbool, sys_stat.
38556         (Link): Mention resulting library dependency.
38557         * modules/utimecmp (Link): Likewise.
38558         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38559         (Makefile.am): Pick up library dependency.
38560         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38561         definition.
38562         * tests/test-sys_stat.c: Test the definitions.
38563         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38564         * NEWS: Document library dependency.
38565
38566         utimecmp: support symlink timestamps
38567         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38568         hashing when possible.  Use pathconf when available.
38569         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38570         * modules/utimecmp (Depends-on): Add lstat.
38571
38572         utimens: add lutimens interface
38573         * lib/utimens.c (lutimens): New function.
38574         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38575         * lib/utimens.h (lutimens): Declare new interface.
38576         * tests/test-utimens.c (main): Enhance test.
38577         * tests/test-lutimens.h (test_lutimens): New file.
38578         * modules/utimens-tests (Files): Distribute it.
38579         (Depends-on): Add symlink.
38580         (configure.ac): Check for usleep.
38581
38582         utimens: validate futimens usage
38583         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38584         fewer syscalls on failure later on.  Avoid compiler warning on
38585         mingw.
38586         * modules/utimens (Depends-on): Add dup2.
38587
38588         utimens: add test
38589         * modules/utimens-tests: New test.
38590         * tests/test-utimens.h: New file.
38591         * tests/test-futimens.h: Likewise.
38592         * tests/test-utimens.c: Likewise.
38593
38594         doc: mention timestamp portability issues
38595         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38596         instead.
38597         * doc/posix-functions/utime.texi (utime): Likewise.
38598         * doc/posix-functions/utimes.texi (utimes): Likewise.
38599         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38600         instead.
38601         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38602         module.
38603         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38604         Mention weakness with symlink timestamps.
38605         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38606         to utimensat/futimens instead.
38607         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38608
38609         test-dup2: enhance test
38610         * tests/test-dup2.c (main): Also check AT_FDCWD.
38611
38612         test-stat-time: avoid more spurious failures
38613         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38614         xfs; and avoid race if the two timestamps cross quantization edge.
38615
38616         relocatable: prefer 'file system' over 'filesystem'
38617         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38618         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38619         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38620         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38621         * lib/relocatable.c (compute_curr_prefix): Likewise.
38622
38623 2009-10-10  Jim Meyering  <meyering@redhat.com>
38624
38625         stat-time-tests: check for the usleep function
38626         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38627
38628 2009-10-10  Bruno Haible  <bruno@clisp.org>
38629
38630         * modules/xnanosleep: Put the Link section after the Include section.
38631
38632 2009-10-09  Eric Blake  <ebb9@byu.net>
38633
38634         dup2: work around FreeBSD 6.1 bug
38635         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38636         * doc/posix-functions/dup2.texi (dup2): Document it.
38637         Reported by Nelson H. F. Beebe and Jim Meyering.
38638
38639         test-stat-time: port to buggy NFS clients
38640         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38641         (test_ctime): Also skip test if mtime and ctime are skewed.
38642
38643         maint: prefer 'file system' over 'filesystem'
38644         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38645         * doc/posix-functions/lstat.texi (lstat): Likewise.
38646         * lib/file-has-acl.c (file_has_acl): Likewise.
38647         * lib/fwriteerror.c [TEST]: Likewise.
38648         * tests/test-areadlink.h (test_areadlink): Likewise.
38649         * tests/test-areadlinkat-with-size.c (main): Likewise.
38650         * tests/test-areadlinkat.c (main): Likewise.
38651         * tests/test-canonicalize-lgpl.c (main): Likewise.
38652         * tests/test-canonicalize.c (main): Likewise.
38653         * tests/test-fstatat.c (main): Likewise.
38654         * tests/test-linkat.c (main): Likewise.
38655         * tests/test-lstat.h (test_lstat_func): Likewise.
38656         * tests/test-mkdir.h (test_mkdir): Likewise.
38657         * tests/test-readlink.h (test_readlink): Likewise.
38658         * tests/test-remove.c (main): Likewise.
38659         * tests/test-rename.h (test_rename): Likewise.
38660         * tests/test-renameat.c (main): Likewise.
38661         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38662         * tests/test-symlink.h (test_symlink): Likewise.
38663         * tests/test-symlinkat.c (main): Likewise.
38664         * tests/test-unlink.h (test_unlink_func): Likewise.
38665         * tests/test-unlinkat.c (main): Likewise.
38666
38667         maint: make realtime library usage explicit
38668         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38669         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38670         * modules/settime (Link): Likewise.
38671         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38672
38673         test-stat-time: speed up execution
38674         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38675         warning on mingw.
38676         (nap): New helper function.
38677         (prepare_test): Use it to reduce sleep time.
38678         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38679         execution.
38680         * modules/stat-time-tests (configure.ac): Check for usleep.
38681
38682 2009-10-09  Jim Meyering  <meyering@redhat.com>
38683
38684         selinux-h: always use getfilecon wrappers
38685         * lib/getfilecon.c: New file.
38686         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38687         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38688         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38689         (fgetfilecon): Provide a stub.
38690         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38691         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38692         file unconditionally.
38693         When <selinux/selinux.h> is found, arrange to use wrappers.
38694         * modules/selinux-h (Files): Add getfilecon.c.
38695         (Makefile.am): Substitute include-next-related bits
38696         into the now-always-generated selinux/selinux.h file.
38697         * doc/glibc-functions/lgetfilecon.texi: New file.
38698         * doc/glibc-functions/fgetfilecon.texi: New file.
38699         * doc/glibc-functions/getfilecon.texi: New file.
38700         * doc/glibc-functions/getfilecon-desc.texi: New file.
38701         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38702         which to pull in the new files.
38703         * MODULES.html.sh (Misc): Add selinux-h.
38704
38705 2009-10-08  Jim Meyering  <meyering@redhat.com>
38706
38707         unistd: fix comment typo
38708         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38709
38710 2009-10-08  Eric Blake  <ebb9@byu.net>
38711
38712         areadlink: use SIZE_MAX consistently
38713         * modules/areadlink (Depends-on): Add stdint.
38714         * modules/areadlink-with-size (Depends-on): Likewise.
38715         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38716         gives NULL; drop sys/types, since unistd gives size_t; and add
38717         stdint for SIZE_MAX.
38718         (SIZE_MAX): Rely on headers.
38719         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38720         and add stdint.
38721         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38722         (SIZE_MAX): Likewise.
38723         (INITIAL_BUF_SIZE): Turn into enum.
38724         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38725
38726 2009-10-08  Jim Meyering  <meyering@redhat.com>
38727
38728         areadlinkat: avoid compilation failure
38729         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38730         Fix typo in comment.
38731
38732 2009-10-07  Eric Blake  <ebb9@byu.net>
38733
38734         areadlinkat-with-size: new module
38735         * modules/areadlinkat-with-size: New module.
38736         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38737         * lib/areadlink.h (areadlinkat): Declare it.
38738         * MODULES.html.sh (File system functions): Mention it.
38739         * modules/areadlinkat-with-size-tests: New test.
38740         * tests/test-areadlinkat-with-size.c: New file.
38741
38742         xreadlinkat: new module
38743         * modules/xreadlinkat: New module.
38744         * lib/xreadlinkat.c (xreadlinkat): New file.
38745         * lib/xreadlink.h (xreadlinkat): Declare it.
38746         * MODULES.html.sh (File system functions): Mention it.
38747
38748         areadlinkat: new module
38749         * lib/at-func.c (FUNC_FAIL): New define.
38750         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38751         * modules/areadlinkat: New module.
38752         * lib/linkat.c (areadlinkat): Move...
38753         * lib/areadlinkat.c (areadlinkat): ...to new file.
38754         * lib/areadlink.h (areadlinkat): Declare it.
38755         * modules/linkat (Depends-on): Add areadlinkat.
38756         * MODULES.html.sh (File system functions): Mention it.
38757         * modules/areadlinkat-tests: New test.
38758         * tests/test-areadlinkat.c: New file.
38759
38760         areadlink, areadlink-with-size: add tests
38761         * modules/areadlink-tests: New test.
38762         * modules/areadlink-with-size-tests: Likewise.
38763         * tests/test-areadlink.h: New file.
38764         * tests/test-areadlink.c: Likewise.
38765         * tests/test-areadlink-with-size.c: Likewise.
38766
38767         maint: minor cleanups
38768         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38769         _UNUSED_PARAMETER_ instead.
38770         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38771         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38772         * modules/linkat-tests (Files): Distribute test-link.h.
38773
38774         openat, utimens: whitespace cleanup
38775         * lib/openat.c: Prefer space throughout, rather than mix of 8
38776         spaces vs. tabs.
38777         * lib/at-func.c: Likewise.
38778         * lib/utimens.c: Likewise.
38779
38780         openat: avoid using wrong fd
38781         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38782         working directory chooses same fd.
38783         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38784
38785         mkdir, mkdirat: fix cygwin 1.5.x bug
38786         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38787         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38788         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38789         bug.
38790         (gl_PREREQ_MKDIR): Delete unused macro.
38791         * modules/mkdir (Files): Track file rename.
38792         (configure.ac): Update macro name.
38793         * modules/openat (Depends-on): Add mkdir.
38794         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38795
38796         mkdir, mkdirat: add tests
38797         * modules/mkdir-tests: New test.
38798         * tests/test-mkdir.h: New file.
38799         * tests/test-mkdir.c: Likewise.
38800         * tests/test-mkdirat.c: Likewise.
38801         * modules/openat-tests (Files): Add new files.
38802         (Makefile.am): Run new test.
38803
38804 2009-10-06  Eric Blake  <ebb9@byu.net>
38805
38806         doc: tweak *at function documentation
38807         * doc/posix-functions/faccessat.texi (faccessat): Mention
38808         known issue with replacement.
38809         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38810         * doc/posix-functions/linkat.texi (linkat): Likewise.
38811         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38812         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38813         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38814         * doc/posix-functions/renameat.texi (renameat): Likewise.
38815         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38816
38817         openat: fix GNU/Hurd bug in unlinkat
38818         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38819         broken.
38820         * doc/posix-functions/unlink.texi (unlink): Document this.
38821         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38822
38823         fdopendir: fix GNU/Hurd bug
38824         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38825         allowing non-directory fds.
38826         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38827         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38828         * modules/dirent (Makefile.am): Substitute it.
38829         * lib/dirent.in.h (fdopendir): Declare replacement.
38830         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38831         * tests/test-fdopendir.c (main): Test something other than
38832         /dev/null, since on Hurd that behaves like a directory.
38833
38834         test-symlink: port to GNU/Hurd
38835         * tests/test-symlink.h (test_symlink): Relax expected errno.
38836
38837         doc: tweak more cygwin information
38838         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38839         now compatible with glibc.
38840         * doc/posix-functions/getopt.texi (getopt): Likewise.
38841
38842         getopt-gnu: add another test
38843         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38844         guarantee behavior relied on by m4.
38845         * tests/test-getopt.c (main): Use it.
38846         * modules/getopt-posix-tests (Depends-on): Add setenv.
38847         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38848
38849         getopt: fix compilation on darwin
38850         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38851         include.
38852         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38853         Reported by Ludovic Courtès.
38854
38855 2009-10-06  Bruno Haible  <bruno@clisp.org>
38856
38857         * modules/size_max (Description): Discourage its use.
38858         Reported by Simon Josefsson.
38859
38860 2009-10-06  Jim Meyering  <meyering@redhat.com>
38861
38862         linkat: avoid compilation failure
38863         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38864
38865 2009-10-05  Eric Blake  <ebb9@byu.net>
38866
38867         linkat: support Linux 2.6.17
38868         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38869         linkat on Linux, but allow cache variable override.
38870         * lib/linkat.c (rpl_linkat): Define override.
38871         * modules/linkat (Depends-on): Add symlinkat.
38872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38873         * modules/unistd (Makefile.am): Substitute it.
38874         * lib/unistd.in.h (linkat): Declare replacement.
38875         Reported by Pádraig Brady.
38876
38877         quotearg: port test to systems with C.UTF-8 locale
38878         * tests/test-quotearg.c (struct result_strings): Add another
38879         member, differentiating between C.ASCII and C.UTF-8 handling.
38880         (compare_strings): Add parameter.
38881         (main): Adjust all callers.
38882
38883         getopt: avoid clash with FreeBSD _getopt_internal
38884         * lib/getopt.in.h (_getopt_internal): Override the name.
38885         * lib/getopt_int.h (includes): Pick up any overrides.
38886         Reported by Reuben Thomas.
38887
38888         hash: allow C89 compilation
38889         * lib/hash.c (check_tuning): Move declaration before statement.
38890         Reported by Reuben Thomas.
38891
38892 2009-10-05  Karl Berry  <karl@gnu.org>
38893
38894         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38895
38896 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38897             Bruno Haible  <bruno@clisp.org>
38898
38899         * lib/uname.c (uname): Use a table-driven algorithm to compute
38900         Windows NT versions.
38901
38902 2009-10-04  Bruno Haible  <bruno@clisp.org>
38903
38904         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38905         program_invocation_short_name.
38906         * modules/progname (configure.ac): Test for presence of
38907         program_invocation_short_name.
38908         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38909
38910 2009-10-04  Bruno Haible  <bruno@clisp.org>
38911
38912         * lib/progname.c (set_program_name): Fix comment.
38913         Reported by Jim Meyering.
38914
38915 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38916             Bruno Haible  <bruno@clisp.org>
38917
38918         * lib/uname.c: Include <string.h>.
38919         (uname): Do only one call to GetVersionEx in the common case.
38920
38921 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38922             Bruno Haible  <bruno@clisp.org>
38923
38924         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38925         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38926         (uname): Add support for Windows CE and various non-x86 CPU types.
38927
38928 2009-10-03  Bruno Haible  <bruno@clisp.org>
38929
38930         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38931         invocation to tests/configure.ac.
38932         Reported by Ian Beckwith <ianb@erislabs.net>.
38933
38934 2009-10-02  Eric Blake  <ebb9@byu.net>
38935
38936         fchdir: avoid compiler warning
38937         * lib/fchdir.c (canonicalize_file_name)
38938         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38939
38940         test-open: support mingw errno values
38941         * tests/test-open.h (test_open): Relax test.
38942         * tests/test-fopen.h (test_fopen): Likewise.
38943         * tests/test-openat-safer.c (main): Likewise.
38944
38945         open: fix opening directory on mingw
38946         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38947
38948         test-open: on GNU/Hurd, /dev/null is a directory
38949         * tests/test-fopen.h (main): Rename...
38950         (test_fopen): ...to this.  Use a guaranteed non-directory when
38951         confirming open behavior on trailing slash.
38952         * tests/test-openat-safer.c (main): Likewise.
38953         * tests/test-open.h (main): Likewise....
38954         (test_open): ...to this.
38955         * tests/test-fopen.c (main): Adjust caller.
38956         * tests/test-fopen-safer.c (main): Likewise.
38957         * tests/test-open.c (main): Likewise.
38958         * tests/test-fcntl-safer.c (main): Likewise.
38959         Reported by Samuel Thibault.
38960
38961         rename, fchdir: don't ignore chdir failure
38962         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38963         * lib/rename.c (rpl_rename) [W32]: Likewise.
38964         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38965         an empty destination directory if source cannot be renamed,
38966         although there is still possibility for failure.
38967         * doc/posix-functions/rename.texi (rename): Document the race.
38968         Reported by Jim Meyering.
38969
38970         maint: cleanup whitespace in recent commits
38971         * lib/rename.c (rpl_rename): Remove tabs.
38972         * tests/test-link.h (test_link): Likewise.
38973         * lib/fchdir.c (get_name): Likewise.
38974         Reported by Jim Meyering.
38975
38976 2009-10-02  Ben Pfaff  <blp@gnu.org>
38977
38978         relocatable-prog-wrapper: Add missing dependency on
38979         double-slash-root.
38980         * modules/relocatable-prog-wrapper: Add dependency.
38981         Reported by Ian Beckwith <ianb@erislabs.net>.
38982
38983 2009-10-02  Eric Blake  <ebb9@byu.net>
38984
38985         renameat: fix Solaris bugs
38986         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38987         needed fixing.
38988         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38989         * modules/stdio (Makefile.am): Substitute it.
38990         * lib/stdio.in.h (renameat): Declare replacement.
38991         * lib/renameat.c (rpl_renameat): Implement fix.
38992
38993         renameat: new module
38994         * modules/renameat: New file.
38995         * lib/renameat.c (renameat): Likewise.
38996         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38997         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38998         * modules/stdio (Makefile.am): Substitute them.
38999         * lib/stdio.in.h (renameat): Declare it.
39000         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39001         * doc/posix-functions/renameat.texi (renameat): Likewise.
39002         * modules/renameat-tests: New test.
39003         * tests/test-renameat.c: Likewise.
39004
39005         rename: fix mingw bugs
39006         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
39007         directory overwrite bugs.
39008
39009         rename: fix another cygwin 1.5 bug
39010         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
39011         checks.
39012         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
39013         unnecessary cygwin workarounds.  Also work around bug with moving
39014         full directory onto an empty one.
39015         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
39016
39017         rename-dest-slash: merge into rename module
39018         * modules/rename-dest-slash (Status): Mark obsolete.
39019         (Depends-on): Add rename.
39020         (Files): Let rename do it all.
39021         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
39022         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
39023         * m4/rename-dest-slash.m4: ...so this file can be deleted.
39024         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
39025         * lib/rename.c (rpl_rename): Update comments.
39026
39027         rename: fix cygwin 1.5.x bugs
39028         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
39029         * lib/rename.c (rpl_rename): Work around them.
39030         * modules/rename (Depends-on): Add same-inode.
39031
39032         rename: fix Solaris 10 bug
39033         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39034         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
39035         was the only bug.
39036
39037         rename: fix Solaris 9 bug
39038         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
39039         on non-directory.  Avoid calling exit.
39040         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
39041         strdup.
39042         * modules/rename-tests (Depends-on): Drop lstat.
39043         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
39044         (gl_PREREQ_RENAME): Delete unused macro.
39045
39046         rename-dest-slash: fix NetBSD bug
39047         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
39048         links.
39049         * modules/rename-dest-slash (Depends-on): Add same-inode.
39050
39051         rename-tests: new test, exposes several platform bugs
39052         * modules/rename-tests: New file.
39053         * tests/test-rename.h: Likewise.
39054         * tests/test-rename.c: Likewise.
39055         * doc/posix-functions/rename.texi (rename): Improve documentation,
39056         including bugs that will eventually be fixed in gnulib.
39057
39058 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
39059
39060         * lib/uname.c: Include <stdlib.h>
39061         (uname): Assume version info is available.
39062
39063 2009-10-02  Jim Meyering  <meyering@redhat.com>
39064
39065         gnu-web-doc-update: correct --help output
39066         * build-aux/gnu-web-doc-update: Make --help output relevant.
39067
39068         gnu-web-doc-update: add standard options
39069         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
39070
39071         gnu-web-doc-update: New module.
39072         Use this script to automatically update the on-line web documentation
39073         for your GNU project at http://www.gnu.org/software/$pkg/manual/
39074         * modules/gnu-web-doc-update: New file, from coreutils.
39075         * build-aux/gnu-web-doc-update: New script.
39076
39077 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
39078
39079         link: LoadLibrary is not needed.
39080         * lib/link.c: Use GetModuleHandle.
39081
39082 2009-10-01  Eric Blake  <ebb9@byu.net>
39083
39084         getopt: bump serial number
39085         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
39086         change.
39087
39088         tests: tighten link, rmdir, and remove tests
39089         * tests/test-link.h (includes): No need to use <config.h> here.
39090         Clean up if directory hard link was created, otherwise test for
39091         trailing '.'.
39092         * tests/test-linkat.c (main): Simplify.
39093         * tests/test-remove.c (main): Enhance test for trailing '.'.
39094         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39095
39096 2009-10-01  Jim Meyering  <meyering@redhat.com>
39097
39098         maint.mk: requiring "make major" was annoying, for a "minor" release.
39099         What is intended is "stable", to contrast with alpha and beta,
39100         so require "make stable", not "make major".
39101         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
39102         (get_tool_versions): Likewise.
39103         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
39104
39105 2009-09-30  Ben Pfaff  <blp@gnu.org>
39106
39107         Fix broken build of replacement for Windows tmpfile().
39108         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
39109         flags argument added along with the 'mkostemp' module.
39110
39111 2009-09-28  Bruno Haible  <bruno@clisp.org>
39112
39113         Avoid identifier clash with POSIX function 'remove' defined as a macro.
39114         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
39115         to 'remove_elt'.
39116         (gl_list_remove): Update.
39117         * lib/gl_list.c (gl_list_remove): Update.
39118         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
39119         to 'remove_elt'.
39120         (gl_oset_remove): Update.
39121         * lib/gl_list.c (gl_oset_remove): Update.
39122         Reported by Eric Blake.
39123
39124 2009-09-28  Eric Blake  <ebb9@byu.net>
39125
39126         doc: mention yet more cygwin 1.7 status
39127         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
39128         cygwin.
39129         * doc/glibc-functions/execvpe.texi (execvpe): New file.
39130         * doc/gnulib.texi (Glibc unistd.h): Mention it.
39131
39132         argp: fix test failure
39133         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
39134         that are not upper-case.  Pass correct range to tolower.
39135
39136 2009-09-27  Jim Meyering  <meyering@redhat.com>
39137
39138         test-yesno: work around sparc-dash here-document infelicity
39139         Without this change, the literal \177 byte in a here document
39140         would make dash 0.5.5.1-3 access uninitialized memory.
39141         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
39142         Instead, use a marker, "@", and filter through tr to create the desired
39143         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
39144
39145 2009-09-27  Bruno Haible  <bruno@clisp.org>
39146
39147         Disable untested support for new flavours of ACLs on AIX.
39148         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
39149         progress.
39150         * lib/set-mode-acl.c (qset_acl): Likewise.
39151
39152 2008-12-07  Bruno Haible  <bruno@clisp.org>
39153
39154         Add support for new flavours of ACLs on AIX. (Untested.)
39155         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
39156         (file_has_acl): Add support for newer AIX.
39157         * lib/set-mode-acl.c (qset_acl): Likewise.
39158         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
39159         Rainer Tammer <tammer@tammer.net>.
39160
39161 2009-09-26  Eric Blake  <ebb9@byu.net>
39162
39163         argp: fix compilation of getopt
39164         * lib/getopt.in.h (includes): Use different guard than glibc.
39165         Reported by Sergey Poznyakoff.
39166
39167         doc: mention more cygwin 1.7 status
39168         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
39169         bug.
39170         * doc/posix-functions/execl.texi (execl): Likewise.
39171         * doc/posix-functions/execle.texi (execle): Likewise.
39172         * doc/posix-functions/execlp.texi (execlp): Likewise.
39173         * doc/posix-functions/execv.texi (execv): Likewise.
39174         * doc/posix-functions/execve.texi (execve): Likewise.
39175         * doc/posix-functions/execvp.texi (execvp): Likewise.
39176         * doc/glibc-functions/canonicalize_file_name.texi
39177         (canonicalize_file_name): Cygwin 1.7 now provides this.
39178         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
39179         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
39180         on AT_SYMLINK_NOFOLLOW.
39181
39182 2009-09-24  Eric Blake  <ebb9@byu.net>
39183
39184         test-linkat: make test more robust
39185         * tests/test-linkat.c (main): Avoid collision with EEXIST.
39186
39187         getopt: fix inclusion guards for cygwin
39188         * modules/getopt-posix (Depends-on): Add include-next.
39189         (Makefile.am): Substitute more items in replacement header.
39190         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
39191         <getopt.h>.
39192         * lib/getopt.in.h (includes): Use split inclusion guard, and
39193         prefer <getopt.h> over include <unistd.h> when one is present.
39194         (option): Also override name of 'struct option'.
39195
39196         same-inode: revert prior change; it is not yet ready
39197         * NEWS: Undo mention of this change.
39198         * lib/same-inode.h (same-inode.h): Undo tri-state change.
39199         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39200         * lib/cycle-check.c (cycle_check): Likewise.
39201         * lib/same.c (same_name): Likewise.
39202         * lib/at-func2.c (at_func2): Likewise.
39203
39204 2009-09-23  Eric Blake  <ebb9@byu.net>
39205
39206         linkat: new module
39207         * modules/linkat: New file.
39208         * lib/at-func2.c (at_func2): Likewise.
39209         * lib/linkat.c (linkat): Likewise.
39210         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
39211         * lib/openat-priv.h (at_func2): Add declaration.
39212         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39213         * modules/unistd (Makefile.am): Substitute them.
39214         * lib/unistd.in.h (linkat): Declare it.
39215         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39216         * doc/posix-functions/linkat.texi (linkat): Likewise.
39217         * doc/posix-functions/link.texi (link): Tweak wording.
39218         * tests/test-link.c (main): Move guts...
39219         * tests/test-link.h (test_link): ...into new file.
39220         * modules/linkat-tests: New test.
39221         * tests/test-linkat.c: Likewise.
39222         * modules/link-tests (Files): Ship new file.
39223         (Depends-on): Add stdbool.
39224
39225         dirname: add library-safe mdir_name
39226         * lib/dirname.h (mdir_name): New prototype.
39227         * lib/dirname.c (dir_name): Move guts...
39228         (mdir_name): ...to new function that avoids xalloc_die.
39229
39230         fchdir: another mingw fix
39231         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
39232         * lib/fchdir.c (get_name): New helper method; skips canonicalize
39233         on mingw (where it has not yet been ported), and make it optional
39234         elsewhere.
39235         (_gl_register_fd): Use it.
39236
39237         same-inode: make SAME_INODE tri-state, to port to mingw
39238         * NEWS: Mention this change.
39239         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
39240         st_ino always being 0.
39241         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
39242         * lib/cycle-check.c (cycle_check): Likewise.
39243         * lib/same.c (same_name): Likewise.
39244
39245         lstat: avoid mingw compilation error
39246         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
39247         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
39248         lstat ourselves.
39249         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
39250         was adequate.
39251         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
39252         the checks for lstat.
39253         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
39254
39255         link: fix test failure on Solaris 9
39256         * lib/link.c (rpl_link): Don't assume link will catch bogus
39257         trailing slash on source.
39258
39259         test-symlinkat: enhance test
39260         * tests/test-readlink.c (main): Move guts...
39261         * tests/test-readlink.h (test_readlink): ...into new file.
39262         * tests/test-symlink.c (main): Move guts...
39263         * tests/test-symlink.h (test_symlink): ...into new file.
39264         * tests/test-symlinkat.c (main): Use new files for further
39265         coverage.
39266         (do_symlink, do_readlink): New helper functions.
39267         * modules/symlink-tests (Files): Ship new file.
39268         (Depends-on): Add stdbool.
39269         * modules/readlink-tests (Files): Ship new file.
39270         (Depends-on): Add stdbool.
39271         * modules/symlinkat-tests (Files): Use new files.
39272
39273 2009-09-23  Eric Blake  <ebb9@byu.net>
39274
39275         readlink: document portability issue with symlink length
39276         * doc/posix-functions/lstat.texi (lstat): Mention that some file
39277         systems have bogus st_size on symlinks, and mention the
39278         areadlink-with-size module.
39279         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
39280         * doc/posix-functions/readlink.texi (readlink): Mention the
39281         areadlink module, and ERANGE failure.
39282         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39283         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
39284
39285         readlink: fix Solaris 9 bug with trailing slash
39286         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
39287         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
39288         * doc/posix-functions/readlink.texi (readlink): Document this.
39289         * modules/readlink-tests: New test.
39290         * tests/test-readlink.c: Likewise.
39291
39292         readlink: fix cygwin 1.5.x bug with return type
39293         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
39294         * lib/unistd.in.h (readlink): Use ssize_t.
39295         * lib/readlink.c (readlink): Likewise.
39296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39297         * modules/unistd (Makefile.am): Substitute it.
39298         * lib/unistd.in.h (readlink): Declare replacement.
39299         * doc/posix-functions/readlink.texi (readlink): Document this.
39300
39301         symlink: use throughout gnulib
39302         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
39303         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
39304         symlink is not used.
39305         * modules/symlinkat (Depends-on): Add symlink.
39306         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39307         * modules/canonicalize-tests (Depends-on): Likewise.
39308         * modules/lstat-tests (Depends-on): Likewise.
39309         * modules/openat-tests (Depends-on): Likewise.
39310         * modules/remove-tests (Depends-on): Likewise.
39311         * modules/rmdir-tests (Depends-on): Likewise.
39312         * modules/unlink-tests (Depends-on): Likewise.
39313         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
39314         * tests/test-canonicalize.c (symlink): Likewise.
39315         * tests/test-fstatat.c (symlink): Likewise.
39316         * tests/test-lstat.c (symlink): Likewise.
39317         * tests/test-remove.c (symlink): Likewise.
39318         * tests/test-rmdir.c (symlink): Likewise.
39319         * tests/test-unlink.c (symlink): Likewise.
39320         * tests/test-unlinkat.c (symlink): Likewise.
39321
39322         symlink: new module, for Solaris 9 bug
39323         * modules/symlink: New file.
39324         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
39325         * lib/symlink.c: Likewise.
39326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39327         * modules/unistd (Makefile.am): Substitute them.
39328         * lib/unistd.in.h (symlink): Declare replacement.
39329         * MODULES.html.sh (File system functions): Mention it.
39330         * doc/posix-functions/symlink.texi (symlink): Likewise.
39331         * modules/symlink-tests: New test.
39332         * tests/test-symlink.c: Likewise.
39333
39334 2009-09-23  Bruno Haible  <bruno@clisp.org>
39335
39336         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
39337         when needed.
39338         Test case: gnulib-tool --import --with-tests atexit inttypes.
39339         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
39340
39341 2009-09-23  Bruno Haible  <bruno@clisp.org>
39342
39343         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
39344         subcommand, not in a subshell.
39345
39346 2009-09-22  Eric Blake  <ebb9@byu.net>
39347
39348         unistd: sort replacement declarations
39349         * lib/unistd.in.h: Sort declarations.
39350
39351         open, openat: minor optimization
39352         * lib/open.c (open): If open succeeded, len is non-zero.
39353         * lib/openat.c (rpl_openat): Likewise.
39354
39355         link-follow: ensure correct result
39356         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
39357         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
39358         distinguish between possible failures.
39359
39360 2009-09-21  Eric Blake  <ebb9@byu.net>
39361
39362         fts: avoid compiler warning
39363         * lib/fts.c (dirent_inode_sort_may_be_useful)
39364         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
39365
39366 2009-09-19  Bruno Haible  <bruno@clisp.org>
39367
39368         * lib/progreloc.c (canonicalize_file_name): New declaration.
39369
39370 2009-09-19  Eric Blake  <ebb9@byu.net>
39371
39372         link: fix quoting
39373         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
39374
39375         openat: fix openat bugs on Solaris 9
39376         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
39377         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
39378         * modules/openat (Depends-on): Add open.
39379         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
39380         * modules/fcntl-h (Makefile.am): Substitute it.
39381         * lib/fcntl.in.h (openat): Declare replacement.
39382         * doc/posix-functions/openat.texi (openat): Document this.
39383
39384         openat: move fstatat and unlinkat into correct files
39385         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
39386         compiled.
39387         * lib/openat.c (fstatat, unlinkat): Move...
39388         * lib/fstatat.c (fstatat): ...into correct files.
39389         * lib/unlinkat.c (unlinkat): Likewise.
39390
39391         openat: fix unlinkat bugs on Solaris 9
39392         * lib/unlinkat.c (unlinkat): New file.
39393         * modules/openat (Depends-on): Add unlink.
39394         (Files): Distribute it.
39395         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
39396         trailing slash behavior is broken.
39397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39398         * modules/unistd (Makefile.am): Substitute it.
39399         * lib/unistd.in.h (unlinkat): Declare replacement.
39400         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
39401
39402         openat: fix fstatat bugs on Solaris 9
39403         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
39404         stat.
39405         * doc/posix-functions/fstatat.texi (fstatat): Document this.
39406
39407         test-unlinkat: enhance test, to expose Solaris 9 bug
39408         * tests/test-unlink.c (main): Factor guts...
39409         * tests/test-unlink.h (test_rmdir_func): ...into new file.
39410         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
39411         * tests/test-rmdir.c (main): Adjust caller.
39412         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
39413         (unlinker): New helper function.
39414         (rmdirat): Enhance check.
39415         * modules/rmdir-tests (Depends-on): Add stdbool.
39416         * modules/unlink-tests (Depends-on): Likewise.
39417         (Files): Add test-unlink.h.
39418         * modules/openat-tests (Files): Likewise.
39419         (Depends-on): Add unlinkdir.
39420
39421         test-fstatat: new test, to expose Solaris 9 bugs
39422         * tests/test-stat.c (main): Factor guts...
39423         * tests/test-stat.h (test_stat_func): ...into new file.
39424         * tests/test-lstat.c (main): Factor guts...
39425         * tests/test-lstat.h (test_lstat_func): ...into new file.
39426         * tests/test-fstatat.c: New file.
39427         * modules/stat-tests (Files): Add test-stat.h.
39428         * modules/lstat-tests (Files): Add test-lstat.h.
39429         (Depends-on): Add stdbool.
39430         * modules/openat-tests (Depends-on): Add pathmax.
39431         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
39432         (Makefile.am): Run new test.
39433
39434         remove: new module, for mingw and Solaris 9 bugs
39435         * modules/remove: New file.
39436         * lib/remove.c: Likewise.
39437         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
39438         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
39439         * modules/stdio (Makefile.am): Use them.
39440         * lib/stdio.in.h (remove): Declare replacement.
39441         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39442         * doc/posix-functions/remove.texi (remove): Likewise.
39443         * modules/remove-tests: New test.
39444         * tests/test-remove.c: Likewise.
39445
39446         unlink: new module, for Solaris 9 bug
39447         * modules/unlink: New file.
39448         * lib/unlink.c: Likewise.
39449         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39451         * modules/unistd (Makefile.am): Use them.
39452         * lib/unistd.in.h (stat): Declare replacement.
39453         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39454         * doc/posix-functions/unlink.texi (unlink): Likewise.
39455         * modules/unlink-tests: New test.
39456         * tests/test-unlink.c: Likewise.
39457
39458         lstat: fix Solaris 9 bug
39459         * lib/lstat.c (lstat): Also check for trailing slash on
39460         non-symlink, non-directories.  Use stat module to simplify logic.
39461         * doc/posix-functions/lstat.texi (lstat): Document it.
39462         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39463         (configure.ac): Check for symlink.
39464         * tests/test-lstat.c (main): Add more tests.
39465
39466         stat: add as dependency to other modules
39467         * modules/chown (Depends-on): Add stat.
39468         * modules/euidaccess (Depends-on): Likewise.
39469         * modules/fchdir (Depends-on): Likewise.
39470         * modules/isdir (Depends-on): Likewise.
39471         * modules/link (Depends-on): Likewise.
39472         * modules/lstat (Depends-on): Likewise.
39473         * modules/mkdir-p (Depends-on): Likewise.
39474         * modules/modechange (Depends-on): Likewise.
39475         * modules/open (Depends-on): Likewise.
39476         * modules/readlink (Depends-on): Likewise.
39477         * modules/same (Depends-on): Likewise.
39478
39479         stat: fix Solaris 9 bug
39480         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39481         slash.
39482         * lib/stat.c (rpl_stat): Work around it.
39483         * doc/posix-functions/stat.texi (stat): Update documentation.
39484
39485         stat: new module, for mingw bug
39486         * modules/stat: New file.
39487         * lib/stat.c: Likewise.
39488         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39489         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39490         * modules/sys_stat (Makefile.am): Use them.
39491         * lib/sys_stat.in.h (stat): Declare replacement.
39492         * lib/openat.c (fstatat): Deal with lstat and stat being function
39493         macros.
39494         * modules/openat (Depends-on): Add inline.
39495         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39496         * doc/posix-functions/stat.texi (stat): Likewise.
39497         * modules/stat-tests: New test.
39498         * tests/test-stat.c: Likewise.
39499
39500 2009-09-19  Jim Meyering  <meyering@redhat.com>
39501
39502         syntax-check: detect unnecessary inclusion of canonicalize.h
39503         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39504
39505 2009-09-19  Eric Blake  <ebb9@byu.net>
39506
39507         canonicalize-lgpl: adjust clients to use correct header
39508         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39509         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39510         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39511         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39512         * lib/progreloc.c (includes): Likewise.
39513
39514 2009-09-19  Jim Meyering  <meyering@redhat.com>
39515
39516         test-posixtm.c: correct a comment
39517         * tests/test-posixtm.c: Correct first-line comment.
39518         Spotted by Eric Blake.
39519
39520 2009-09-16  Jim Meyering  <meyering@redhat.com>
39521
39522         posixtm-tests: make T const-correct; add a test case
39523         * tests/test-posixtm.c (T): Declare const.
39524         Add a test for -(2^31+1).
39525         Remove useless can-succeed-only-in-2002 test.
39526
39527         posixtm-tests: adjust the sole failing test
39528         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39529         expected output matches what mktime now produces.  Cross-checked via
39530         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39531
39532         posixtm: move #ifdef'd tests into a new module
39533         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39534         * tests/test-posixtm.c: ... this new file.
39535         * modules/posixtm-tests: New module.
39536
39537 2009-09-19  Eric Blake  <ebb9@byu.net>
39538
39539         openat: simplify use of at-func.c
39540         * lib/at-func.c (includes): Include prerequisites here, to
39541         simplify requirements on client files.
39542         * lib/openat-priv.h: Add double-inclusion guard.
39543         * lib/faccessat.c (includes): Simplify.
39544         * lib/fchmodat.c (includes): Likewise.
39545         * lib/fchownat.c (includes): Likewise.
39546         * lib/mkdirat.c (includes): Likewise.
39547         * lib/mkfifoat.c (includes): Likewise.
39548         * lib/symlinkat.c (includes): Likewise.
39549
39550         openat: allow return of fd 0
39551         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39552         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39553         unistd-safer.
39554         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39555         <fcntl.h>; this module does not leak fds.
39556         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39557         must be allowed to return 0, leaving openat_safer to add the
39558         safety.
39559         (openat_permissive): Avoid writing to just-opened fd 2 if
39560         restoring the current directory fails.
39561         * lib/openat-die.c (openat_restore_fail): Add comment.
39562         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39563         (save_cwd): Guarantee safe fd, but without use of open_safer.
39564         * tests/test-openat.c: New test.
39565         * modules/openat-tests (Files, Makefile.am): Distribute and build
39566         new file.
39567
39568         relocatable-prog-wrapper: fix build
39569         * modules/relocatable-prog-wrapper (Files): Update name of
39570         canonicalize m4 file, broken on 2009-09-17.
39571         Reported by emad hajjar <aleppos@hotmail.com>.
39572
39573 2009-09-19  Bruno Haible  <bruno@clisp.org>
39574
39575         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39576         * lib/safe-alloc.c: Likewise.
39577         Reported by Ian Beckwith <ianb@erislabs.net>.
39578
39579 2009-09-18  Bruno Haible  <bruno@clisp.org>
39580
39581         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39582         Reported by <erobles@sensacd.com.mx>.
39583
39584 2009-09-17  Eric Blake  <ebb9@byu.net>
39585
39586         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39587         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39588         slashes when checking if last component is missing.
39589         * tests/test-canonicalize.c (main): Test this.
39590
39591         canonicalize, canonicalize-lgpl: honor // if distinct from /
39592         * modules/canonicalize (Files): Add double-slash-root.m4.
39593         * modules/canonicalize-lgpl (Files): Likewise.
39594         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39595         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39596         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39597         fallback definition.
39598         (canonicalize_filename_mode): Use it to protect //.
39599         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39600         (__realpath): Likewise.
39601         * tests/test-canonicalize.c (main): Test this.
39602         * tests/test-canonicalize-lgpl.c (main): Likewise.
39603         * modules/canonicalize-tests (Depends-on): Add same-inode.
39604         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39605
39606         canonicalize-lgpl: fix glibc bug with trailing slash
39607         * m4/canonicalize-lgpl.m4: Move contents...
39608         * m4/canonicalize.m4: ...here.
39609         (gl_CANONICALIZE_LGPL): Factor realpath check...
39610         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39611         glibc 2.3.5 bug, fixed 2005-04-27.
39612         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39613         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39614         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39615         * modules/canonicalize-lgpl (Files): Manage file rename.
39616         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39617         * modules/stdlib (Makefile.am): Substitute witness.
39618         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39619         is needed.
39620         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39621         replacement is required.
39622         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39623         * doc/glibc-functions/canonicalize_file_name.texi
39624         (canonicalize_file_name): Document this.
39625         * doc/posix-functions/realpath.texi (realpath): Likewise.
39626
39627         canonicalize-lgpl: reject non-directory with trailing slash
39628         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39629         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39630         catches failures in glibc 2.3.5.
39631         * tests/test-canonicalize.c (main): Likewise.
39632
39633         canonicalize-lgpl: use native realpath if it works
39634         * lib/canonicalize-lgpl.c (realpath): Guard with
39635         FUNC_REALPATH_WORKS.
39636         * lib/stdlib.in.h (realpath): Make declaration optional based on
39637         HAVE_REALPATH.
39638         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39639         native realpath works.
39640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39641         * modules/stdlib (Makefile.am): Substitute witness.
39642
39643         canonicalize, canonicalize-lgpl: use <stdlib.h>
39644         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39645         (Include): Mention <stdlib.h>.
39646         (configure.ac): Mention functions we provide.
39647         * modules/canonicalize (configure.ac): Likewise.
39648         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39649         realpath if canonicalize_file_name is missing.
39650         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39651         * modules/stdlib (Makefile.am): Substitute witnesses.
39652         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39653         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39654         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39655         * NEWS: Document this.
39656         * doc/glibc-functions/canonicalize_file_name.texi
39657         (canonicalize_file_name): Likewise.
39658         * doc/posix-functions/realpath.texi (realpath): Likewise.
39659         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39660
39661         test-canonicalize: consolidate into single C program
39662         * tests/test-canonicalize.sh: Delete; move setup into...
39663         * tests/test-canonicalize.c (main): ...the program, making it
39664         easier to run in debugger.  Add some tests.
39665         * modules/canonicalize-tests (Files): Remove unused file.
39666         (Depends-on): Add progname.
39667         (configure.ac, Makefile.am): Simplify.
39668
39669         test-canonicalize-lgpl: consolidate into single C program
39670         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39671         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39672         easier to run in debugger.  Add some tests.
39673         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39674         (configure.ac, Makefile.am): Simplify.
39675
39676         canonicalize: avoid resolvepath
39677         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39678         unnecessary checks.
39679         * lib/canonicalize.c (includes): Simplify.
39680         (canonicalize_file_name): Drop resolvepath implementation.
39681         * modules/canonicalize (Depends-on): Drop filenamecat.
39682
39683         canonicalize: don't lose errno
39684         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39685         over calls to free.
39686
39687         canonicalize: simplify errno handling
39688         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39689         assignment.
39690
39691         canonicalize, canonicalize-lgpl: update module dependencies
39692         * modules/canonicalize (Depends-on): Add extensions, lstat,
39693         pathmax, stdlib.
39694         (Files): Drop pathmax.h.
39695         (configure.ac): Adjust macro name.
39696         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39697         lstat, stdlib, sys_stat.
39698         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39699         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39700         extensions.
39701         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39702         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39703         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39704         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39705         declaration, if available.
39706         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39707         we can rely on the readlink module.
39708         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39709         (includes): Use <unistd.h> unconditionally.
39710
39711 2009-09-17  Eric Blake  <ebb9@byu.net>
39712
39713         maint: make Include sections of modules consistent
39714         * modules/alloca: Use only header name; no need to list #include.
39715         * modules/alloca-opt: Likewise.
39716         * modules/arpa_inet: Likewise.
39717         * modules/canon-host: Likewise.
39718         * modules/configmake: Likewise.
39719         * modules/dirent: Likewise.
39720         * modules/eealloc: Likewise.
39721         * modules/environ: Likewise.
39722         * modules/fchdir: Likewise.
39723         * modules/fcntl: Likewise.
39724         * modules/fcntl-h: Likewise.
39725         * modules/gethrxtime: Likewise.
39726         * modules/gettime: Likewise.
39727         * modules/ignore-value: Likewise.
39728         * modules/inet_ntop: Likewise.
39729         * modules/inet_pton: Likewise.
39730         * modules/inttypes: Likewise.
39731         * modules/isnand-nolibm: Likewise.
39732         * modules/isnanf-nolibm: Likewise.
39733         * modules/mbchar: Likewise.
39734         * modules/mbfile: Likewise.
39735         * modules/mbiter: Likewise.
39736         * modules/mbuiter: Likewise.
39737         * modules/netdb: Likewise.
39738         * modules/netinet_in: Likewise.
39739         * modules/nproc: Likewise.
39740         * modules/pagealign_alloc: Likewise.
39741         * modules/poll: Likewise.
39742         * modules/printf-frexp: Likewise.
39743         * modules/pthread: Likewise.
39744         * modules/putenv: Likewise.
39745         * modules/random_r: Likewise.
39746         * modules/relocatable-prog: Likewise.
39747         * modules/search: Likewise.
39748         * modules/select: Likewise.
39749         * modules/selinux-h: Likewise.
39750         * modules/settime: Likewise.
39751         * modules/signal: Likewise.
39752         * modules/size_max: Likewise.
39753         * modules/socklen: Likewise.
39754         * modules/ssize_t: Likewise.
39755         * modules/stdarg: Likewise.
39756         * modules/stdbool: Likewise.
39757         * modules/stddef: Likewise.
39758         * modules/stdint: Likewise.
39759         * modules/stdio: Likewise.
39760         * modules/stdlib: Likewise.
39761         * modules/string: Likewise.
39762         * modules/strings: Likewise.
39763         * modules/sys_file: Likewise.
39764         * modules/sys_ioctl: Likewise.
39765         * modules/sys_select: Likewise.
39766         * modules/sys_socket: Likewise.
39767         * modules/sys_stat: Likewise.
39768         * modules/sys_time: Likewise.
39769         * modules/sys_times: Likewise.
39770         * modules/sys_utsname: Likewise.
39771         * modules/sys_wait: Likewise.
39772         * modules/sysexits: Likewise.
39773         * modules/time: Likewise.
39774         * modules/times: Likewise.
39775         * modules/tmpfile: Likewise.
39776         * modules/trim: Likewise.
39777         * modules/unistd: Likewise.
39778         * modules/wchar: Likewise.
39779         * modules/wctype: Likewise.
39780
39781 2009-09-17  Bruno Haible  <bruno@clisp.org>
39782
39783         Make getdate.y compile on QNX and NetBSD 5 / i386.
39784         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39785         TIME_T_FITS_IN_LONG_INT.
39786         * lib/getdate.y (long_time_t): New type.
39787         (relative_time): Change type of 'seconds' field to long_time_t.
39788         (get_date): Update types of local variables. Check against overflow
39789         during conversion from long_time_t to time_t.
39790         Reported by Matt Kraai <kraai@ftbfs.org>
39791         and Hasso Tepper <hasso@netbsd.org>.
39792
39793 2009-09-17  Bruno Haible  <bruno@clisp.org>
39794
39795         * modules/COPYING: Update copyright years.
39796         * modules/README: Likeiwse.
39797         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39798         Reported by Ian Beckwith <ianb@erislabs.net>.
39799
39800 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39801
39802         * users.txt: Update references for gnuit package.
39803
39804 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39805
39806         * m4/getdelim.m4: Fix typo in copyright line.
39807
39808 2009-09-17  Bruno Haible  <bruno@clisp.org>
39809
39810         * lib/atoll.c: Use the standard header with GPL copyright.
39811         * lib/argz.in.h: Likewise.
39812         * lib/glob.c: Likewise.
39813         * lib/glob-libc.h: Likewise.
39814         * lib/random_r.c: Likewise.
39815         * lib/siglist.h: Likewise.
39816         * lib/strsignal.c: Likewise.
39817         Reported by Ian Beckwith <ianb@erislabs.net>.
39818
39819 2009-09-17  Eric Blake  <ebb9@byu.net>
39820
39821         rmdir: ensure correct dependency order
39822         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39823
39824 2009-09-17  Bruno Haible  <bruno@clisp.org>
39825
39826         Disable assertion that fails on NetBSD 5 / i386.
39827         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39828         Reported by Sam Steingold <sds@gnu.org>
39829         and Hasso Tepper <hasso@netbsd.org>.
39830
39831 2009-09-16  Eric Blake  <ebb9@byu.net>
39832
39833         unlinkdir: port to mingw
39834         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39835         on which no one can unlink a directory.
39836
39837         stdlib: sort witness names
39838         * modules/stdlib (Makefile.am): Sort replacements.
39839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39840         * lib/stdlib.in.h: Likewise.
39841
39842         parse-duration-tests: avoid link failure
39843         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39844         LIBINTL.
39845         Reported by Tom G. Christensen.
39846
39847         openat-tests: ensure unlinkat behaves like rmdir
39848         * tests/test-rmdir.c (main): Factor guts...
39849         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39850         * modules/rmdir-tests (Files): Ship new file.
39851         * modules/openat-tests: New test.
39852         * tests/test-unlinkat.c: Likewise.
39853
39854         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39855         * modules/rmdir-errno (Status, Notice): Now obsolete.
39856
39857         rmdir: work around cygwin 1.5.x and mingw bugs
39858         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39859         * lib/rmdir.c (rmdir): Work around it.
39860         * modules/rmdir (Status, Notice): No longer obsolete.
39861         (Files): Add dos.m4.
39862         (Depends-on): Add unistd.
39863         (configure.ac): Set witnesses.
39864         (License): Relax to LGPLv2+.
39865         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39866         * modules/unistd (Makefile.am): Substitute witnesses.
39867         * lib/unistd.in.h (rmdir): Declare replacement.
39868         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39869         * modules/rmdir-tests: New tests.
39870         * tests/test-rmdir.c: Likewise.
39871
39872 2009-09-15  Eric Blake  <ebb9@byu.net>
39873
39874         fchdir: improve use of replacement functions
39875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39876         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39877         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39878         REPLACE_CLOSEDIR.
39879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39880         * modules/sys_stat (Makefile.am): Substitute correct witness.
39881         * modules/dirent (Makefile.am): Likewise.
39882         * modules/unistd (Makefile.am): Likewise.
39883         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39884         * lib/unistd.in.h (dup): Likewise.
39885         * lib/sys_stat.in.h (fstat): Likewise.
39886
39887         maint: ignore gnulib-tool temp files
39888         * .gitignore: Ignore files created during gnulib-tool --test.
39889
39890 2009-09-13  Jim Meyering  <meyering@redhat.com>
39891
39892         posixtm: don't reject a time that specify "60" as the number of seconds
39893         * lib/posixtm.c (posixtime): The code to reject invalid dates
39894         would also reject a time specified with the .60 suffix.
39895         But POSIX allows that, in order to accommodate leap seconds.
39896         So don't reject it.
39897         (main): Adjust tests accordingly.
39898         * modules/posixtm (Depends-on): Add stpcpy.
39899
39900 2009-09-11  Jim Meyering  <meyering@redhat.com>
39901
39902         announce-gen: include [$release_type] in emitted Subject:
39903         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39904         e.g., [stable] in the emitted Subject: line.
39905
39906 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39907
39908         Remove obsolete macros from several modules.
39909         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39910         obsolete Autoconf macros with their modern counterparts.
39911         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39912         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39913         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39914         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39915         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39916         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39917         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39918         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39919         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39920         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39921         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39922         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39923         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39924         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39925         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39926         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39927         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39928         * m4/time_r.m4 (gl_TIME_R): Likewise.
39929         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39930         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39931         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39932
39933         Fix copyright header in build-aux scripts.
39934         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39935         recommendation.
39936         * build-aux/ncftpput-ftp: Likewise.
39937         * build-aux/update-copyright: Likewise.
39938
39939 2009-09-09  Eric Blake  <ebb9@byu.net>
39940
39941         test-link: allow Linux choice of errno
39942         * tests/test-link.c (main): Relax test for alternate error.
39943
39944         strndup: fix improper m4 caching
39945         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39946         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39947         (gl_PREREQ_STRNDUP): Delete.
39948         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39949         * modules/string (Makefile.am): Substitute it.
39950         * lib/string.in.h (strndup): Modernize prototype.
39951
39952         getcwd: port to mingw
39953         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39954         different from the POSIX assumptions made throughout the getcwd
39955         module; fortunately, the mingw getcwd does not need replacement.
39956         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39957         * modules/getcwd-tests: New test.
39958         * tests/test-getcwd.c: Likewise.
39959
39960         link: fix platform bugs
39961         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39962         * lib/link.c (link): Work around them.  Fix related mingw bug.
39963         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39964         * modules/unistd (Makefile.am): Substitute it.
39965         * lib/unistd.in.h (link): Declare replacement.
39966         * doc/posix-functions/link.texi (link): Document this.
39967         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39968
39969         test-link: consolidate into single C program, test more cases
39970         * tests/test-link.sh: Delete.
39971         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39972         at least Cygwin and Solaris.
39973         * modules/link-tests (Files): Remove unused file.
39974         (Depends-on): Add errno, sys_stat.
39975         (Makefile.am): Simplify.
39976
39977 2009-09-08  Bruno Haible  <bruno@clisp.org>
39978
39979         Work around towlower, towupper bug on mingw.
39980         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39981         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39982         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39983         * doc/posix-functions/towupper.texi: Likewise.
39984         Reported by Eric Blake.
39985
39986 2009-09-08  Jim Meyering  <meyering@redhat.com>
39987
39988         build: don't try to run autoheader if we don't use it
39989         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39990         is not used in configure.ac.
39991
39992 2009-09-08  Eric Blake  <ebb9@byu.net>
39993
39994         euidaccess: fix compilation error
39995         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39996
39997         rawmemchr: relax license
39998         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39999         okay.
40000         Reported by Jim Meyering.
40001
40002         mkfifoat: new module
40003         * modules/mkfifoat: New file.
40004         * lib/mkfifoat.c: Likewise.
40005         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
40006         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40007         * modules/sys_stat (Makefile.am): Use them.
40008         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
40009         * MODULES.html.sh (File system functions): Mention module.
40010         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
40011         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
40012         * modules/mkfifoat-tests: New test.
40013         * tests/test-mkfifoat.c: Likewise.
40014
40015         strchrnul: relax license
40016         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
40017         okay.
40018         Reported by Jim Meyering.
40019
40020 2009-09-08  Eric Blake  <ebb9@byu.net>
40021
40022         fstatat: fix compilation on Solaris
40023         * lib/fstatat.c (includes): Add fcntl.h.
40024         Reported by Pádraig Brady.
40025
40026 2009-09-07  Eric Blake  <ebb9@byu.net>
40027
40028         rename: modernize replacement
40029         * modules/rename (Depends-on): Add stdio.
40030         (configure.ac): Declare witness.
40031         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
40032         stdio take care of replacement.
40033         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40034         * modules/stdio (Makefile.am): Substitute them.
40035         * lib/stdio.in.h (rename): Declare replacement.
40036         * lib/rename.c (includes): Allow cross-compilation to non-windows
40037         machines.
40038         * doc/posix-functions/rename.texi (rename): Improve
40039         documentation.
40040
40041         stdio: sort witness names
40042         * modules/stdio (Makefile.am): Sort replacements.
40043         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40044         * lib/stdio.in.h: Likewise.
40045
40046         getcwd: minor cleanups
40047         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
40048         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
40049
40050         openat: provide more convenience names
40051         * modules/faccessat (configure.ac): Add C witness.
40052         * lib/unistd.in.h (readlinkat): Fix typo.
40053         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
40054         convenience wrappers.
40055         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
40056         wrappers in syntax checks.
40057
40058 2009-09-06  Eric Blake  <ebb9@byu.net>
40059
40060         doc: fix comments in recent patches
40061         * lib/faccessat.c: Mention correct function.
40062         * lib/fchmodat.c: Likewise.
40063         * lib/fchownat.c: Likewise.
40064         * lib/symlinkat.c: Likewise.
40065         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
40066         constants.
40067
40068         faccessat, symlinkat: continue cleanup of previous patch
40069         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
40070         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40071         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
40072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
40073         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
40074         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
40075         set.
40076
40077 2009-09-06  Bruno Haible  <bruno@clisp.org>
40078
40079         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
40080         (fstatat): Declare if GNULIB_FSTATAT is set.
40081         (mkdirat): Declare if GNULIB_MKDIRAT is set.
40082         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
40083         (unlinkat): Declare if GNULIB_UNLINKAT is set.
40084         * modules/fcntl-h (Files): Remove m4/openat.m4.
40085         * modules/sys_stat (Files): Remove m4/openat.m4.
40086         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
40087         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
40088         * modules/unistd (Files): Remove m4/openat.m4.
40089         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
40090         GNULIB_OPENAT.
40091         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
40092         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
40093         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
40094         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
40095         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
40096         gl_OPENAT_DEFAULTS.
40097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
40098         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
40099         Don't require gl_OPENAT_DEFAULTS.
40100         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
40101         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
40102         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
40103         (gl_OPENAT_DEFAULTS): Remove macro.
40104
40105 2009-09-06  Bruno Haible  <bruno@clisp.org>
40106
40107         * modules/openat (configure.ac): Remove unneeded witness.
40108
40109 2009-09-06  Bruno Haible  <bruno@clisp.org>
40110
40111         Set errno to ENOSYS when a function is entirely unsupported.
40112         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
40113         EOPNOTSUPP.
40114         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40115         * modules/chown (Depends-on): Remove errno.
40116
40117 2009-09-06  Bruno Haible  <bruno@clisp.org>
40118
40119         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
40120
40121 2009-09-06  Bruno Haible  <bruno@clisp.org>
40122
40123         * lib/sys_stat.in.h: Fix preprocessor command indentation.
40124
40125 2009-09-06  Ben Pfaff  <blp@gnu.org>
40126             Bruno Haible  <bruno@clisp.org>
40127
40128         Work around a glibc bug in strtok_r.
40129         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
40130         Undefine if UNDEFINE_STRTOK_R is set.
40131         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
40132         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40133         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
40134         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
40135         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
40136         UNDEFINE_STRTOK_R.
40137         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
40138
40139 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
40140
40141         exclude: minor fix
40142         * lib/exclude.c: Include wctype.h
40143
40144 2009-09-06  Akim Demaille  <demaille@gostai.com>
40145
40146         bootstrap: improve error message
40147         * build-aux/bootstrap (find_tool): Upon failure, report the list
40148         of candidates.
40149         Honor the initial value of the envvar.
40150
40151 2009-09-05  Eric Blake  <ebb9@byu.net>
40152
40153         symlinkat: new module
40154         * modules/symlinkat: New file.
40155         * lib/symlinkat.c: Likewise.
40156         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
40157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
40158         * modules/unistd (Makefile.am): Use them.
40159         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
40160         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
40161         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
40162         * MODULES.html.sh (File system functions): Mention module.
40163         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40164         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
40165         * modules/symlinkat-tests: New test.
40166         * tests/test-symlinkat.c: Likewise.
40167
40168         test-openat-safer: add more checks
40169         * tests/test-openat-safer.c (main): Check more code paths.
40170
40171 2009-09-05  Jim Meyering  <meyering@redhat.com>
40172
40173         syntax-check: detect unnecessary inclusion of openat.h
40174         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
40175
40176 2009-09-05  Bruno Haible  <bruno@clisp.org>
40177
40178         Support towlower, towupper.
40179         * doc/posix-functions/towlower.texi: Mention module wctype.
40180         * doc/posix-functions/towupper.texi: Likewise.
40181         * lib/wctype.in.h (towlower, towupper): New functions.
40182         * tests/test-wctype.c: Include stdio.h, stdlib.h.
40183         (ASSERT): New macro.
40184         (e): New variable.
40185         (main): Test also towlower, towupper. Test WEOF argument.
40186         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
40187
40188 2009-09-05  Bruno Haible  <bruno@clisp.org>
40189
40190         Fix conversion behaviour when the input is invalid.
40191         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
40192         mark occurring in first pass of indirect conversion.
40193         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
40194         input.
40195         Found by clang's static analyzer.
40196
40197 2009-09-05  Bruno Haible  <bruno@clisp.org>
40198
40199         * tests/test-striconveh.c (main): Test indirect conversion on platforms
40200         where direct conversion is possible.
40201
40202 2009-09-04  Eric Blake  <ebb9@byu.net>
40203
40204         openat: fail with ENOENT on empty name
40205         * lib/openat-proc.c (openat_proc_name): Special-case the empty
40206         buffer.
40207
40208         link-follow: fix logic bug in prior patch
40209         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
40210         reversed sense of yes and no in prior patch.  Avoid confusing
40211         compilation failure with desired semantics.
40212
40213         link-follow: accomodate mingw and cross-compilation
40214         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
40215         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
40216         cross-compilation results to -1, to make linkat easier to
40217         implement when cross-compiling.  Trivially support mingw.
40218         * modules/link-follow (configure.ac): Call new name.
40219         * NEWS: Mention this.
40220
40221 2009-09-03  Eric Blake  <ebb9@byu.net>
40222
40223         faccessat: compile replacement
40224         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
40225         needed.
40226
40227         fts: fix compilation error
40228         * lib/fts.c (includes): Re-add "openat.h", for
40229         openat_needs_fchdir.
40230
40231         faccessat: new module
40232         * modules/faccessat: New file.
40233         * lib/faccessat.c: Likewise.
40234         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
40235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40236         * modules/unistd (Makefile.am): Use it.
40237         * lib/unistd.in.h (faccessat): Declare it.
40238         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
40239         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
40240         * MODULES.html.sh (File system functions): Mention it.
40241         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
40242         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40243
40244         euidaccess: prefer POSIX over non-standard implementation
40245         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
40246         * lib/euidaccess.c (euidaccess): Use it if available.
40247
40248         openat: make template easier to use
40249         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
40250         AT_FUNC_F2 to be undefined.
40251         (VALIDATE_FLAG): New macro; use it to reject bad flags.
40252         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
40253         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
40254         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
40255         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
40256         Likewise.
40257         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
40258         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
40259         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
40260         Likewise.
40261
40262         openat: declare in POSIX headers
40263         * NEWS: Mention this.
40264         * modules/openat (configure.ac): Declare witnesses.
40265         (Depends-on): Add fcntl-h, sys_stat, unistd.
40266         (Include): Mention correct headers.
40267         * modules/fcntl-h (Depends-on): Add link-warning.
40268         (Files): Add openat.m4.
40269         (Makefile.am): Substitute witnesses.
40270         * modules/sys_stat (Files, Makefile.am): Likewise.
40271         * modules/unistd (Files, Makefile.am): Likewise.
40272         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
40273         (gl_OPENAT_DEFAULTS): New macro.
40274         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
40275         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
40276         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
40277         (SYS_STAT_H): Remove unused variable.
40278         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
40279         * lib/fcntl--.h (includes): Remove unneeded header.
40280         * lib/openat-safer.c (includes): Likewise.
40281         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
40282         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
40283         appropriate headers.
40284         (__OPENAT_PREFIX): Delete.
40285         * lib/fcntl.in.h (openat): Provide declaration.
40286         (AT_FDCWD): Fix Solaris bug.
40287         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
40288         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
40289         * lib/fchmodat.c (includes):  Adjust to find declaration.
40290         * lib/fchownat.c (includes): Likewise.
40291         * lib/mkdirat.c (includes): Likewise.
40292         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
40293         still visible.
40294
40295 2009-09-02  Eric Blake  <ebb9@byu.net>
40296
40297         errno: use consistently
40298         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
40299         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
40300         * lib/canonicalize.c (ELOOP): Likewise.
40301         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
40302         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
40303         * lib/lchown.c (EOPNOTSUPP): Likewise.
40304         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
40305         * lib/savewd.c (ESTALE): Likewise.
40306         * lib/settime.c (ENOSYS): Likewise.
40307         * lib/utimens.c (ENOSYS): Likewise.
40308         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
40309         * lib/chdir-safer.c (ELOOP): Likewise.
40310         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
40311         * modules/c-stack (Depends-on): Add errno.
40312         * modules/canonicalize (Depends-on): Likewise.
40313         * modules/chdir-safer (Depends-on): Likewise.
40314         * modules/fdopendir (Depends-on): Likewise.
40315         * modules/inet_ntop (Depends-on): Likewise.
40316         * modules/inet_pton (Depends-on): Likewise.
40317         * modules/lchown (Depends-on): Likewise.
40318         * modules/openat (Depends-on): Likewise.
40319         * modules/savewd (Depends-on): Likewise.
40320         * modules/settime (Depends-on): Likewise.
40321         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
40322
40323         fts: avoid leaking fds
40324         * modules/fts (Depends-on): Add cloexec.
40325         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
40326         flag.
40327
40328         fts: make directory fds more robust
40329         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
40330         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
40331
40332         backupfile, chdir-long, fts, savedir: make safer
40333         * lib/backupfile.c (includes): Use "dirent--.h", since
40334         numbered_backup can write to stderr during readdir.
40335         * lib/savedir.c (includes): Likewise.
40336         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
40337         emulation can write to stderr on failure.
40338         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
40339         * lib/getcwd.c: Document why opendir_safer is unused.
40340         * lib/glob.c: Likewise.
40341         * lib/scandir.c: Likewise.
40342         * lib/openat-proc.c: Likewise, for open_safer.
40343         * modules/backupfile (Depends-on): Add dirent-safer.
40344         * modules/savedir (Depends-on): Likewise.
40345         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
40346         * modules/chdir-long (Depends-on): Add openat-safer.
40347
40348         openat-safer: new module
40349         * modules/openat-safer: New file.
40350         * lib/openat-safer.c: Likewise.
40351         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
40352         * lib/fcntl-safer.h (openat_safer): Declare.
40353         * lib/fcntl--.h (openat): Override.
40354         * MODULES.html.sh (File descriptor based I/O): Mention it.
40355         * lib/openat.h: Add double-inclusion guards.
40356         * lib/openat.c (includes): Only include "fcntl-safer.h", not
40357         "fcntl--.h", so we can implement openat.
40358         * modules/openat-safer-tests: New test.
40359         * tests/test-openat-safer.c: New file.
40360
40361         dirent-safer: new module
40362         * modules/dirent-safer: New file.
40363         * lib/dirent--.h: Likewise.
40364         * lib/dirent-safer.h: Likewise.
40365         * lib/opendir-safer.c: Likewise.
40366         * m4/dirent-safer.m4: Likewise.
40367         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
40368         * modules/dirent-safer-tests: New test.
40369         * tests/test-dirent-safer.c: New file.
40370         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
40371
40372         fdopendir: optimize on mingw
40373         * lib/unistd.in.h (_gl_directory_name): New prototype.
40374         * lib/fchdir.c (_gl_directory_name): Implement it.
40375         (fchdir): Use it to simplify implementation.
40376         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
40377         fchdir, when available, to avoid calling [f]chdir().
40378
40379         fdopendir: split into its own module
40380         * lib/openat.c (fdopendir): Move...
40381         * lib/fdopendir.c: ...into new file.
40382         * modules/fdopendir: New module.
40383         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
40384         * modules/openat (Depends-on): Add fdopendir.
40385         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
40386         fdopendir here.
40387         * modules/savedir (Depends-on): Only need fdopendir, not full
40388         openat.
40389         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
40390         * lib/openat.h (fdopendir): Drop prototype.
40391         * lib/dirent.in.h (fdopendir): Provide prototype.
40392         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
40393         * modules/dirent (Makefile.am): Substitute them.
40394         * MODULES.html.sh (File system functions): Mention it.
40395         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
40396         * modules/fdopendir-tests: New file.
40397         * tests/test-fdopendir.c: Likewise.
40398
40399         fchdir: use more consistent macro convention
40400         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
40401         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
40402         REPLACE_FCHDIR, rather than relying on config.h macros.
40403         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
40404         inside a single make-time REPLACE_FCHDIR block, rather than using
40405         the config.h FCHDIR_REPLACEMENT.
40406         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
40407         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
40408         Manage fstat replacement.
40409         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
40410         REPLACE_FCHDIR.
40411         * modules/sys_stat (Files): Add m4/unistd_h.m4.
40412         (Makefile.am): Substitute REPLACE_FCHDIR.
40413         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
40414         FCHDIR_REPLACEMENT.
40415         * lib/dup-safer.c (dup_safer): Likewise.
40416         * lib/dup2.c (rpl_dup2): Likewise.
40417         * lib/dup3.c (rpl_dup3): Likewise.
40418         * lib/open.c (rpl_open): Likewise.
40419
40420         fchdir: simplify error handling, and support dup3
40421         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
40422         stdbool, malloc-posix, realloc-posix.
40423         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
40424         (ensure_dirs_slot): Return false on allocation failure.
40425         (rpl_dup2): Delete.
40426         (_gl_register_dup): New function.
40427         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
40428         (_gl_register_fd): Close fd on allocation failure.
40429         * lib/fcntl.in.h (_gl_register_fd): Update signature.
40430         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
40431         prototype.
40432         (rpl_dup2_fchdir): Delete prototype.
40433         * lib/open.c (open): Update caller.
40434         * lib/dup2.c (dup2): Track fchdir metadata.
40435         * lib/dup3.c (dup3): Likewise.
40436         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
40437         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
40438
40439 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40440
40441         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40442         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40443         don't pass arguments to AC_OUTPUT.
40444
40445 2009-09-02  Bruno Haible  <bruno@clisp.org>
40446
40447         * modules/mkdtemp (License): Relicense under LGPLv2+.
40448         Reported by Paolo Bonzini.
40449
40450 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40451
40452         Replace uses of obsolete autoconf macros in Jim's modules.
40453         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40454         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40455         can evoke a warning from autoconf when run with -Wobsolete
40456         enabled.  They were declared obsolete for good reasons (see
40457         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40458         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40459         should not continue using the deprecated macros.
40460         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40461         obsolete Autoconf macros with modern counterparts.
40462         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40463         * m4/dos.m4 (gl_AC_DOS): Likewise.
40464         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40465         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40466         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40467         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40468         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40469         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40470         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40471         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40472         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40473         Likewise.
40474         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40475         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40476         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40477         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40478         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40479         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40480
40481 2009-09-01  Eric Blake  <ebb9@byu.net>
40482
40483         fchdir: fix off-by-one bug in previous patch
40484         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40485         (_gl_unregister_fd): Delete useless if.
40486
40487 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40488
40489         maint.mk: sort the list of syntax-check rules
40490         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40491         easier to get a sense of progress when the rules are run sequentially
40492         and take a long time.
40493
40494 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40495
40496         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40497         * modules/netinet_in: Likewise.
40498         * modules/sys_file: Likewise.
40499         * modules/sys_ioctl: Likewise.
40500         * modules/sys_select: Likewise.
40501         * modules/sys_socket: Likewise.
40502         * modules/sys_stat: Likewise.
40503         * modules/sys_time: Likewise.
40504         * modules/sys_times: Likewise.
40505         * modules/sys_utsname: Likewise.
40506         * modules/sys_wait: Likewise.
40507
40508 2009-09-01  Jim Meyering  <meyering@redhat.com>
40509
40510         fts: help ensure that return values are not ignored
40511         * lib/fts_.h (__GNUC_PREREQ): Define.
40512         (__attribute_warn_unused_result__): Define.
40513         (fts_children, fts_close, fts_open, fts_read): Declare with
40514         __attribute_warn_unused_result__.
40515
40516         fts: fts_close now fails also when closing a dir file descriptor fails
40517         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40518         and propagate to caller, along with errno.
40519
40520         announce-gen: correct formatting in --help output
40521         * build-aux/announce-gen (usage): Move the one-line description in
40522         --help output "up", to where it belongs, just after Usage:.
40523
40524 2009-08-31  Eric Blake  <ebb9@byu.net>
40525
40526         fchdir: port to mingw
40527         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40528         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40529         opened, then use a substitute.
40530         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40531         replacement.
40532         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40533         (_gl_register_fd): No need to check stat if open already filters
40534         all directories.
40535         (fchdir): Fix error condition to match POSIX.
40536         * modules/fchdir (Depends-on): Add sys_stat.
40537         * doc/posix-functions/open.texi (open): Document the limitation.
40538         * modules/fchdir-tests: New file.
40539         * tests/test-fchdir.c: Likewise.
40540
40541         canonicalize: allow cross-testing from cygwin to mingw
40542         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40543         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40544         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40545         Likewise.
40546         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40547         target does not support symlinks.
40548         * tests/test-canonicalize-lgpl.sh: Likewise.
40549
40550         chown: avoid compilation warning on mingw
40551         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40552         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40553         mingw.
40554         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40555         * modules/chown (Depends-on): Add errno.
40556
40557 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40558
40559         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40560         command.
40561
40562 2009-08-31  Jim Meyering  <meyering@redhat.com>
40563
40564         canonicalize: remove useless initialization
40565         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40566         initialization of local, "end".
40567
40568 2009-08-30  Bruno Haible  <bruno@clisp.org>
40569
40570         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40571         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40572         ENOSYS.
40573
40574 2009-08-30  Bruno Haible  <bruno@clisp.org>
40575
40576         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40577         /usr/xpg4/bin/tr when it exists.
40578         * tests/test-pipe-filter-gi1.sh: Likewise.
40579
40580 2009-08-30  Bruno Haible  <bruno@clisp.org>
40581
40582         Work around deficient /usr/bin/id program on Solaris.
40583         * tests/test-file-has-acl.sh (ID): New variable.
40584         * tests/test-set-mode-acl.sh (ID): Likewise.
40585         * tests/test-copy-acl.sh (ID): Likewise.
40586         * tests/test-copy-file.sh (ID): Likewise.
40587
40588 2009-08-30  Bruno Haible  <bruno@clisp.org>
40589
40590         New module 'xstriconveh'.
40591         * lib/xstriconveh.h: New file.
40592         * lib/xstriconveh.c: New file.
40593         * modules/xstriconveh: New file.
40594
40595 2009-08-30  Bruno Haible  <bruno@clisp.org>
40596
40597         Make it easier to use mem_cd_iconveh.
40598         * lib/striconveh.h (iconveh_t): New type.
40599         (iconveh_open, iconveh_close): New declarations.
40600         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40601         with a single 'const iconveh_t *' argument.
40602         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40603         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40604         with a single 'const iconveh_t *' argument.
40605         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40606         * tests/test-striconveh.c (main): Update.
40607         * NEWS: Mention the change.
40608
40609 2009-08-30  Bruno Haible  <bruno@clisp.org>
40610
40611         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40612         problem.
40613
40614 2009-08-30  Bruno Haible  <bruno@clisp.org>
40615
40616         Work around iconv_open problem on Solaris.
40617         * lib/iconv_open-solaris.gperf: New file.
40618         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40619         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40620         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40621         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40622         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40623         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40624
40625 2009-08-29  Jim Meyering  <meyering@redhat.com>
40626
40627         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40628         * top/maint.mk (cvs-check): Remove target; it was just an alias
40629         to the better-named vc-diff-check.
40630         (maintainer-distcheck): Remove rule.  It was used only from
40631         the (alpha/beta/major) target, and all of its commands but one
40632         were coreutils-specific.
40633         (vc-dist): Remove rule.
40634         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40635         Run vc-diff-check, not vc-dist.
40636         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40637
40638 2009-08-27  Bruno Haible  <bruno@clisp.org>
40639
40640         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40641         of 0.
40642
40643 2009-08-27  Bruno Haible  <bruno@clisp.org>
40644
40645         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40646         compilers.
40647         * doc/func.texi: Document the SunPRO C bug.
40648
40649 2009-08-27  Bruno Haible  <bruno@clisp.org>
40650
40651         Fix link error on Solaris.
40652         * tests/test-parse-duration.c (xstrdup): Remove function.
40653
40654 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40655
40656         ignore-value: handle pointer types, too
40657         * lib/ignore-value.h (__attribute__): Remove definition.
40658         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40659         of a more concise and more-often effective "(void) i" statement.
40660         (ignore_ptr): New function to suppress warnings from functions that
40661         return pointers, and to make it explicit that one function doesn't
40662         handle all cases.
40663
40664 2009-08-25  Bruno Haible  <bruno@clisp.org>
40665
40666         dup2: work around a Linux bug.
40667         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40668         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40669         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40670         Reported by Simon Josefsson.
40671
40672 2009-08-25  Jim Meyering  <meyering@redhat.com>
40673
40674         libguestfs uses gnulib
40675         * users.txt: Add libguestfs.
40676
40677 2009-08-24  Eric Blake  <ebb9@byu.net>
40678
40679         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40680         * lib/pipe2.c (includes): Add binary-io.h.
40681         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40682
40683 2009-08-24  Bruno Haible  <bruno@clisp.org>
40684
40685         Tolerate declared but missing accept4 syscall.
40686         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40687         available.
40688         * lib/sys_socket.in.h (accept4): If the function is already present,
40689         override it.
40690         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40691         * modules/accept4 (Makefile.am): Compile accept4.c always.
40692         Reported by Paolo Bonzini and Eric Blake.
40693
40694 2009-08-23  Bruno Haible  <bruno@clisp.org>
40695
40696         New module 'accept4'.
40697         * lib/sys_socket.in.h (accept4): New declaration.
40698         * lib/accept4.c: New file.
40699         * m4/accept4.m4: New file.
40700         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40701         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40702         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40703         HAVE_ACCEPT4.
40704         * modules/accept4: New file.
40705         * doc/glibc-functions/accept4.texi: Mention the new module.
40706
40707 2009-08-24  Jim Meyering  <meyering@redhat.com>
40708
40709         progname: also set global program_invocation_name, when possible
40710         Before this change, a libtool-enabled program that calls glibc's
40711         error function would report the program name as
40712         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40713         * modules/progname (configure.ac): Check for a declaration of
40714         program_invocation_name.
40715         * lib/progname.c:  Include <errno.h>.
40716         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40717         Set program_invocation_name.
40718
40719 2009-08-23  Bruno Haible  <bruno@clisp.org>
40720
40721         * lib/dup3.c: Include <string.h>.
40722
40723 2009-08-23  Bruno Haible  <bruno@clisp.org>
40724
40725         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40726         * lib/pipe2.c (pipe2): Likewise.
40727         Suggested by Eric Blake.
40728
40729 2009-08-23  Bruno Haible  <bruno@clisp.org>
40730
40731         Tolerate declared but missing dup3 syscall.
40732         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40733         * lib/unistd.in.h (dup3): If the function is already present,
40734         override it.
40735         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40736         * modules/dup3 (Makefile.am): Compile dup3.c always.
40737         Reported by Paolo Bonzini.
40738
40739 2009-08-23  Bruno Haible  <bruno@clisp.org>
40740
40741         Tolerate declared but missing pipe2 syscall.
40742         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40743         available.
40744         * lib/unistd.in.h (pipe2): If the function is already present,
40745         override it.
40746         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40747         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40748         Reported by Paolo Bonzini.
40749
40750 2009-08-23  Bruno Haible  <bruno@clisp.org>
40751
40752         * lib/pipe2.c (pipe2): Move #ifs inside function.
40753
40754 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40755
40756         quotearg: document limitations of quote_these_too
40757         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40758         those limitations are created.
40759         * lib/quotearg.h (set_char_quoting): Document that digits and
40760         letters that are special after backslash are not permitted.
40761         (quotearg_char): Cross-reference set_char_quoting documentation.
40762
40763 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40764
40765         quotearg: implement custom_quoting_style
40766         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40767         right_quote fields.
40768         (set_custom_quoting): New public function.
40769         (quotearg_buffer_restyled): Add left_quote and right_quote
40770         arguments, handle them very much like locale quoting, and update
40771         all uses.
40772         (quotearg_n_custom): New public function.
40773         (quotearg_n_custom_mem): New public function.
40774         (quotearg_custom): New public function.
40775         (quotearg_custom_mem): New public function.
40776         * lib/quotearg.h: Prototype and document new public functions.
40777         (enum quoting_style): For escape_quoting_style and
40778         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40779         ignored even though they're otherwise like c_quoting_style.
40780         Add custom_quoting_style member and document with comparison to
40781         clocale_quoting_style.
40782         * tests/test-quotearg.c (custom_quotes): New array.
40783         (custom_results): New array.
40784         (main): Extend to test custom quoting.
40785
40786 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40787
40788         quotearg: fix right quote escaping when it's in quote_these_too
40789         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40790         quote, be sure to prepend only one backslash.
40791         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40792         (main): Test it.
40793
40794 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40795
40796         quotearg-tests: test escaping of embedded locale quotes
40797         * tests/test-quotearg.c (struct result_strings): Add member for
40798         new input.
40799         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40800         (inputs): Add new input.
40801         (results_g): Add expected results.
40802         (flag_results): Likewise.
40803         (locale_results): Likewise.
40804         (compare_strings): Check those.
40805
40806 2009-08-23  Bruno Haible  <bruno@clisp.org>
40807
40808         Tests for module 'dup3'.
40809         * modules/dup3-tests: New file.
40810         * tests/test-dup3.c: New file.
40811
40812         New module 'dup3'.
40813         * lib/unistd.in.h (dup3): New declaration.
40814         * lib/dup3.c: New file.
40815         * m4/dup3.m4: New file.
40816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40817         HAVE_DUP3.
40818         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40819         * modules/dup3: New file.
40820         * doc/glibc-functions/dup3.texi: Mention the new module.
40821
40822 2009-08-23  Bruno Haible  <bruno@clisp.org>
40823
40824         Tweak the dup2 test.
40825         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40826         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40827         the test file is still empty. Fix argument order of lseek.
40828
40829 2009-08-23  Bruno Haible  <bruno@clisp.org>
40830
40831         Avoid test link errors when the modules getopt-gnu, gettext are used.
40832         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40833         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40834
40835 2009-08-23  Bruno Haible  <bruno@clisp.org>
40836
40837         Fix getdtablesize() on mingw.
40838         * lib/getdtablesize.c (getdtablesize): Implement differently.
40839         * lib/unistd.in.h (getdtablesize): Improve comment.
40840
40841 2009-08-23  Bruno Haible  <bruno@clisp.org>
40842
40843         New module 'mkostemp'.
40844         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40845         * lib/stdlib.in.h (mksotemp): New declaration.
40846         * lib/mkostemp.c: New file, from glibc with modifications.
40847         * lib/tempname.h (GT_FILE): Remove outdated comment.
40848         (gen_tempname): Add flags argument.
40849         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40850         (__GT_FILE): Map to 1.
40851         (small_open, large_open): Remove macros.
40852         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40853         * lib/mkstemp.c (mkstemp): Update.
40854         * lib/mkdtemp.c (mkdtemp): Likewise.
40855         * m4/mkostemp.m4: New file.
40856         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40857         HAVE_MKOSTEMP.
40858         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40859         HAVE_MKOSTEMP.
40860         * modules/mkostemp: New file, based on modules/mkstemp.
40861         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40862         * NEWS: Mention the change.
40863
40864 2009-08-23  Bruno Haible  <bruno@clisp.org>
40865
40866         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40867         Reported by Eric Blake.
40868
40869 2009-08-23  Bruno Haible  <bruno@clisp.org>
40870
40871         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40872         Reported by Eric Blake.
40873
40874 2009-08-23  Bruno Haible  <bruno@clisp.org>
40875
40876         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40877         * modules/pipe2 (Depends-on): Likewise.
40878
40879 2009-08-23  Eric Blake  <ebb9@byu.net>
40880
40881         fcntl-h: add O_TTY_INIT support
40882         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40883         * tests/test-fcntl-h.c (o): Test it.
40884         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40885
40886         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40887         * modules/fcntl: Move <fcntl.h> header replacement...
40888         * modules/fcntl-h: ...to new name, so as not to collide with
40889         like-named function.
40890         * tests/test-fcntl.c: Rename...
40891         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40892         * modules/fcntl-tests: Rename...
40893         * modules/fcntl-h-tests: ...to this.  Update test file name.
40894         * modules/chdir-long (Depends-on): Update clients.
40895         * modules/chdir-safer (Depends-on): Likewise.
40896         * modules/fcntl-safer (Depends-on): Likewise.
40897         * modules/fts (Depends-on): Likewise.
40898         * modules/mkancesdirs (Depends-on): Likewise.
40899         * modules/mkdir-p (Depends-on): Likewise.
40900         * modules/open (Depends-on): Likewise.
40901         * modules/savewd (Depends-on): Likewise.
40902         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40903         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40904
40905 2009-08-22  Bruno Haible  <bruno@clisp.org>
40906
40907         * modules/binary-io (License): Relicense under LGPL.
40908         * modules/pipe2 (License): Likewise.
40909
40910 2009-08-22  Bruno Haible  <bruno@clisp.org>
40911
40912         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40913         return value.
40914         * lib/pipe-filter-gi.c (filter_init): Likewise.
40915         Reported by Eric Blake.
40916
40917 2009-08-22  Bruno Haible  <bruno@clisp.org>
40918
40919         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40920         * modules/pipe (Depends-on): Add pipe2.
40921
40922 2009-08-22  Bruno Haible  <bruno@clisp.org>
40923
40924         Tests for module 'pipe2'.
40925         * modules/pipe2-tests: New file.
40926         * tests/test-pipe2.c: New file.
40927
40928         New module 'pipe2'.
40929         * lib/unistd.in.h (pipe2): New declaration.
40930         * lib/pipe2.c: New file.
40931         * m4/pipe2.m4: New file.
40932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40933         HAVE_PIPE2.
40934         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40935         * modules/pipe2: New file.
40936         * doc/glibc-functions/pipe2.texi: Mention the new module.
40937
40938 2009-08-22  Bruno Haible  <bruno@clisp.org>
40939
40940         Reference some new glibc functions.
40941         * doc/glibc-functions/accept4.texi: New file.
40942         * doc/glibc-functions/dup3.texi: New file.
40943         * doc/glibc-functions/mkostemp.texi: New file.
40944         * doc/glibc-functions/pipe2.texi: New file.
40945         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40946         (Glibc sys/socket.h): Refer to accept4.
40947         (Glibc unistd.h): Refer to dup3, pipe2.
40948         Reported by Eric Blake.
40949
40950 2009-08-22  Jim Meyering  <meyering@redhat.com>
40951             Bruno Haible  <bruno@clisp.org>
40952
40953         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40954         This makes it so packages using automake-1.11's silent-rules option
40955         can print e.g., a single "GEN    configmake.h" line, rather than
40956         the 30+ statements that perform the job.  If you want to see the
40957         actual commands, you can still run "make V=1".
40958         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40959         so that make output is abbreviated when those variables are defined
40960         appropriately.
40961         * modules/argz: Likewise.
40962         * modules/arpa_inet: Likewise.
40963         * modules/byteswap: Likewise.
40964         * modules/configmake: Likewise.
40965         * modules/dirent: Likewise.
40966         * modules/errno: Likewise.
40967         * modules/fcntl: Likewise.
40968         * modules/float: Likewise.
40969         * modules/fnmatch: Likewise.
40970         * modules/getopt-posix: Likewise.
40971         * modules/glob: Likewise.
40972         * modules/iconv_open: Likewise.
40973         * modules/inttypes: Likewise.
40974         * modules/localcharset: Likewise.
40975         * modules/locale: Likewise.
40976         * modules/math: Likewise.
40977         * modules/netdb: Likewise.
40978         * modules/netinet_in: Likewise.
40979         * modules/poll: Likewise.
40980         * modules/posix_spawnp-tests: Likewise.
40981         * modules/sched: Likewise.
40982         * modules/search: Likewise.
40983         * modules/selinux-h: Likewise.
40984         * modules/signal: Likewise.
40985         * modules/spawn: Likewise.
40986         * modules/stdarg: Likewise.
40987         * modules/stdbool: Likewise.
40988         * modules/stddef: Likewise.
40989         * modules/stdint: Likewise.
40990         * modules/stdio: Likewise.
40991         * modules/stdlib: Likewise.
40992         * modules/string: Likewise.
40993         * modules/strings: Likewise.
40994         * modules/sys_file: Likewise.
40995         * modules/sys_ioctl: Likewise.
40996         * modules/sys_select: Likewise.
40997         * modules/sys_socket: Likewise.
40998         * modules/sys_stat: Likewise.
40999         * modules/sys_time: Likewise.
41000         * modules/sys_times: Likewise.
41001         * modules/sys_utsname: Likewise.
41002         * modules/sys_wait: Likewise.
41003         * modules/sysexits: Likewise.
41004         * modules/time: Likewise.
41005         * modules/unistd: Likewise.
41006         * modules/wchar: Likewise.
41007         * modules/wctype: Likewise.
41008
41009 2009-08-22  Jim Meyering  <meyering@redhat.com>
41010
41011         announce-gen: detect write failure
41012         * build-aux/announce-gen: Add Coda at end.
41013         Remove equivalent-but-more-verbose block at top.
41014
41015 2009-08-19  Akim Demaille  <demaille@gostai.com>
41016
41017         bootstrap: --help to stdout.
41018         * bootstrap (usage): Don't send --help to stderr.
41019         Use a here doc instead of a long string.
41020
41021 2009-08-21  Eric Blake  <ebb9@byu.net>
41022
41023         test-popen-safer: split from test-popen
41024         * tests/test-popen.c (main): Move...
41025         * tests/test-popen.h: ...into new file.
41026         * tests/test-popen-safer2.c: New file.
41027         * modules/popen-tests (Files): Add test-popen.h.
41028         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
41029         Suggested by Bruno Haible.
41030
41031         test-fcntl-safer: split from test-open
41032         * tests/test-open.c (main): Move...
41033         * tests/test-open.h: ...into new file.
41034         * tests/test-fcntl-safer.c: New file.
41035         * modules/open-tests (Files): Add test-open.h.
41036         * modules/fcntl-safer-tests: New file.
41037         Suggested by Bruno Haible.
41038
41039         test-fopen-safer: split from test-fopen
41040         * tests/test-fopen.c (main): Move...
41041         * tests/test-fopen.h: ...into new file.
41042         * tests/test-fopen-safer.c: New file.
41043         * modules/fopen-tests (Files): Add test-fopen.h.
41044         * modules/fopen-safer-tests: New file.
41045         Suggested by Bruno Haible.
41046
41047 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41048
41049         popen-safer: test O_CLOEXEC at run-time.
41050         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
41051
41052 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
41053
41054         fcntl: move more flags to the header
41055         * lib/cloexec.c: Do not define FD_CLOEXEC here.
41056         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
41057         * lib/fcntl.in.h: Do both things here.
41058
41059 2009-08-21  Jim Meyering  <meyering@redhat.com>
41060
41061         consistently remove $@-t before redirecting to it
41062         * modules/argz: Remove $@-t and $@ before redirecting to the former.
41063         * modules/alloca-opt: Likewise.
41064         * modules/byteswap: Likewise.
41065         * modules/fnmatch: Likewise.
41066         * modules/getopt-posix: Likewise.
41067         * modules/glob: Likewise.
41068         * modules/poll: Likewise.
41069         * modules/posix_spawnp-tests: Likewise.
41070         * modules/sys_socket: Likewise.
41071         * modules/sysexits: Likewise.
41072
41073 2009-08-21  Eric Blake  <ebb9@byu.net>
41074
41075         popen: simplify access to original popen
41076         * lib/popen.c (rpl_popen): No need to worry about popen being a
41077         macro.
41078         Reported by Bruno Haible.
41079
41080 2009-08-20  Eric Blake  <ebb9@byu.net>
41081
41082         build: avoid some compiler warnings
41083         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
41084         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
41085         type.
41086         (new_exclude_segment, excluded_file_pattern_p)
41087         (excluded_file_name_p): Reduce scope.
41088         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
41089         old-style declaration.
41090
41091 2009-08-20  Simon Josefsson  <simon@josefsson.org>
41092
41093         * tests/test-exclude1.sh: Handle Windows EOL.
41094         * tests/test-exclude2.sh: Likewise.
41095         * tests/test-exclude3.sh: Likewise.
41096         * tests/test-exclude4.sh: Likewise.
41097         * tests/test-exclude5.sh: Likewise.
41098         * tests/test-exclude6.sh: Likewise.
41099         * tests/test-exclude7.sh: Likewise.
41100
41101 2009-08-19  Akim Demaille  <demaille@gostai.com>
41102
41103         bootstrap: find sha1sum when named gsha1sum.
41104         * bootstrap (find_tool): New.
41105         ($SHA1SUM): New.
41106         Use it.
41107
41108 2009-08-20  Jim Meyering  <meyering@redhat.com>
41109
41110         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
41111         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
41112         expression that converts "." in a file name to "\." in the resulting
41113         regexp.  Start with a dummy statement, so that prior shell variable
41114         definitions are expanded portably.  Reported by Simon Josefsson.
41115
41116 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
41117
41118         Fix polling for writeability of a screen buffer.
41119         * lib/poll.c: Distinguish input and screen buffers for the
41120         Win32 implementation.
41121         * lib/select.c: Likewise.
41122
41123 2009-08-19  Eric Blake  <ebb9@byu.net>
41124
41125         popen-safer: prevent popen from clobbering std descriptors
41126         * modules/popen-safer: New file.
41127         * lib/popen-safer.c: Likewise.
41128         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
41129         * lib/stdio--.h (popen): Provide override.
41130         * lib/stdio-safer.h (popen_safer): Provide declaration.
41131         * tests/test-popen.c (includes): Partially test this.
41132         * modules/popen-safer-tests: New file, for more tests.
41133         * tests/test-popen-safer.c: Likewise.
41134         * MODULES.html.sh (file stream based Input/Output): Mention it.
41135
41136         tests: test some of the *-safer modules
41137         * modules/fopen-safer (Depends-on): Add fopen.
41138         * modules/fcntl-safer (Depends-on): Add fcntl.
41139         * modules/stdlib-safer (Depends-on): Add stdlib.
41140         (configure.ac): Set indicator.
41141         * modules/unistd-safer (configure.ac): Likewise.
41142         * modules/tmpfile-safer (configure.ac): Likewise.
41143         (Depends-on): Add tmpfile.
41144         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
41145         active.
41146         * tests/test-fopen.c (includes): Test safer versions when they are
41147         in use.
41148         * tests/test-open.c (includes): Likewise.
41149
41150         popen: fix cygwin 1.5 bug when stdin closed
41151         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
41152         * modules/popen: New file.
41153         * modules/popen-tests: Likewise.
41154         * tests/test-popen.c: Likewise.
41155         * m4/popen.m4: Likewise.
41156         * lib/popen.c: Likewise.
41157         * lib/stdio.in.h (popen): New declaration.
41158         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
41159         * modules/stdio (Makefile.am): Likewise.
41160         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
41161
41162 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
41163
41164         maint.mk: give full control over update-copyright exclusions
41165         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
41166         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
41167         (update-copyright): Don't force inclusion of top-level
41168         ChangeLog.  Don't force exclusion of all COPYING files, but make
41169         them the default exclusion instead.
41170
41171 2009-08-16  Bruno Haible  <bruno@clisp.org>
41172
41173         Fix test failures on Solaris 10.
41174         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
41175         tests when Solaris iconv() is used.
41176         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41177         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41178         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41179         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41180         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41181
41182 2009-08-16  Bruno Haible  <bruno@clisp.org>
41183
41184         Fix test failures on Solaris 10.
41185         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
41186         'tr' program and pass it as first argument.
41187         * tests/test-pipe-filter-gi1.sh: Likewise.
41188         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
41189         program as first argument.
41190         * tests/test-pipe-filter-gi1.c (main): Likewise.
41191
41192 2009-08-16  Eric Blake  <ebb9@byu.net>
41193
41194         fpurge: fix previous commits
41195         * modules/fpurge (Makefile.am): Make replacement conditional,
41196         partially reverting 2007-04-29 change; missed in previous
41197         attempt.
41198         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
41199         is missing.
41200
41201 2009-08-16  Bruno Haible  <bruno@clisp.org>
41202
41203         Clarify fpurge's effect on the file position.
41204         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
41205         * tests/test-fpurge.c (main): Make a second pass for checking the file
41206         position.
41207
41208 2009-08-16  Bruno Haible  <bruno@clisp.org>
41209
41210         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
41211         declaration of fpurge is missing.
41212         * tests/test-fpurge.c (main): Check that the file has not more contents
41213         than expected. Close the file before removing it.
41214
41215 2009-08-15  Eric Blake  <ebb9@byu.net>
41216
41217         fpurge: don't wrap working cygwin implementation
41218         * lib/fpurge.c (fpurge): Fix comment typo.
41219         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
41220         1.7 to avoid replacement.
41221         * tests/test-fpurge.c (main): Enhance test.
41222
41223 2009-08-15  Eric Blake  <ebb9@byu.net>
41224         and Jim Meyering  <meyering@redhat.com>
41225
41226         test-update-copyright: skip if perl is insufficient
41227         * tests/test-update-copyright.sh: Failure to run maintainer tool
41228         should not cause testsuite failure on cygwin 1.5.
41229
41230 2009-08-14  Eric Blake  <ebb9@byu.net>
41231
41232         doc: mention more functions added in cygwin 1.7.0
41233         * doc/posix-headers/limits.texi (limits.h): Update for recent
41234         cygwin additions.
41235         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
41236         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
41237         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
41238         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
41239         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
41240
41241 2009-08-14  Eric Blake  <ebb9@byu.net>
41242
41243         maint.mk: simplify update-copyright rule
41244         * top/maint.mk (update-copyright-local): Delete, and document how
41245         to do it in cfg.mk instead.
41246         (update-copyright-exclude-regexp): Delete, and document how to do
41247         it in .x-update-copyright instead.
41248         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
41249         exclude ChangeLog.
41250
41251 2009-08-14  Bruno Haible  <bruno@clisp.org>
41252
41253         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
41254
41255 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41256
41257         maint.mk: support update-copyright-env
41258         * top/maint.mk (update-copyright-env): Define place-holder.
41259         (update-copyright): Expand $(update-copyright-env) before
41260         invoking update-copyright.
41261
41262 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41263
41264         update-copyright: implement forced reformatting
41265         * build-aux/update-copyright: Implement and document
41266         UPDATE_COPYRIGHT_FORCE.
41267         * tests/test-update-copyright.sh: Test it.
41268
41269 2009-08-14  Eric Blake  <ebb9@byu.net>
41270         and Bruno Haible  <bruno@clisp.org>
41271
41272         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
41273         * tests/test-locale.c: Revert previous patch related to NULL.
41274         * tests/test-stdio.c: Likewise.
41275         * tests/test-stdlib.c: Likewise.
41276         * tests/test-string.c: Likewise.
41277         * tests/test-unistd.c: Likewise.
41278         * modules/time-tests (Depends-on): Add verify.
41279         * modules/wchar-tests (Depends-on): Likewise.
41280         * tests/test-time.c: Test for NULL compliance.
41281         * tests/test-wchar.c: Likewise.
41282         * modules/locale (Depends-on): Add stddef.
41283         * modules/stdio (Depends-on): Likewise.
41284         * modules/stdlib (Depends-on): Likewise.
41285         * modules/string (Depends-on): Likewise.
41286         * modules/time (Depends-on): Likewise.
41287         * modules/unistd (Depends-on): Likewise.
41288         * modules/wchar (Depends-on): Likewise.
41289         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
41290         * lib/stdlib.in.h (includes): Likewise.
41291         * lib/string.in.h (includes): Likewise.
41292         * lib/time.in.h (includes): Likewise.
41293         * lib/unistd.in.h (includes): Likewise.
41294         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
41295         replaced.
41296         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41297         * m4/stddef_h.m4: New file.
41298         * modules/stddef: Likewise.
41299         * lib/stddef.in.h: Likewise.
41300         * modules/stddef-tests: Likewise.
41301         * tests/test-stddef.c: Likewise.
41302         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
41303         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
41304         * doc/posix-headers/locale.texi (locale.h): Likewise.
41305         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
41306         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
41307         * doc/posix-headers/string.texi (string.h): Likewise.
41308         * doc/posix-headers/time.texi (time.h): Likewise.
41309         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
41310         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
41311
41312 2009-08-14  Eric Blake  <ebb9@byu.net>
41313
41314         doc: improve git diff of texinfo files
41315         * .gitattributes: Add rule for *.texi files, with hint on how to
41316         use it.
41317         Copied from m4, and based on a report by Bruno Haible.
41318
41319 2009-08-14  Bruno Haible  <bruno@clisp.org>
41320
41321         Disable multithread support by default on Cygwin 1.5.x for real.
41322         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
41323
41324 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
41325
41326         update-copyright: much ado about intervals
41327         * build-aux/update-copyright: Implement and document
41328         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
41329         of copyright year intervals.
41330         Also, document UPDATE_COPYRIGHT_YEAR.
41331         * tests/test-update-copyright.sh: Test it.
41332
41333         update-copyright: convert 2-digit to 4-digit years
41334         * build-aux/update-copyright: Implement and document.
41335         * tests/test-update-copyright.sh: Update.
41336
41337 2009-08-14  Jim Meyering  <meyering@redhat.com>
41338
41339         test-exclude: avoid coreutils "make check" failure
41340         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
41341         just as in test-argmatch.c.
41342
41343 2009-08-13  Eric Blake  <ebb9@byu.net>
41344
41345         test-dup2: fix bad assumption
41346         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
41347         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
41348
41349         test-version-etc: fix CRLF portability issue
41350         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
41351         recognize \r.
41352         * tests/test-argp-version-etc-1.sh: Likewise.
41353
41354         getopt: update client modules
41355         * modules/argp (Depends-on): Use getopt-gnu.
41356         * modules/git-merge-changelog (Depends-on): Likewise.
41357         * modules/long-options (Depends-on): Likewise.
41358         * modules/xstrtol (Depends-on): Likewise.
41359
41360 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41361
41362         * tests/test-version-etc.sh: Don't fail on different
41363         project/version.  Don't fail on CRLF differences.  Rewrite to use
41364         multiple -e instead of multiple sed forks, suggested by Eric Blake
41365         <ebb9@byu.net>.
41366         * tests/test-argp-version-etc-1.sh: Likewise.
41367
41368 2009-08-13  Simon Josefsson  <simon@josefsson.org>
41369
41370         * tests/test-version-etc.sh: Don't fail on different
41371         project/version.
41372
41373 2009-08-12  Bruno Haible  <bruno@clisp.org>
41374
41375         Tests for modules 'getopt-posix', 'getopt-gnu'.
41376         * modules/getopt-posix-tests: New file.
41377         * tests/test-getopt.c: New file.
41378         * tests/test-getopt.h: New file.
41379         * tests/test-getopt_long.h: New file.
41380
41381         New modules 'getopt-posix', 'getopt-gnu'.
41382         * modules/getopt-gnu: New file, renamed from modules/getopt.
41383         * modules/getopt-posix: New file.
41384         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
41385         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
41386         (gl_GETOPT): Remove macro.
41387         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
41388         Disable the test against BSD systems that declare optreset. Test
41389         against mingw bug. Test against lack of support of optional arguments
41390         on many platforms.
41391         * doc/glibc-headers/getopt.texi: Update module name and list of
41392         relevant platforms.
41393         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
41394         'getopt-gnu' and more portability problems.
41395         * NEWS: Mention the changes.
41396
41397 2009-08-12  Bruno Haible  <bruno@clisp.org>
41398
41399         Ensure that optarg etc. get declared by <unistd.h>.
41400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
41401         AC_USE_SYSTEM_EXTENSIONS.
41402         * modules/getopt (Depends-on): Add 'extensions'.
41403
41404 2009-08-12  Bruno Haible  <bruno@clisp.org>
41405
41406         Avoid test link errors.
41407         * modules/pipe-filter-ii-tests (Makefile.am): Define
41408         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
41409         * modules/pipe-filter-gi-tests (Makefile.am): Define
41410         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
41411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41412
41413 2009-08-12  Bruno Haible  <bruno@clisp.org>
41414
41415         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
41416         gl_GETOPT_SUBSTITUTE before.
41417         (gl_GETOPT): Use it.
41418         * m4/argp.m4 (gl_ARGP): Update.
41419         Reported by Sergey Poznyakoff.
41420
41421         * m4/getopt.m4: Reorder macros.
41422         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
41423         (gl_GETOPT_SUBSTITUTE): Remove macro.
41424
41425 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41426
41427         Minor improvement in gitlog-to-changelog
41428
41429         * build-aux/gitlog-to-changelog: New option `--format' makes
41430         output format string configurable.
41431
41432 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41433
41434         Optimize exclude: use hash tables for non-wildcard patterns.
41435
41436         * lib/exclude.c: Include hash.h and mbuiter.h
41437         (struct exclude_pattern, exclude_segment): New data types.
41438         (struct exclude): Rewrite.
41439         (fnmatch_pattern_has_wildcards): New function.
41440         (new_exclude_segment, free_exclude_segment): New functions.
41441         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41442         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41443         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41444         * modules/exclude: Depend on hash and mbuiter.
41445
41446         * modules/exclude-tests: New file.
41447         * tests/test-exclude.c: New file.
41448         * tests/test-exclude1.sh: New file.
41449         * tests/test-exclude2.sh: New file.
41450         * tests/test-exclude3.sh: New file.
41451         * tests/test-exclude4.sh: New file.
41452         * tests/test-exclude5.sh: New file.
41453         * tests/test-exclude6.sh: New file.
41454         * tests/test-exclude7.sh: New file.
41455
41456 2009-08-12  Bruno Haible  <bruno@clisp.org>
41457
41458         Ensure that getopt() gets declared by <unistd.h>.
41459         * lib/unistd.in.h: Conditionally include getopt.h.
41460         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41461         Set GNULIB_UNISTD_H_GETOPT.
41462         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41463         GNULIB_UNISTD_H_GETOPT.
41464         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41465
41466 2009-08-12  Bruno Haible  <bruno@clisp.org>
41467
41468         Clarify logic.
41469         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41470         gl_replace_getopt instead of GETOPT_H.
41471
41472 2009-08-12  Bruno Haible  <bruno@clisp.org>
41473
41474         * m4/getopt.m4: Add comments.
41475
41476 2009-08-12  Bruno Haible  <bruno@clisp.org>
41477
41478         Disable multithread support by default on Cygwin 1.5.x.
41479         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41480         set gl_use_threads=no if not specified otherwise.
41481
41482 2009-08-11  Bruno Haible  <bruno@clisp.org>
41483
41484         Avoid compilation error on NetBSD 5.0.
41485         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41486         * tests/test-stdio.c: Likewise.
41487         * tests/test-stdlib.c: Likewise.
41488         * tests/test-string.c: Likewise.
41489         * tests/test-unistd.c: Likewise.
41490         Reported by Greg Troxel <gdt@ir.bbn.com>
41491         at <https://savannah.gnu.org/support/?106973>.
41492
41493 2009-08-11  Bruno Haible  <bruno@clisp.org>
41494
41495         * modules/dup2-tests (Depends-on): Remove close.
41496
41497         Undo 2009-07-19 commit.
41498         * modules/acl-tests (Depends-on): Remove close.
41499         * modules/binary-io-tests (Depends-on): Likewise.
41500         * modules/closein-tests (Depends-on): Likewise.
41501         * modules/flock-tests (Depends-on): Likewise.
41502         * modules/fsync-tests (Depends-on): Likewise.
41503         * modules/lseek-tests (Depends-on): Likewise.
41504         * modules/pipe-tests (Depends-on): Likewise.
41505         * modules/posix_spawn-tests (Depends-on): Likewise.
41506         * modules/posix_spawnp-tests (Depends-on): Likewise.
41507         * modules/stat-time-tests (Depends-on): Likewise.
41508         * modules/yesno-tests (Depends-on): Likewise.
41509
41510 2009-08-10  Bruno Haible  <bruno@clisp.org>
41511
41512         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41513
41514 2009-08-10  Bruno Haible  <bruno@clisp.org>
41515
41516         Fix a gcc warning.
41517         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41518
41519 2009-08-10  Bruno Haible  <bruno@clisp.org>
41520
41521         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41522         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41523         not only the first time.
41524         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41525         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41526         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41527         is 1, not only the the first time.
41528
41529 2009-08-10  Bruno Haible  <bruno@clisp.org>
41530
41531         Make it possible to use module 'gethostname' without module 'close'.
41532         * lib/unistd.in.h (close): Evoke a link error only if
41533         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41535         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41536         * modules/unistd (Makefile.am): Substitute
41537         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41538         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41539         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41540         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41541         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41542         * modules/sys_ioctl (Makefile.am): Substitute
41543         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41544         * modules/socket (configure.ac): On native Windows, set
41545         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41546         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41547         Reported by Sam Steingold <sds@gnu.org>.
41548
41549 2009-08-10  Bruno Haible  <bruno@clisp.org>
41550
41551         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41552         * modules/ioctl (configure.ac): Likewise.
41553
41554 2009-08-10  Bruno Haible  <bruno@clisp.org>
41555
41556         Avoid collision between gnulib wrapper and libintl wrapper.
41557         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41558         already defined in intl/printf.c.
41559         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41560         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41561
41562 2009-08-09  Bruno Haible  <bruno@clisp.org>
41563
41564         Make <sys/select.h> really self-contained, also on Solaris 10.
41565         * lib/sys_select.in.h: Include <string.h>.
41566         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41567         Solaris 10 problem.
41568         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41569         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41570         Reported by Jim Meyering.
41571
41572 2009-08-09  Bruno Haible  <bruno@clisp.org>
41573
41574         Avoid warnings from 'aclocal' that are due to a use of macro name
41575         AM_XGETTEXT_OPTION that is not defined in automake.
41576         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41577         automake.
41578         * modules/error (configure.ac): Likewise.
41579         * modules/propername (configure.ac): Likewise.
41580         * modules/vasprintf (configure.ac): Likewise.
41581         * modules/verror (configure.ac): Likewise.
41582         * modules/xprintf (configure.ac): Likewise.
41583         * modules/xvasprintf (configure.ac): Likewise.
41584
41585 2009-08-08  Bruno Haible  <bruno@clisp.org>
41586
41587         Avoid compilation error in C++ mode.
41588         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41589         Reported by Sam Steingold <sds@gnu.org>.
41590
41591 2009-08-08  Bruno Haible  <bruno@clisp.org>
41592
41593         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41594         for the various Unix platforms.
41595         * doc/posix-headers/limits.texi: Update platforms list regarding
41596         HOST_NAME_MAX.
41597         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41598
41599 2009-08-07  Jim Meyering  <meyering@redhat.com>
41600
41601         selinux-at: fix typo in a comment
41602         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41603         Spotted by Paolo Bonzini.
41604
41605         selinux-at: remove redundant m4 code, add documentation
41606         * modules/selinux-at (configure.ac): Remove redundant code.
41607         LIB_SELINUX is already set via the dependent module, selinux-h.
41608         (Include): Add quotes around selinux-at.h.
41609         * lib/selinux-at.h: Add documentation.
41610         Reported by Bruno Haible in
41611         http://marc.info/?l=gnulib-bug&m=124958988300749
41612
41613 2009-08-07  Bruno Haible  <bruno@clisp.org>
41614
41615         Avoid link error on MacOS X 10.3 and 10.4.
41616         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41617         on non-ELF systems.
41618         * lib/argp-pv.c (argp_program_version): Likewise.
41619         Reported by Simon Josefsson.
41620
41621 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41622
41623         * tests/test-version-etc.sh: Use $EXEEXT.
41624
41625 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41626
41627         update-copyright: update documentation to point to maint.mk
41628         * build-aux/update-copyright: Here.
41629
41630 2009-08-06  Jim Meyering  <meyering@redhat.com>
41631
41632         maint.mk: support update-copyright-local
41633         * top/maint.mk (update-copyright-local): Define place-holder.
41634         (update-copyright): Depend on $(update-copyright-local).
41635
41636 2009-08-06  Jim Meyering  <meyering@redhat.com>
41637
41638         selinux-at: new module
41639         Initially written for coreutils, this module will soon be
41640         used by findutils, too.
41641         * MODULES.html.sh [Misc]: Add selinux-at.
41642         * lib/selinux-at.h: New file, from coreutils.
41643         * lib/selinux-at.c: Likewise.
41644         * modules/selinux-at: Likewise.
41645         (License): Change from LGPL to GPL, since it depends
41646         on the GPL'd openat module.
41647
41648         doc: update README
41649         * README: Remove references to cogito.
41650         Remove cvs-repo-updating instructions from 2007.
41651         Don't imply that CVS is better if you have limited disk space.
41652
41653 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41654
41655         update-copyright: support C-style comments
41656         * build-aux/update-copyright: Implement and document.
41657         * tests/test-update-copyright.sh: Test.
41658
41659 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41660
41661         update-copyright: support omitted "(C)"
41662         * build-aux/update-copyright: Implement and document.  Also,
41663         allow variable whitespace before "(C)".
41664         * tests/test-update-copyright.sh: Test.
41665
41666 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41667
41668         update-copyright: don't trip on non-FSF copyright statements
41669         * build-aux/update-copyright: Fix so that the first correctly
41670         formatted FSF copyright statement is recognized no matter what
41671         appears before it.  Update documentation.
41672         * tests/test-update-copyright.sh: Test that.
41673
41674 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41675
41676         update-copyright: clean up code a little
41677         * build-aux/update-copyright: Append "_re" to the name of any
41678         variable holding a regular expression.
41679         Replace "old" and "new" with "stmt" in variable names.
41680         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41681         handled correctly.
41682         Format code more consistently.
41683
41684 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41685
41686         update-copyright-tests: improve portability
41687         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41688         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41689
41690 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41691
41692         update-copyright: support @copyright{} and &copy;
41693         * build-aux/update-copyright: Implement and document.
41694         * tests/test-update-copyright.sh: Test.
41695
41696 2009-08-04  Jim Meyering  <meyering@redhat.com>
41697
41698         update-copyright-tests: correctly test EOL=\r\n handling
41699         * tests/test-update-copyright.sh: Put \r at the end of some lines
41700         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41701
41702         maint.mk: make update-copyright exclusion list more configurable
41703         * top/maint.mk (update-copyright): Default to excluding COPYING,
41704         but allow an override, in case someone does want to update that file.
41705
41706         maint.mk: don't update copyright date in COPYING
41707         * top/maint.mk (update-copyright): Exclude COPYING.
41708
41709         maint.mk: add a copyright-updating rule
41710         * top/maint.mk (update-copyright): New rule.
41711         Derived from coreutils/Makefile.am.
41712
41713         update-copyright: rename some variables
41714         * build-aux/update-copyright: Rename a few variables for clarity.
41715         Tweak syntax.  List Joel E. Denny as coauthor.
41716
41717 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41718
41719         update-copyright: fix bug for 2-digit last year and add tests
41720         * build-aux/update-copyright: Fix bug.
41721         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41722         specified.
41723         * modules/update-copyright-tests: New
41724         * tests/test-update-copyright.sh: New.
41725
41726 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41727
41728         update-copyright: handle leading tabs in line prefix
41729         * build-aux/update-copyright: Count leading tabs as 8 spaces
41730         when computing margin.  This helps with the formatting of
41731         ChangeLogs, for example.
41732         Fix documentation a little.
41733
41734 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41735
41736         update-copyright: support EOL=\r\n
41737         * build-aux/update-copyright: Implement that.
41738
41739 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41740
41741         update-copyright: automatically format copyright statements
41742         * build-aux/update-copyright: Implement that.
41743         Also, be a little more predictable and safer by always failing
41744         when the full copyright format is not perfectly recognized as an
41745         unbroken whole.  Discussed at
41746         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41747         Rewrite documentation.
41748
41749 2009-08-03  Bruno Haible  <bruno@clisp.org>
41750
41751         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41752
41753 2009-08-02  Bruno Haible  <bruno@clisp.org>
41754
41755         Tests for module 'uname'.
41756         * modules/uname-tests: New file.
41757         * tests/test-uname.c: New file.
41758
41759         New module 'uname'.
41760         * lib/uname.c: New file.
41761         * m4/uname.m4: New file.
41762         * modules/uname: New file.
41763         * doc/posix-functions/uname.texi: Mention the new module.
41764
41765 2009-08-02  Bruno Haible  <bruno@clisp.org>
41766
41767         Tests for module 'sys_utsname'.
41768         * modules/sys_utsname-tests: New file.
41769         * tests/test-sys_utsname.c: New file.
41770
41771         New module 'sys_utsname'.
41772         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41773         * m4/sys_utsname_h.m4: New file.
41774         * modules/sys_utsname: New file.
41775         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41776
41777 2009-08-02  Bruno Haible  <bruno@clisp.org>
41778
41779         Implicitly initialize the sockets library.
41780         * lib/gethostname.c: Include sockets.h.
41781         (rpl_gethostname): Invoke gl_sockets_startup.
41782         * lib/socket.c: Include sockets.h.
41783         (rpl_socket): Invoke gl_sockets_startup.
41784         * modules/gethostname (Depends-on): Add sockets.
41785         * modules/socket (Depends-on): Likewise.
41786         * tests/test-poll.c: Don't include sockets.h.
41787         (main): Don't invoke gl_sockets_startup.
41788         * tests/test-select.c: Don't include sockets.h.
41789         (main): Don't invoke gl_sockets_startup.
41790
41791 2009-08-02  Bruno Haible  <bruno@clisp.org>
41792
41793         Allow multiple calls to gl_sockets_startup.
41794         * lib/sockets.c (initialized_sockets_version): New variable.
41795         (gl_sockets_startup): Do nothing if already called for this or a higher
41796         version.
41797         (gl_sockets_cleanup): Reset initialized_sockets_version.
41798
41799 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41800
41801         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41802         different project/version.
41803
41804 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41805             Bruno Haible  <bruno@clisp.org>
41806
41807         Tests for module 'pipe-filter-gi'.
41808         * modules/pipe-filter-gi-tests: New file.
41809         * tests/test-pipe-filter-gi1.sh: New file.
41810         * tests/test-pipe-filter-gi1.c: New file.
41811         * tests/test-pipe-filter-gi2.sh: New file.
41812         * tests/test-pipe-filter-gi2-main.c: New file.
41813         * tests/test-pipe-filter-gi2-child.c: New file.
41814
41815         New module 'pipe-filter-gi'.
41816         * lib/pipe-filter-gi.c: New file.
41817         * modules/pipe-filter-gi: New file.
41818
41819 2009-08-02  Bruno Haible  <bruno@clisp.org>
41820             Paolo Bonzini  <bonzini@gnu.org>
41821
41822         Tests for module 'pipe-filter-ii'.
41823         * modules/pipe-filter-ii-tests: New file.
41824         * tests/test-pipe-filter-ii1.sh: New file.
41825         * tests/test-pipe-filter-ii1.c: New file.
41826         * tests/test-pipe-filter-ii2.sh: New file.
41827         * tests/test-pipe-filter-ii2-main.c: New file.
41828         * tests/test-pipe-filter-ii2-child.c: New file.
41829
41830         New module 'pipe-filter-ii'.
41831         * lib/pipe-filter.h: New file.
41832         * lib/pipe-filter-ii.c: New file.
41833         * lib/pipe-filter-aux.h: New file.
41834         * modules/pipe-filter-ii: New file.
41835
41836 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41837
41838         * lib/gc-libgcrypt.c: Change copyright to FSF.
41839         * lib/gc-gnulib.c: Likewise.
41840
41841 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41842
41843         * lib/gethostname.c: Include limits.h.
41844
41845 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41846             Bruno Haible  <bruno@clisp.org>
41847
41848         Ensure HOST_NAME_MAX as part of the gethostname module.
41849         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41850         define also HOST_NAME_MAX.
41851         * tests/test-gethostname.c: Include <limits.h>.
41852         (main): Check also HOST_NAME_MAX.
41853         * doc/posix-headers/limits.texi: Document the mingw problem.
41854
41855 2009-08-02  Bruno Haible  <bruno@clisp.org>
41856
41857         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41858         Add comments.
41859
41860 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41861
41862         * lib/gethostname.c: Add Windows wrapper.
41863         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41864         * modules/gethostname: Depend on sys_socket & errno, for also
41865         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41866         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41867
41868 2009-07-31  Jim Meyering  <meyering@redhat.com>
41869
41870         getloadavg: fix symbol name in comment
41871         * lib/getloadavg.c: Correct a typo I introduced when adding
41872         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41873         Matt Kraai spotted the problem.
41874
41875 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41876
41877         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41878         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41879         code also if ! defined N_NAME_POINTER.
41880         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41881         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41882         but the n_name member is a 12-byte array.
41883
41884 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41885
41886         update-copyright: generalize comment handling
41887         * build-aux/update-copyright: Handle copyright statements
41888         within more comment styles.
41889         Document usage.
41890         Report any file with an external copyright holder or parse failure.
41891
41892 2009-07-29  Jim Meyering  <meyering@redhat.com>
41893
41894         mktime: correct setting of REPLACE_MKTIME
41895         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41896
41897         update-copyright: new module
41898         * modules/update-copyright: New file.
41899         * build-aux/update-copyright: New file.
41900         * MODULES.html.sh (maint+release support): Add update-copyright.
41901
41902 2009-07-27  Bruno Haible  <bruno@clisp.org>
41903
41904         Fix compilation error when <ctime> is used and mktime is replaced.
41905         * lib/time.in.h (mktime): New declaration.
41906         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41907         REPLACE_MKTIME instead of defining mktime in config.h.
41908         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41909         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41910         Reported by Ross McFarland <rwmcfa1@neces.com>.
41911
41912 2009-07-27  Bruno Haible  <bruno@clisp.org>
41913
41914         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41915         Reported by Matt Kraai <mkraai@beckman.com>.
41916
41917 2009-07-25  Jim Meyering  <meyering@redhat.com>
41918
41919         maint.mk: avoid warnings about missing files
41920         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41921         diagnostic when .prev-version does not exist.
41922         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41923         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41924         nonexistent cfg.mk.
41925         Suggestions from Simon Josefsson.
41926
41927 2009-07-25  Bruno Haible  <bruno@clisp.org>
41928
41929         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41930         defined as macros. Needed on QNX 6.4.1.
41931         Reported by Matt Kraai <mkraai@beckman.com>.
41932
41933 2009-07-23  Jim Meyering  <meyering@redhat.com>
41934
41935         maint.mk: invoke "make dist" with a working value of XZ_OPT
41936         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41937
41938 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41939
41940         Make fseeko.c compile on QNX.
41941         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41942
41943 2009-07-22  Peter Simons  <simons@cryp.to>
41944
41945         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41946         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41947         * lib/md4.h: Likewise.
41948         * lib/md5.h: Likewise.
41949         * lib/sha1.h: Likewise.
41950         * lib/sha256.h: Likewise.
41951         * lib/sha512.h: Likewise.
41952
41953         tests-sha1: don't assign literal string to 'char *' variable
41954         * tests/test-sha1.c (main): Declare locals with "const" to match
41955         attributes of the right hand side.
41956
41957 2009-07-21  Eric Blake  <ebb9@byu.net>
41958
41959         dup2: fix more mingw problems
41960         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41961         fd to itself.
41962         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41963         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41964         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41965         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41966         care of mingw bugs.
41967
41968 2009-07-21  Jim Meyering  <meyering@redhat.com>
41969
41970         vc-list-files: avoid failure when /bin/sh is dash
41971         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41972         On some Debian based systems, /bin/sh is a symlink to dash, and running
41973         this command would omit the "/" following each 'tests' prefix:
41974           dash -x build-aux/vc-list-files -C . tests
41975         That is because bash and dash work differently:
41976           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41977           bash ok
41978           dash odd
41979
41980 2009-07-21  Eric Blake  <ebb9@byu.net>
41981
41982         dup2-tests: test previous patch
41983         * modules/dup2-tests: New file.
41984         * tests/test-dup2.c: Likewise.
41985         * tests/test-open.c (main): Avoid unspecified behavior.
41986         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41987         test.
41988
41989         dup2: work around mingw and cygwin 1.5 bug
41990         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41992         * modules/unistd (Makefile.am): Substitute it.
41993         * lib/unistd.in.h (dup2): Declare the replacement.
41994         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41995         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41996         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41997         * modules/execute (Depends-on): Add dup2.
41998         * modules/fseterr (Depends-on): Likewise.
41999         * modules/pipe (Depends-on): Likewise.
42000         * modules/posix_spawn-internal (Depends-on): Likewise.
42001
42002 2009-07-21  Bruno Haible  <bruno@clisp.org>
42003
42004         * modules/.gitattributes: New file.
42005
42006 2009-07-20  Bruno Haible  <bruno@clisp.org>
42007
42008         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
42009         (main): Use it.
42010
42011 2009-07-20  Eric Blake  <ebb9@byu.net>
42012
42013         test-pipe: make a bit more robust.
42014         * tests/test-pipe.c (myerr): Allow error messages regardless of
42015         what we do to stderr.
42016         (test_pipe): Rearrange to avoid deadlock.
42017         (child_main): Try a larger read, to ensure we avoided deadlock.
42018         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
42019         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
42020         if misused.
42021
42022 2009-07-19  Jim Meyering  <meyering@redhat.com>
42023
42024         fts: avoid false-positive cycle-detection
42025         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
42026         for each new command line argument.
42027
42028 2009-07-19  Bruno Haible  <bruno@clisp.org>
42029
42030         Fix build error on mingw with the modules sys_select and unistd.
42031         * modules/acl-tests (Depends-on): Add close.
42032         * modules/binary-io-tests (Depends-on): Likewise.
42033         * modules/closein-tests (Depends-on): Likewise.
42034         * modules/flock-tests (Depends-on): Likewise.
42035         * modules/fsync-tests (Depends-on): Likewise.
42036         * modules/lseek-tests (Depends-on): Likewise.
42037         * modules/pipe-tests (Depends-on): Likewise.
42038         * modules/posix_spawn-tests (Depends-on): Likewise.
42039         * modules/posix_spawnp-tests (Depends-on): Likewise.
42040         * modules/stat-time-tests (Depends-on): Likewise.
42041         * modules/yesno-tests (Depends-on): Likewise.
42042
42043 2009-07-19  Bruno Haible  <bruno@clisp.org>
42044
42045         Unify conditionals.
42046         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
42047         macros, not at the compiler macros.
42048         * lib/pipe.c: Likewise.
42049         * lib/execute.c: Likewise.
42050         * lib/spawni.c: Likewise.
42051
42052 2009-07-19  Bruno Haible  <bruno@clisp.org>
42053
42054         Fix handling of closed stdin/stdout/stderr on mingw.
42055         * lib/w32spawn.h: Include unistd.h.
42056         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
42057         file descriptor with O_NOINHERIT flag.
42058         (fd_safer_noinherit): New function, based on fd-safer.c.
42059         (dup_safer_noinherit): New function, based on dup-safer.c.
42060         (undup_safer_noinherit): New function.
42061         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
42062         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
42063         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
42064         instead of fd_safer.
42065         * tests/test-pipe.c: Include <windows.h>.
42066         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
42067         result.
42068
42069         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
42070         from main.
42071         (test_pipe): Pass an extra argument for disambiguation.
42072         (main): Invoke parent_main or child_main.
42073
42074         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
42075         consistently.
42076
42077 2009-07-18  Eric Blake  <ebb9@byu.net>
42078
42079         test-pipe: fix mingw build
42080         * tests/test-pipe.c (main): Avoid fcntl on mingw.
42081
42082 2009-07-18  Bruno Haible  <bruno@clisp.org>
42083
42084         * modules/pipe-tests (Makefile.am): Fix typo.
42085
42086 2009-07-18  Eric Blake  <ebb9@byu.net>
42087
42088         error: fix mingw build
42089         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
42090         Reported by Bruno Haible.
42091
42092         error: avoid undefined use of stdout
42093         * lib/error.c (error, error_at_line): Check that fd 1 is open
42094         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
42095         is handling faults and the close_stdout module wants to report the
42096         detection of closed stdout as an error.
42097
42098 2009-07-17  Eric Blake  <ebb9@byu.net>
42099
42100         pipe: be robust in face of closed fds
42101         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
42102         should cause child to misbehave.
42103         * modules/pipe-tests: New module.
42104         * tests/test-pipe.c: New file.
42105         * tests/test-pipe.sh: New file.
42106         Reported by Akim Demaille.
42107
42108 2009-07-14  Bruno Haible  <bruno@clisp.org>
42109
42110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
42111         Reported by anonymous kc.
42112
42113 2009-07-07  Jim Meyering  <meyering@redhat.com>
42114
42115         maint.mk: don't look for translatable strings in *.m4 or *.mk
42116         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
42117         when searching for translatable strings.
42118
42119 2009-07-05  Jim Meyering  <meyering@redhat.com>
42120
42121         remove superfluous parentheses in STREQ definition
42122         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
42123         * lib/getugroups.c (STREQ): Likewise.
42124         * lib/fnmatch.c (STREQ): Likewise.
42125         Spotted by Bruno Haible.
42126
42127 2009-07-04  Jim Meyering  <meyering@redhat.com>
42128
42129         argv-iter: new module
42130         * MODULES.html.sh: Add argv-iter.
42131         * lib/argv-iter.c, lib/argv-iter.h: New files.
42132         * modules/argv-iter: New file.
42133         * modules/argv-iter-tests: New file.
42134         * tests/test-argv-iter.c: Test it.
42135
42136 2009-07-04  Bruno Haible  <bruno@clisp.org>
42137
42138         Fix assertion.
42139         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
42140         contains more exact copies of a given entry than file2, leave the extra
42141         copies unpaired rather than aborting.
42142         Reported by Eric Blake.
42143
42144 2009-07-02  Bruno Haible  <bruno@clisp.org>
42145
42146         Speedup git-merge-changelog for git cherry-pick.
42147         * lib/git-merge-changelog.c (struct entries_mapping): New type.
42148         (entries_mapping_get): New function, extracted from compute_mapping.
42149         (entries_mapping_reverse_get): New function.
42150         (compute_mapping): Add a 'full' argument. Return the result in a
42151         'struct entries_mapping'.
42152         (main): Update. Access the mappings through entries_mapping_get.
42153         Reported by Eric Blake.
42154
42155 2009-07-02  Bruno Haible  <bruno@clisp.org>
42156
42157         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
42158         best_i.
42159
42160 2009-07-02  Bruno Haible  <bruno@clisp.org>
42161
42162         Speed up approximate search for matching ChangeLog entries.
42163         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
42164         argument. Call fstrcmp_bounded instead of fstrcmp.
42165         (compute_mapping, try_split_merged_entry, main): Update callers.
42166
42167 2009-07-02  Bruno Haible  <bruno@clisp.org>
42168
42169         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
42170
42171 2009-06-30  Bruno Haible  <bruno@clisp.org>
42172
42173         Reduce the number of uc_is_cased calls.
42174         * lib/unicase.h (casing_suffix_context_t): Add
42175         'first_char_except_ignorable' field.
42176         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
42177         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
42178         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
42179         Update initializer.
42180         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
42181         case-ignorable characters.
42182         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
42183         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
42184         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
42185         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
42186         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
42187
42188 2009-06-30  Bruno Haible  <bruno@clisp.org>
42189
42190         Tests for module 'unicase/ignorable'.
42191         * modules/unicase/ignorable-tests: New file.
42192         * tests/unicase/test-ignorable.c: New file, generated by
42193         gen-uni-tables.
42194
42195         Tests for module 'unicase/cased'.
42196         * modules/unicase/cased-tests: New file.
42197         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
42198         * tests/unicase/test-predicate-part1.h: New file, derived from
42199         tests/unictype/test-predicate-part1.h.
42200         * tests/unicase/test-predicate-part2.h: New file, same as
42201         tests/unictype/test-predicate-part2.h.
42202
42203         Fix evaluation of "Before C" condition of FINAL_SIGMA.
42204         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
42205         (output_casing_properties): New function.
42206         (main): Call it.
42207         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
42208         * lib/unicase/cased.c: Include unictype/bitmap.h.
42209         (uc_is_cased): Define through a bitmap lookup.
42210         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
42211         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
42212         (uc_is_case_ignorable): Define through a bitmap lookup.
42213         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
42214         lib/unictype/bitmap.h.
42215         (Depends-on): Add inline. Clean up.
42216         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
42217         lib/unictype/bitmap.h.
42218         (Depends-on): Add inline. Clean up.
42219         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
42220         recognition.
42221         * tests/unicase/test-u16-tolower.c (main): Likewise.
42222         * tests/unicase/test-u32-tolower.c (main): Likewise.
42223
42224 2009-06-30  Bruno Haible  <bruno@clisp.org>
42225
42226         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
42227         * lib/unicase/u16-casemap.c: Likewise.
42228         * lib/unicase/u32-casemap.c: Likewise.
42229
42230 2009-06-29  Bruno Haible  <bruno@clisp.org>
42231
42232         Define u32_casefold as a wrapper around u32_ct_casefold.
42233         * lib/unicase/u32-casefold.c: Update.
42234         * modules/unicase/u32-casefold (Depends-on): Add
42235         unicase/u32-ct-casefold, unicase/empty-prefix-context,
42236         unicase/empty-suffix-context. Clean up.
42237
42238         Define u16_casefold as a wrapper around u16_ct_casefold.
42239         * lib/unicase/u16-casefold.c: Update.
42240         * modules/unicase/u16-casefold (Depends-on): Add
42241         unicase/u16-ct-casefold, unicase/empty-prefix-context,
42242         unicase/empty-suffix-context. Clean up.
42243
42244         Define u8_casefold as a wrapper around u8_ct_casefold.
42245         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
42246         * lib/unicase/u8-casefold.c: Update.
42247         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
42248         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42249
42250         Define u32_totitle as a wrapper around u32_ct_totitle.
42251         * lib/unicase/u32-totitle.c: Update.
42252         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
42253         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42254
42255         Define u16_totitle as a wrapper around u16_ct_totitle.
42256         * lib/unicase/u16-totitle.c: Update.
42257         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
42258         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42259
42260         Define u8_totitle as a wrapper around u8_ct_totitle.
42261         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
42262         functions.
42263         (FUNC): Delegate to U_CT_TOTITLE.
42264         * lib/unicase/u8-totitle.c: Update.
42265         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
42266         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
42267
42268         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
42269         invocation.
42270         * modules/unicase/u32-tolower (Depends-on): Add
42271         unicase/empty-prefix-context, unicase/empty-suffix-context.
42272
42273         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
42274         invocation.
42275         * modules/unicase/u16-tolower (Depends-on): Add
42276         unicase/empty-prefix-context, unicase/empty-suffix-context.
42277
42278         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
42279         * modules/unicase/u8-tolower (Depends-on): Add
42280         unicase/empty-prefix-context, unicase/empty-suffix-context.
42281
42282         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
42283         invocation.
42284         * modules/unicase/u32-toupper (Depends-on): Add
42285         unicase/empty-prefix-context, unicase/empty-suffix-context.
42286
42287         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
42288         invocation.
42289         * modules/unicase/u16-toupper (Depends-on): Add
42290         unicase/empty-prefix-context, unicase/empty-suffix-context.
42291
42292         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
42293         * modules/unicase/u8-toupper (Depends-on): Add
42294         unicase/empty-prefix-context, unicase/empty-suffix-context.
42295
42296         New module 'unicase/u32-ct-casefold'.
42297         * lib/unicase/u32-ct-casefold.c: New file.
42298         * modules/unicase/u32-ct-casefold: New file.
42299
42300         New module 'unicase/u16-ct-casefold'.
42301         * lib/unicase/u16-ct-casefold.c: New file.
42302         * modules/unicase/u16-ct-casefold: New file.
42303
42304         New module 'unicase/u8-ct-casefold'.
42305         * lib/unicase/u8-ct-casefold.c: New file.
42306         * lib/unicase/u-ct-casefold.h: New file, derived from
42307         lib/unicase/u-casefold.h.
42308         * modules/unicase/u8-ct-casefold: New file.
42309
42310         New module 'unicase/u32-ct-totitle'.
42311         * lib/unicase/u32-ct-totitle.c: New file.
42312         * modules/unicase/u32-ct-totitle: New file.
42313
42314         New module 'unicase/u16-ct-totitle'.
42315         * lib/unicase/u16-ct-totitle.c: New file.
42316         * modules/unicase/u16-ct-totitle: New file.
42317
42318         New module 'unicase/u8-ct-totitle'.
42319         * lib/unicase/u8-ct-totitle.c: New file.
42320         * lib/unicase/u-ct-totitle.h: New file, derived from
42321         lib/unicase/u-totitle.h.
42322         * modules/unicase/u8-ct-totitle: New file.
42323
42324         New module 'unicase/u32-ct-tolower'.
42325         * lib/unicase/u32-ct-tolower.c: New file.
42326         * modules/unicase/u32-ct-tolower: New file.
42327
42328         New module 'unicase/u16-ct-tolower'.
42329         * lib/unicase/u16-ct-tolower.c: New file.
42330         * modules/unicase/u16-ct-tolower: New file.
42331
42332         New module 'unicase/u8-ct-tolower'.
42333         * lib/unicase/u8-ct-tolower.c: New file.
42334         * modules/unicase/u8-ct-tolower: New file.
42335
42336         New module 'unicase/u32-ct-toupper'.
42337         * lib/unicase/u32-ct-toupper.c: New file.
42338         * modules/unicase/u32-ct-toupper: New file.
42339
42340         New module 'unicase/u16-ct-toupper'.
42341         * lib/unicase/u16-ct-toupper.c: New file.
42342         * modules/unicase/u16-ct-toupper: New file.
42343
42344         New module 'unicase/u8-ct-toupper'.
42345         * lib/unicase/u8-ct-toupper.c: New file.
42346         * modules/unicase/u8-ct-toupper: New file.
42347
42348         Add context arguments to u*_casemap functions.
42349         * lib/unicase/unicasemap.h: Include unicase.h.
42350         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
42351         suffix_context arguments.
42352         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
42353         functions.
42354         (FUNC): Add prefix_context and suffix_context arguments. Use
42355         uc_is_cased and uc_is_case_ignorable.
42356         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
42357         * lib/unicase/u16-casemap.c: Likewise.
42358         * lib/unicase/u32-casemap.c: Likewise.
42359         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
42360         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42361         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
42362         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42363         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
42364         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
42365
42366         New module 'unicase/u32-suffix-context'.
42367         * lib/unicase/u32-suffix-context.c: New file.
42368         * modules/unicase/u32-suffix-context: New file.
42369
42370         New module 'unicase/u16-suffix-context'.
42371         * lib/unicase/u16-suffix-context.c: New file.
42372         * modules/unicase/u16-suffix-context: New file.
42373
42374         New module 'unicase/u8-suffix-context'.
42375         * lib/unicase/u8-suffix-context.c: New file.
42376         * lib/unicase/u-suffix-context.h: New file.
42377         * modules/unicase/u8-suffix-context: New file.
42378
42379         New module 'unicase/empty-suffix-context'.
42380         * lib/unicase/empty-suffix-context.c: New file.
42381         * modules/unicase/empty-suffix-context: New file.
42382
42383         New module 'unicase/u32-prefix-context'.
42384         * lib/unicase/u32-prefix-context.c: New file.
42385         * modules/unicase/u32-prefix-context: New file.
42386
42387         New module 'unicase/u16-prefix-context'.
42388         * lib/unicase/u16-prefix-context.c: New file.
42389         * modules/unicase/u16-prefix-context: New file.
42390
42391         New module 'unicase/u8-prefix-context'.
42392         * lib/unicase/u8-prefix-context.c: New file.
42393         * lib/unicase/u-prefix-context.h: New file.
42394         * lib/unicase/context.h: New file.
42395         * modules/unicase/u8-prefix-context: New file.
42396
42397         New module 'unicase/empty-prefix-context'.
42398         * lib/unicase/empty-prefix-context.c: New file.
42399         * modules/unicase/empty-prefix-context: New file.
42400
42401         New module 'unicase/ignorable'.
42402         * lib/unicase/ignorable.c: New file.
42403         * modules/unicase/ignorable: New file.
42404
42405         New module 'unicase/cased'.
42406         * lib/unicase/caseprop.h: New file.
42407         * lib/unicase/cased.c: New file.
42408         * modules/unicase/cased: New file.
42409
42410         New functions for case mapping of substrings.
42411         * lib/unicase.h (casing_prefix_context_t): New type.
42412         (unicase_empty_prefix_context): New variable.
42413         (u8_casing_prefix_context, u16_casing_prefix_context,
42414         u32_casing_prefix_context, u8_casing_prefixes_context,
42415         u16_casing_prefixes_context, u32_casing_prefixes_context): New
42416         declarations.
42417         (casing_suffix_context_t): New type.
42418         (unicase_empty_suffix_context): New variable.
42419         (u8_casing_suffix_context, u16_casing_suffix_context,
42420         u32_casing_suffix_context, u8_casing_suffixes_context,
42421         u16_casing_suffixes_context, u32_casing_suffixes_context,
42422         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
42423         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
42424         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
42425         declarations.
42426
42427 2009-06-28  Jim Meyering  <meyering@redhat.com>
42428
42429         boostrap: indent only with spaces
42430         * build-aux/bootstrap: Indent only with spaces, never TABs.
42431
42432         bootstrap: split long lines
42433         * build-aux/bootstrap: Keep line length < 80.
42434
42435         bootstrap: sync from coreutils
42436         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
42437         just as autoreconf does.  Verify a list of prerequisite
42438         package-name,version-number pairs if defined in bootstrap.conf.
42439         Refer to README-prereq, if prerequisites are not satisfied.
42440
42441 2009-06-27  Eric Blake  <ebb9@byu.net>
42442
42443         tests: add test for bogus NULL definition
42444         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42445         * tests/test-stdlib.c: Likewise.
42446         * tests/test-string.c: Likewise.
42447         * tests/test-locale.c: Likewise.
42448         * tests/test-unistd.c: Likewise.
42449         * modules/stdio-tests (Depends-on): Add verify.
42450         * modules/stdlib-tests (Depends-on): Likewise.
42451         * modules/string-tests (Depends-on): Likewise.
42452         * modules/locale-tests (Depends-on): Likewise.
42453         * modules/unistd-tests (Depends-on): Likewise.
42454
42455 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42456
42457         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42458         self-explaining comment.
42459         * m4/selinux-selinux-h: Update serial.
42460         (gl_LIBSELINUX): New macro, adding a warning for missing development
42461         packages to code extracted from...
42462         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42463         Add warning for missing development packages here, too.
42464
42465 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42466
42467         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42468
42469 2009-06-25  Eric Blake  <ebb9@byu.net>
42470
42471         version-etc: fix regression
42472         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42473         gcc.
42474         (version_etc): Use it, to catch bugs with trailing NULL.
42475         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42476         (version_etc_va): Fix logic bug.
42477         * modules/version-etc-tests: Add test.
42478         * tests/test-version-etc.c: New file.
42479         * tests/test-version-etc.sh: Likewise.
42480
42481 2009-06-25  Sam Steingold  <sds@gnu.org>
42482
42483         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42484         mbtowc declaration.
42485
42486 2009-06-25  Eric Blake  <ebb9@byu.net>
42487
42488         fpurge: migrate into <stdio.h>
42489         * lib/fpurge.h: Delete...
42490         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42491         * lib/fpurge.c (fpurge): Change declaring header.
42492         * modules/fpurge (Files): Drop deleted file.
42493         (Depends-on): Add stdio.
42494         (configure.ac): Set witness.
42495         * modules/stdio (Makefile.am): Support fpurge macros.
42496         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42497         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42498         * lib/fflush.c: Update client.
42499         * tests/test-fpurge.c: Likewise.
42500         * NEWS: Mention the change.
42501
42502 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42503
42504         * lib/argp-version-etc.c (program_authors): Add const
42505         qualifier.
42506         * lib/version-etc.c: Fix typos in the comments.
42507         * modules/argp-version-etc: Depends on version-etc.
42508
42509 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42510
42511         argp-version-etc: new module.
42512
42513         * lib/argp-version-etc.c: New file.
42514         * lib/argp-version-etc.h: New file.
42515         * modules/argp-version-etc: New file.
42516         * modules/argp-version-etc-tests: New file.
42517         * tests/test-argp-version-etc.c: New test.
42518         * tests/test-argp-version-etc-1.sh: New test.
42519
42520 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42521
42522         Provide additional interfaces and documentation for version-etc
42523         module.
42524
42525         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42526         interfaces.
42527         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42528         prototypes.
42529
42530 2009-06-24  Bruno Haible  <bruno@clisp.org>
42531
42532         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42533         HAVE_LIB${NAME} macro.
42534         Reported by Sam Steingold <sds@gnu.org>.
42535
42536 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42537
42538         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42539         needed.
42540
42541 2009-06-21  Bruno Haible  <bruno@clisp.org>
42542
42543         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42544         work.
42545         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42546         together with LIB${NAME}, LTLIB${NAME}.
42547         Reported by Sam Steingold <sds@gnu.org>.
42548
42549 2009-06-20  Jim Meyering  <meyering@redhat.com>
42550
42551         tests: make sc_require_test_exit_idiom more generic
42552         * top/maint.mk (Exit_witness_file): New overridable variable.
42553         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42554         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42555
42556 2009-06-19  Jim Meyering  <meyering@redhat.com>
42557
42558         hash: reverse order of src/dst parameters in an internal interface
42559         * lib/hash.c (transfer_entries): Reverse order of parameters to
42560         put DST before SRC.  Adjust callers.
42561
42562         tests: test-hash: avoid wholesale duplication
42563         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42564         Instead, use a loop and add a single conditional.
42565
42566         tests: test-hash: allow seed selection via a command line argument
42567         * tests/test-hash.c (get_seed): New function.
42568         (main): Use it.
42569
42570 2009-06-19  Eric Blake  <ebb9@byu.net>
42571
42572         hash: avoid memory leak on allocation failure
42573         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42574         failure.  Factor repeated algorithm...
42575         (transfer_entries): ...into new helper routine.
42576         (hash_delete): React to hash_rehash return value.
42577
42578         hash: reduce memory pressure in hash_rehash no-op case
42579         * lib/hash.c (next_prime): Avoid overflow.
42580         (hash_initialize): Factor bucket size computation...
42581         (compute_bucket_size): ...into new helper function.
42582         (hash_rehash): Use new function and open coding to reduce memory
42583         pressure, and avoid a memory leak in USE_OBSTACK code.
42584         Reported by Jim Meyering.
42585
42586 2009-06-18  Eric Blake  <ebb9@byu.net>
42587
42588         hash: make rotation more obvious
42589         * modules/hash (Depends-on): Add bitrotate and stdint.
42590         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42591         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42592         (SIZE_MAX): Rely on headers for definition.
42593         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42594         (raw_hasher): Use rotr_sz.
42595         Suggested by Jim Meyering.
42596
42597         hash: fix memory leak in last patch
42598         * lib/hash.c (hash_rehash): Avoid memory leak.
42599
42600         hash: avoid no-op rehashing
42601         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42602
42603         hash: provide default callback functions
42604         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42605         (hash_initialize): Use them as defaults.
42606         * tests/test-hash.c (main): Test this.
42607
42608         hash: minor optimization
42609         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42610         when possible.
42611         (hash_initialize): Document this promise.
42612         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42613         * tests/test-hash.c (hash_compare_strings): Test this.
42614
42615 2009-06-18  Bruno Haible  <bruno@clisp.org>
42616
42617         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42618         going to be replaced anyway.
42619
42620 2009-06-18  Bruno Haible  <bruno@clisp.org>
42621
42622         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42623         in one place.
42624         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42625         be replaced anyway.
42626
42627 2009-06-18  Eric Blake  <ebb9@byu.net>
42628
42629         hash: check for resize before insertion
42630         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42631         threshold before insertion, so that a pathological hash_rehash
42632         that fills every bucket can still trigger another rehash.
42633
42634 2009-06-18  Jim Meyering  <meyering@redhat.com>
42635
42636         hash-tests: add a loop around the small tests
42637         * tests/test-hash.c (main): Repeat small tests with selected
42638         small initial table sizes.
42639
42640 2009-06-17  Eric Blake  <ebb9@byu.net>
42641
42642         hash: minor cleanups
42643         * lib/hash.h (hash_entry): Make opaque, by moving...
42644         * lib/hash.c (hash_entry): ...here.
42645         (hash_insert): Clarify restrictions on what can be inserted.
42646         (hash_get_next): Clarify when it is safe to remove an element
42647         during traversal.
42648         (check_tuning): Skip verification when tuning is known safe.
42649         (hash_initialize): Clarify restrictions on tuning.
42650
42651 2009-06-17  Jim Meyering  <jim@meyering.net>
42652         and Eric Blake  <ebb9@byu.net>
42653
42654         hash-tests: new module
42655         * modules/hash-tests: New file.
42656         * tests/test-hash.c: New file.
42657
42658 2009-06-17  Eric Blake  <ebb9@byu.net>
42659
42660         strstr-simple: document new module
42661         * MODULES.html.sh: Document new module.
42662
42663         strstr, strcasestr: replace on platforms with broken memchr
42664         * modules/strstr: Split into...
42665         * modules/strstr-simple: ...new module that does not care about
42666         performance, but does care about glibc bug.
42667         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42668         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42669         if platform memchr is broken, per Debian bug 521737.
42670         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42671         memchr.
42672         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42673         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42674         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42675         * modules/mountlist (Depends-on): Add strstr-simple.
42676         * modules/gen-uni-tables (Depends-on): Likewise.
42677         * modules/argz (Depends-on): Add strstr.
42678
42679 2009-06-17  Bruno Haible  <bruno@clisp.org>
42680
42681         * modules/posix_spawn-internal (Depends-on): Add errno.
42682
42683 2009-06-17  Bruno Haible  <bruno@clisp.org>
42684
42685         Define missing ESTALE on Interix 3.5.
42686         * lib/errno.in.h (ESTALE): Assign a value if missing.
42687         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42688         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42689         missing.
42690         * doc/posix-headers/errno.texi: Mention the Interix bug.
42691         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42692
42693 2009-06-15  Eric Blake  <ebb9@byu.net>
42694
42695         memchr, memchr2: add valgrind exception
42696         * lib/memchr.valgrind: New file.
42697         * lib/memchr2.valgrind: New file.
42698         * modules/memchr (Files): Distribute valgrind file.
42699         * modules/memchr2 (Files): Likewise.
42700
42701         docs: memchr is no longer obsolete
42702         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42703         * lib/string.in.h (memchr): Simplify logic.
42704
42705 2009-06-14  Jim Meyering  <meyering@redhat.com>
42706
42707         link-follow: fix the "checking..." message to not mention trailing slash
42708         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42709         never considered trailing slashes.
42710
42711 2009-06-14  Bruno Haible  <bruno@clisp.org>
42712
42713         * m4/memchr.m4: Mention also the bug on IA-64.
42714         * doc/posix-functions/memchr.texi: Likewise.
42715
42716 2009-06-12  Eric Blake  <ebb9@byu.net>
42717
42718         memchr: detect broken x86_64 and alpha implementations
42719         * modules/memchr-tests (Depends-on): Move mmap detection...
42720         * modules/memchr (Depends-on): ...here.
42721         (configure.ac): Set indicator.
42722         * lib/string.in.h (memchr): Declare replacement.
42723         * modules/string (Makefile.am): Trigger replacement.
42724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42725         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42726         bugs.
42727         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42728         * modules/getpagesize (License): Relax license.
42729
42730 2009-06-11  Bruno Haible  <bruno@clisp.org>
42731
42732         * lib/idpriv.h: Add more references.
42733
42734 2009-06-08  Bruno Haible  <bruno@clisp.org>
42735
42736         Tests for module 'idpriv-droptemp'.
42737         * modules/idpriv-droptemp-tests: New file.
42738         * tests/test-idpriv-droptemp.sh: New file.
42739         * tests/test-idpriv-droptemp.su.sh: New file.
42740         * tests/test-idpriv-droptemp.c: New file.
42741
42742         New module 'idpriv-droptemp'.
42743         * lib/idpriv-droptemp.c: New file.
42744         * modules/idpriv-droptemp: New file.
42745
42746 2009-06-08  Bruno Haible  <bruno@clisp.org>
42747
42748         Tests for module 'idpriv-drop'.
42749         * modules/idpriv-drop-tests: New file.
42750         * tests/test-idpriv-drop.sh: New file.
42751         * tests/test-idpriv-drop.su.sh: New file.
42752         * tests/test-idpriv-drop.c: New file.
42753
42754         New module 'idpriv-drop'.
42755         * lib/idpriv.h: New file.
42756         * lib-idpriv-drop.c: New file.
42757         * m4/idpriv.m4: New file.
42758         * modules/idpriv-drop: New file.
42759
42760 2009-06-08  Bruno Haible  <bruno@clisp.org>
42761
42762         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42763         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42764         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42765         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42766         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42767         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42768         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42769
42770 2009-06-08  Eric Blake  <ebb9@byu.net>
42771
42772         test-strstr: use memory fence, when possible
42773         * tests/test-strstr.c (main): Use memory fence, in order to be
42774         more likely to trigger Debian bug 521737.
42775         * modules/strstr-tests (Files): Pull in additional files.
42776
42777         memchr: no longer obsolete, for wider field testing
42778         * modules/memchr (Status, Notice): Delete, this module is no
42779         longer obsolete.
42780         * modules/vasnprintf (Depends-on): Add memchr.
42781
42782 2009-06-07  Jim Meyering  <meyering@redhat.com>
42783
42784         hash: declare some functions with the warn_unused_result attribute
42785         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42786
42787 2009-06-07  Bruno Haible  <bruno@clisp.org>
42788
42789         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42790         Reported by Eric Blake.
42791
42792 2009-06-06  Eric Blake  <ebb9@byu.net>
42793
42794         test-alignof: fix typo with long double
42795         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42796         compiler error.
42797
42798 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42799
42800         Escape non-texinfo { and }s.
42801         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42802         markup error.
42803
42804 2009-06-04  Jim Meyering  <meyering@redhat.com>
42805
42806         gitlog-to-changelog: don't infloop on an empty commit log
42807         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42808         Reported by Boris Petersen <transacid@centerim.org>.
42809
42810 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42811
42812         version-etc: extend for packagers
42813         Add three new configure options, intended for packagers:
42814           --with-packager="packager name"
42815           --with-packager-version="packager-specific version"
42816           --with-packager-bug-reports="packager bug reporting"
42817         An example with coreutils:
42818           $ ./configure \
42819             --with-packager=Gentoo \
42820             --with-packager-bug-report=http://bugs.gentoo.org/ \
42821             --with-packager-version="patchset 1.6"
42822           $ ./src/ls --version | head -n2
42823           ls (GNU coreutils) 7.1-dirty
42824           Packaged by Gentoo (patchset 1.6)
42825         Note that the bug reporting info via --help doesn't show up because
42826         coreutils uses its own custom emit_bug_reporting_address() implementation
42827         in src/system.h.  If it didn't, it'd look like:
42828           $ ./src/ls --help | tail -n4
42829           Report bugs to <bug-coreutils@gnu.org>.
42830           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42831           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42832           General help using GNU software: <http://www.gnu.org/gethelp/>.
42833         * lib/version-etc.c: Print new information, if provided.
42834         * m4/version-etc.m4: New file.
42835         * modules/version-etc (Files): Add m4/version-etc.m4.
42836         (configure.ac): Add gl_VERSION_ETC.
42837
42838 2009-05-31  Bruno Haible  <bruno@clisp.org>
42839
42840         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42841         and 'int64_t'.
42842         * modules/alignof-tests (Dependencies): Add stdint.
42843         Reported by Eric Blake.
42844
42845 2009-05-31  Bruno Haible  <bruno@clisp.org>
42846
42847         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42848         restriction due to compiler bugs.
42849         Reported by Eric Blake.
42850
42851 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42852             Bruno Haible  <bruno@clisp.org>
42853
42854         Fix test-alignof failure.
42855         * lib/alignof.h (alignof_slot): New macro.
42856         (alignof_type): New macro, with the same semantics as the previous
42857         'alignof'.
42858         (alignof): Alias to alignof_slot.
42859         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42860         check that the results are usable as constant expressions.
42861
42862 2009-05-31  Bruno Haible  <bruno@clisp.org>
42863
42864         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42865         * tests/test-memchr.c (main): Check that memchr does not read past the
42866         first occurrence of the byte.
42867         * tests/test-strstr.c (main): Update comment.
42868         Suggested by Eric Blake.
42869
42870 2009-05-30  Bruno Haible  <bruno@clisp.org>
42871
42872         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42873         detail how to use dumpbin.
42874         Reported by David Byron <dbyron@dbyron.com>.
42875
42876 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42877
42878         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42879
42880 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42881
42882         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42883
42884 2009-05-28  Bruno Haible  <bruno@clisp.org>
42885
42886         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42887         build-aux/ files.
42888
42889 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42890
42891         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42892
42893 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42894
42895         * gnulib-tool (sed_transform_main_lib_file)
42896         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42897         regexps.
42898
42899 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42900
42901         * tests/test-strstr.c: Add another self-test.
42902         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42903         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42904
42905 2009-05-23  Bruno Haible  <bruno@clisp.org>
42906
42907         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42908         change.
42909
42910 2009-05-21  Bruno Haible  <bruno@clisp.org>
42911
42912         Simplify use of mode_t varargs.
42913         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42914         uses 'mode_t' or 'int'.
42915         * lib/openat.c (openat): Likewise.
42916         * lib/open-safer.c (open_safer): Likewise.
42917         * m4/mode_t.m4: New file.
42918         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42919         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42920         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42921         * modules/open (Files): Add m4/mode_t.m4.
42922         * modules/openat (Files): Likewise.
42923         * modules/fcntl-safer (Files): Likewise.
42924         Suggested by Eric Blake.
42925
42926 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42927
42928         * doc/glibc-functions/fallocate.texi: New file.
42929         * doc/gnulib.texi: Include it.
42930
42931 2009-05-21  Eric Blake  <ebb9@byu.net>
42932             Bruno Haible  <bruno@clisp.org>
42933
42934         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42935         invocations.
42936         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42937
42938 2009-05-21  Eric Blake  <ebb9@byu.net>
42939             Bruno Haible  <bruno@clisp.org>
42940
42941         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42942         include_next. Fix of 2008-11-20 commit.
42943         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42944         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42945         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42946         NEXT_MATH_H.
42947         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42948         instead of NEXT_MATH_H.
42949
42950 2009-05-21  Bruno Haible  <bruno@clisp.org>
42951
42952         Avoid redefinition warnings for SIZE_MAX.
42953         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42954         Reported by Simon Josefsson.
42955
42956 2009-05-21  Bruno Haible  <bruno@clisp.org>
42957
42958         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42959         AC_CACHE_VAL.
42960
42961 2009-05-20  Bruno Haible  <bruno@clisp.org>
42962
42963         Make zeroptr.h work on mingw.
42964         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42965         mprotect.
42966         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42967         * modules/memchr2-tests (configure.ac): Likewise.
42968         * modules/memcmp-tests (configure.ac): Likewise.
42969         * modules/memmem-tests (configure.ac): Likewise.
42970         * modules/memrchr-tests (configure.ac): Likewise.
42971         Reported by Simon Josefsson.
42972
42973 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42974
42975         * tests/test-glob.c: Include string.h for strcmp prototype.
42976
42977 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42978
42979         * modules/getdelim (Depends-on): Add explicit stdint, although it
42980         was implicitly already pulled in via realloc-posix.
42981         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42982
42983 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42984
42985         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42986         G. Christensen" <tgc@jupiterrise.com>.
42987         * m4/sys_socket_h.m4: Check for sa_family_t.
42988         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42989         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42990         * tests/test-sys_socket.c: Check that sa_family_t works.
42991
42992 2009-05-18  Eric Blake  <ebb9@byu.net>
42993
42994         maint.mk: allow gnulib_dir in VPATH build
42995         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42996
42997 2009-05-15  Jim Meyering  <meyering@redhat.com>
42998
42999         maint.mk: Give gnulib_dir a default definition.
43000         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
43001         Thus, most packages no longer need to specify this variable in cfg.mk
43002
43003 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
43004
43005         rename.m4: fix typos that would make non-mingw cross-configure fail
43006         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
43007
43008 2009-05-13  Eric Blake  <ebb9@byu.net>
43009
43010         mmap-anon: avoid out-of-order autoconf expansion
43011         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
43012         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
43013         * modules/memchr-tests (Depends-on): Add extensions.
43014         * modules/memchr2-tests (Depends-on): Add extensions.
43015         * modules/memcmp-tests (Depends-on): Add extensions.
43016         * modules/memmem-tests (Depends-on): Add extensions.
43017         * modules/memrchr-tests (Depends-on): Add extensions.
43018
43019 2009-05-13  Bruno Haible  <bruno@clisp.org>
43020
43021         Make some tests ISO C 99 compliant.
43022         * tests/zerosize-ptr.h: New file.
43023         * tests/test-memchr.c: Include zerosize-ptr.h.
43024         (main): Use a zero-size object pointer instead of NULL.
43025         * tests/test-memchr2.c: Include zerosize-ptr.h.
43026         (main): Use a zero-size object pointer instead of NULL.
43027         * tests/test-memcmp.c: Include zerosize-ptr.h.
43028         (main): Use a zero-size object pointer instead of NULL.
43029         * tests/test-memmem.c: Include zerosize-ptr.h.
43030         (main): Use a zero-size object pointer instead of NULL.
43031         * tests/test-memrchr.c: Include zerosize-ptr.h.
43032         (main): Use a zero-size object pointer instead of NULL.
43033         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
43034         m4/mmap-anon.m4.
43035         (Depends-on): Add getpagesize.
43036         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43037         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
43038         m4/mmap-anon.m4.
43039         (Depends-on): Add getpagesize.
43040         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43041         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
43042         m4/mmap-anon.m4.
43043         (Depends-on): Add getpagesize.
43044         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43045         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
43046         m4/mmap-anon.m4.
43047         (Depends-on): Add getpagesize.
43048         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43049         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
43050         m4/mmap-anon.m4.
43051         (Depends-on): Add getpagesize.
43052         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
43053
43054 2009-05-12  Bruno Haible  <bruno@clisp.org>
43055
43056         Tests for module 'alignof'.
43057         * modules/alignof-tests: New file.
43058         * tests/test-alignof.c: New file.
43059
43060 2009-05-12  Bruno Haible  <bruno@clisp.org>
43061
43062         Fix alignof macro.
43063         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
43064         vendor compilers that are always correct.
43065
43066 2009-05-12  Bruno Haible  <bruno@clisp.org>
43067
43068         Make the MAP_ANONYMOUS detection work on HP-UX 11.
43069         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
43070         not whether its fully works.
43071
43072 2009-05-12  Bruno Haible  <bruno@clisp.org>
43073
43074         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
43075
43076 2009-05-12  Jim Meyering  <meyering@redhat.com>
43077
43078         * top/maint.mk: Adjust backslash alignment.
43079
43080 2009-05-11  Simon Josefsson  <simon@josefsson.org>
43081
43082         * top/maint.mk: Make $(srcdir)/build-aux configurable.
43083
43084 2009-05-11  Eric Blake  <ebb9@byu.net>
43085
43086         argp: avoid undefined behavior
43087         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
43088         macros.
43089
43090 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43091
43092         * tests/test-vc-list-files-git.sh: Do git config of user.email and
43093         user.name to prevent git commit from complaining.
43094
43095 2009-05-10  Bruno Haible  <bruno@clisp.org>
43096
43097         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
43098         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
43099         it rewrites every file name only once.
43100         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
43101
43102 2009-05-08  Bruno Haible  <bruno@clisp.org>
43103
43104         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
43105         instead of 'max'.
43106
43107 2009-05-08  Simon Josefsson  <simon@josefsson.org>
43108
43109         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
43110         sockaddr_storage test.
43111
43112 2009-05-07  Simon Josefsson  <simon@josefsson.org>
43113
43114         * modules/sys_socket (Makefile.am): Substitute
43115         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
43116         * m4/sys_socket_h.m4: Check for sockaddr_storage.
43117         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
43118         * tests/test-sys_socket.c: Check sockaddr_storage.
43119
43120 2009-05-08  Bruno Haible  <bruno@clisp.org>
43121
43122         New module 'alignof'.
43123         * lib/alignof.h: New file.
43124         * modules/alignof: New file.
43125
43126 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43127             Bruno Haible  <bruno@clisp.org>
43128
43129         Fix test-file-has-acl on FreeBSD.
43130         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
43131         mask is implicitly added.
43132         * tests/test-file-has-acl.c: Include <signal.h>.
43133         (main): Terminate the test after 5 seconds.
43134         * modules/acl-tests (configure.ac): Check for alarm function.
43135
43136 2009-05-04  Bruno Haible  <bruno@clisp.org>
43137
43138         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
43139         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
43140         * modules/errno (configure.ac): Drop AC_REQUIRE.
43141         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
43142         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
43143
43144 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43145
43146         * modules/glob-tests: New module.
43147         * tests/test-glob.c: Add.
43148
43149 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43150
43151         * modules/fnmatch-tests: New module.
43152         * tests/test-fnmatch.c: Add.
43153
43154 2009-05-04  Eric Blake  <ebb9@byu.net>
43155
43156         maint: make the new no-submodule-changes rule VPATH-safe
43157         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
43158
43159 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43160             Bruno Haible  <bruno@clisp.org>
43161
43162         acl: Fix infinite loop on FreeBSD.
43163         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
43164         of return value from acl_get_entry.
43165         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
43166         Likewise.
43167
43168 2009-05-03  Bruno Haible  <bruno@clisp.org>
43169
43170         * lib/acl-internal.h (acl_entries): Clarify return value.
43171         * lib/acl_entries.c (acl_entries): Likewise.
43172
43173 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43174
43175         Bug fix in acl module.
43176         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
43177
43178 2009-05-03  Bruno Haible  <bruno@clisp.org>
43179
43180         Create gperf-generated file in the source dir, not in the build dir.
43181         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
43182         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
43183         * modules/unicase/locale-language (unicase/locale-languages.h):
43184         Likewise.
43185         * modules/unicase/special-casing (unicase/special-casing-table.h):
43186         Likewise.
43187         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
43188         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
43189         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
43190         Reported by Ralf Wildenhues.
43191
43192 2009-05-03  Bruno Haible  <bruno@clisp.org>
43193
43194         * modules/fnmatch (Description, configure.ac): Taken from
43195         fnmatch-posix.
43196         * modules/fnmatch-posix: Turn into a symbolic reference to the
43197         'fnmatch' module, and deprecate.
43198         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
43199
43200 2009-05-03  Bruno Haible  <bruno@clisp.org>
43201
43202         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
43203         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
43204         Reported by Ralf Wildenhues.
43205
43206 2009-05-04  Simon Josefsson  <simon@josefsson.org>
43207
43208         * m4/fnmatch.m4: Fix fnmatch re-define.
43209
43210 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
43211
43212         priv-set: new module and tests; adapt write-any-file
43213         * lib/priv-set.c: New file.
43214         * lib/priv-set.h: New file.
43215         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
43216         * lib/write-any-file.c: Simplify by using priv-set module.
43217         * m4/priv-set.m4: New file.
43218         * modules/priv-set: New file.
43219         * modules/unlinkdir: Add dependency on priv-set module.
43220         * modules/write-any-file: Likewise.
43221
43222         Tests for module 'priv-set'.
43223         * modules/priv-set-tests: New file.
43224         * tests/test-priv-set.c: New file.
43225
43226 2009-05-03  Jim Meyering  <meyering@redhat.com>
43227             Bruno Haible  <bruno@clisp.org>
43228
43229         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
43230         use the converted UTF-8 variant of the name instead.
43231
43232 2009-05-03  Jim Meyering  <meyering@redhat.com>
43233
43234         tests: tighten some getdate tests
43235         * tests/test-getdate.c (main): Tighten tests: require equality,
43236         not just greater than.  Set TZ envvar to UTC0.
43237
43238 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
43239
43240         getdate: correctly interpret "next monday" when run on a Monday
43241         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
43242         that e.g., "next tues" (when run on a tuesday) results in a date
43243         that is one week in the future, and not today's date.
43244         I.e., add a week when the wday is the same as the current one.
43245         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
43246         and earlier by Martin Bernreuther and Jan Minář.
43247         * tests/test-getdate.c (main): Check that "next DAY" is always in
43248         the future and that "last DAY" is always in the past.
43249
43250 2009-05-02  Jim Meyering  <meyering@redhat.com>
43251
43252         build: ensure that a release build fails when a submodule is unclean
43253         * top/maint.mk (no-submodule-changes): New rule.
43254         (alpha beta major): Depend on it.
43255
43256 2009-05-02  Bruno Haible  <bruno@clisp.org>
43257
43258         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
43259         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
43260         shell variable gl_fnmatch_required to detect which variant is
43261         requested.
43262         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
43263         gl_FUNC_FNMATCH_POSIX.
43264         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
43265         exclude fnmatch-posix.
43266
43267 2009-05-02  Bruno Haible  <bruno@clisp.org>
43268
43269         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
43270         * modules/mbsrtowcs (License): Change to LGPLv2+.
43271         * modules/strnlen1 (License): Likewise.
43272         Reported by Simon Josefsson.
43273
43274 2009-05-02  Bruno Haible  <bruno@clisp.org>
43275
43276         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
43277         "cross".
43278         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
43279         gnulib-tool was called with option --source-base=lib.
43280
43281 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43282
43283         Use automake *-local hooks without commands, for extensibility.
43284         * modules/localcharset (Makefile.am): Rename install-exec-local
43285         rule to install-exec-localcharset, and make it a prerequisite of
43286         install-exec-local.  Likewise, rename the uninstall-local rule to
43287         uninstall-localcharset, and make it a prerequisite of the former.
43288
43289 2009-05-01  Bruno Haible  <bruno@clisp.org>
43290
43291         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
43292         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43293         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
43294         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
43295         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
43296         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43297         m4/locale-zh.m4, m4/codeset.m4.
43298
43299         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
43300         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
43301         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
43302         m4/locale-zh.m4.
43303
43304         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
43305         REPLACE_WCRTOMB if mbstate_t must be replaced.
43306         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
43307         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
43308
43309 2009-05-01  Bruno Haible  <bruno@clisp.org>
43310
43311         Avoid compiler warnings when redefining macros defined by <libintl.h>.
43312         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
43313         dngettext, dcngettext, textdomain, bindtextdomain,
43314         bind_textdomain_codeset): Undefine before redefining.
43315
43316 2009-04-30  Bruno Haible  <bruno@clisp.org>
43317
43318         Fix bug introduced on 2009-04-25.
43319         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
43320         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
43321         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
43322         is defined.
43323         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
43324         is defined.
43325         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
43326         is defined.
43327         Reported by Elbert_Pol <elbert.pol@gmail.com>.
43328
43329 2009-04-28  Bruno Haible  <bruno@clisp.org>
43330
43331         Comment tweaks.
43332         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
43333         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
43334         * lib/unicase.h (u*_casexfrm): Likewise.
43335         Reported by Paolo Bonzini.
43336
43337 2009-04-28  Bruno Haible  <bruno@clisp.org>
43338
43339         Fix a compilation error.
43340         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
43341         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
43342         Reported by Jim Meyering.
43343
43344 2009-04-27  Bruno Haible  <bruno@clisp.org>
43345
43346         New module 'libunistring'.
43347         * modules/libunistring: New file.
43348         * m4/libunistring.m4: New file.
43349         * MODULES.html.sh (Unicode string functions): Add it.
43350
43351 2009-04-27  Eric Blake  <ebb9@byu.net>
43352
43353         maint.mk: allow package-specific header to provide <config.h>
43354         * top/maint.mk (sc_require_config_h): New variable.
43355         (sc_require_config_h, sc_require_config_h_first): Use it.
43356
43357 2009-04-27  Simon Josefsson  <simon@josefsson.org>
43358
43359         * top/maint.mk (sc_avoid_if_before_free): Except
43360         useless-if-before-free script.
43361
43362 2009-04-27  Eric Blake  <ebb9@byu.net>
43363
43364         maintainer-makefile: depend on all required helper scripts
43365         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
43366         useless-if-before-free.
43367         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
43368         version, rather than assuming gnulib checkout is available.
43369         Reported by Simen Josefsson.
43370
43371 2009-04-26  Bruno Haible  <bruno@clisp.org>
43372
43373         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
43374         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
43375         "../" or "..".
43376
43377 2009-04-26  Bruno Haible  <bruno@clisp.org>
43378
43379         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
43380         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
43381         AC_LIB_HAVE_LINKFLAGS.
43382
43383 2009-04-26  Bruno Haible  <bruno@clisp.org>
43384
43385         Simplify calling convention of u*_conv_from_encoding.
43386         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
43387         u32_conv_from_encoding): Expect a resultbuf argument and return the
43388         result directly as a pointer.
43389         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
43390         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
43391         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
43392         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
43393         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
43394         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43395         Update.
43396         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
43397         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
43398         * lib/vasnprintf.c (VASNPRINTF): Update.
43399         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
43400         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
43401         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
43402         * NEWS: Mention the change.
43403
43404 2009-04-26  Bruno Haible  <bruno@clisp.org>
43405
43406         Simplify calling convention of u*_conv_to_encoding.
43407         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
43408         u32_conv_to_encoding): Expect a resultbuf argument and return the
43409         result directly as a pointer.
43410         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43411         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
43412         freeing scaled_offsets if mem_iconveha failed.
43413         * lib/unicase/u-casexfrm.h (FUNC): Update.
43414         * lib/uninorm/u-normxfrm.h (FUNC): Update.
43415         * lib/vasnprintf.c (VASNPRINTF): Update.
43416         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
43417         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
43418         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
43419         * NEWS: Mention the change.
43420
43421 2009-04-26  Bruno Haible  <bruno@clisp.org>
43422
43423         Avoid test failures on AIX and OSF/1.
43424         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
43425         malloc(0).
43426         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
43427         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
43428         Likewise.
43429         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
43430         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
43431         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
43432         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
43433         * doc/posix-functions/malloc.texi: Document the portability problem
43434         related to malloc(0).
43435
43436 2009-04-26  Bruno Haible  <bruno@clisp.org>
43437
43438         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
43439         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
43440         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43441
43442 2009-04-25  Bruno Haible  <bruno@clisp.org>
43443
43444         Avoid link error when creating a namespace clean library.
43445         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43446         as macro with arguments if already defined as an alias.
43447         * lib/signbitf.c (gl_signbitf): Don't undefine.
43448         * lib/signbitd.c (gl_signbitd): Don't undefine.
43449         * lib/signbitl.c (gl_signbitl): Don't undefine.
43450
43451 2009-04-25  Jim Meyering  <meyering@redhat.com>
43452
43453         vc-list-files: fix another quoting bug
43454         * build-aux/vc-list-files: Avoid sed backslash expansion
43455         of pathological directory names.
43456
43457 2009-04-25  Eric Blake  <ebb9@byu.net>
43458
43459         vc-list-files: fix shell quoting error
43460         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43461         timestamp.
43462
43463 2009-04-25  Jim Meyering  <meyering@redhat.com>
43464
43465         vc-list-files: restore lost functionality with subdir argument
43466         * build-aux/vc-list-files: When given a non-"." sub-directory
43467         argument, substitute the $dir/ prefix back onto each resulting name.
43468         Otherwise, coreutils' root_tests check would fail.
43469
43470 2009-04-24  Eric Blake  <ebb9@byu.net>
43471
43472         vc-list-files: ignore git symlinks
43473         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43474         than ls-files, to ignore git symlinks.
43475
43476         maint.mk: import improvements from m4
43477         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43478         (move_if_change): Delete unused macro.
43479         (news-date-check, vc-diff-check): Support VPATH builds.
43480         (announcement): Likewise.  Split --bootstrap-tools list...
43481         (boostrap-tools): ...into separate list, which can be overridden
43482         in cfg.mk.
43483         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43484         requiring dependency on useless-if-before-free module.
43485         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43486         Support VPATH builds.
43487
43488 2009-04-24  Jim Meyering  <meyering@redhat.com>
43489
43490         maint.mk: remove coreutils-specific rules and variables
43491         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43492         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43493         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43494
43495         maint.mk: remove obsolete rule
43496         * top/maint.mk (rel-check): Remove rule.
43497         (WGET, WGETFLAGS): Remove now-unused variables.
43498
43499 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43500
43501         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43502         consistency.
43503
43504         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43505         '$(PATH_SEPARATOR)' instead of ':'.
43506
43507 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43508
43509         * lib/getopt1.c (main): Use 'const' for static array.
43510
43511 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43512
43513         * top/maint.mk: Sync with coreutils.
43514         * NEWS: Explain incompatibilities.
43515
43516 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43517             Bruno Haible  <bruno@clisp.org>
43518
43519         Fix cross-compilation results.
43520         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43521         statement, as third argument of AC_TRY_RUN.
43522         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43523         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43524         Likewise.
43525         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43526         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43527         Likewise.
43528         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43529         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43530         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43531
43532 2009-04-20  Bruno Haible  <bruno@clisp.org>
43533
43534         Avoid test failure on mingw.
43535         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43536
43537 2009-04-20  Bruno Haible  <bruno@clisp.org>
43538
43539         Avoid compilation error on mingw.
43540         * modules/localename-tests (Depends-on): Add locale.
43541
43542 2009-04-19  Bruno Haible  <bruno@clisp.org>
43543
43544         Support for building a shared library on Windows platforms.
43545         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43546         (main): Test the presence of UNINORM_NFC here.
43547         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43548         (main): Test the presence of UNINORM_NFD here.
43549         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43550         (main): Test the presence of UNINORM_NFKC here.
43551         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43552         (main): Test the presence of UNINORM_NFKD here.
43553
43554 2009-04-19  Bruno Haible  <bruno@clisp.org>
43555
43556         Avoid a compiler warning.
43557         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43558         Change type of variable 'sequence'.
43559
43560 2009-04-19  Bruno Haible  <bruno@clisp.org>
43561
43562         * modules/configmake (Makefile.am): When the contents of configmake.h
43563         does not change, arrange to preserve its modification time.
43564
43565 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43566
43567         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43568         gettext domain.
43569
43570 2009-04-16  Jim Meyering  <meyering@redhat.com>
43571
43572         useless-if-before-free: improve conversion code
43573         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43574         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43575
43576 2009-04-14  Bruno Haible  <bruno@clisp.org>
43577
43578         * modules/fcntl (Depends-on): Add extensions.
43579         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43580
43581 2009-04-12  Ben Pfaff  <blp@gnu.org>
43582
43583         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43584         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43585
43586 2009-03-20  Ben Pfaff  <blp@gnu.org>
43587
43588         Make rename replace existing destinations on Windows.
43589         * m4/rename.m4: Add test for Mingw.
43590         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43591         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43592         * doc/posix-functions/rename.texi: Document.
43593
43594 2009-04-10  Bruno Haible  <bruno@clisp.org>
43595
43596         New include file "iconveh.h".
43597         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43598         * lib/striconveh.h: Include it.
43599         (enum iconv_ilseq_handler): Remove definition.
43600         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43601         striconveh.h.
43602         * lib/striconveha.c: Include striconveh.h.
43603         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43604         * modules/striconveh (Files): Add lib/iconveh.h.
43605         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43606         lib/striconveh.h.
43607
43608 2009-04-10  Bruno Haible  <bruno@clisp.org>
43609
43610         * lib/uniconv.h: Update comment.
43611
43612 2009-04-10  Bruno Haible  <bruno@clisp.org>
43613
43614         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43615         always.
43616         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43617         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43618         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43619         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43620         "unistring-notinline.h", so that the function gets defined always.
43621         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43622         * lib/unistr/u8-uctomb.c: Likewise.
43623         * lib/unistr/u16-mbtouc.c: Likewise.
43624         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43625         * lib/unistr/u16-uctomb.c: Likewise.
43626         * lib/unistr/u32-mbtouc.c: Likewise.
43627         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43628         * lib/unistr/u32-uctomb.c: Likewise.
43629
43630 2009-04-10  Bruno Haible  <bruno@clisp.org>
43631
43632         Mark 'utime' obsolete.
43633         * modules/utime (Status, Notice): New sections.
43634         Suggested by Jim Meyering.
43635
43636         Fix cross-compile guess for utime test.
43637         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43638         autoconf.
43639         * doc/posix-functions/utime.texi: Give more precisions.
43640         Reported by Jan <ipif@ymail.com>.
43641
43642 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43643
43644         filevercmp: correct today's change
43645         * lib/filevercmp.c: Also handle coreutils' test inputs.
43646         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43647
43648         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43649         for reporting it.
43650         * lib/filevercmp.c: Special handle for "", "." and "..".
43651         * tests/test-filevercmp.c: Enlarge the set suite.
43652
43653 2009-04-07  Jim Meyering  <meyering@redhat.com>
43654
43655         useless-if-before-free: show how to remove braced useless free, too
43656         * build-aux/useless-if-before-free: still only in a comment, though.
43657
43658 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43659
43660         maint.mk: import changes to syntax-check macros from coreutils
43661         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43662         Use them in the relevant macros.
43663
43664 2009-04-06  Bruno Haible  <bruno@clisp.org>
43665
43666         Fix unportable use of bit-fields.
43667         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43668         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43669         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43670
43671 2009-04-06  Bruno Haible  <bruno@clisp.org>
43672
43673         Avoid test failures on AIX and OSF/1.
43674         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43675         that malloc(0) = NULL.
43676         * tests/unicase/test-u8-tolower.c (check): Likewise.
43677         * tests/unicase/test-u8-totitle.c (check): Likewise.
43678         * tests/unicase/test-u8-toupper.c (check): Likewise.
43679         * tests/unicase/test-u16-casefold.c (check): Likewise.
43680         * tests/unicase/test-u16-tolower.c (check): Likewise.
43681         * tests/unicase/test-u16-totitle.c (check): Likewise.
43682         * tests/unicase/test-u16-toupper.c (check): Likewise.
43683         * tests/unicase/test-u32-casefold.c (check): Likewise.
43684         * tests/unicase/test-u32-tolower.c (check): Likewise.
43685         * tests/unicase/test-u32-totitle.c (check): Likewise.
43686         * tests/unicase/test-u32-toupper.c (check): Likewise.
43687         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43688         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43689         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43690         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43691         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43692         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43693         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43694         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43695         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43696         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43697         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43698         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43699
43700 2009-04-05  Bruno Haible  <bruno@clisp.org>
43701
43702         Work around an autoconf limitation.
43703         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43704         comment line if it would be longer than 3 KB.
43705
43706 2009-04-05  Bruno Haible  <bruno@clisp.org>
43707
43708         Avoid test failure with libiconv-1.13.
43709         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43710         of the expected test results.
43711
43712 2009-04-05  Bruno Haible  <bruno@clisp.org>
43713
43714         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43715         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43716         that it should be installed.
43717
43718 2009-04-05  Bruno Haible  <bruno@clisp.org>
43719
43720         * gnulib-tool: New option --copy-file.
43721         (func_usage): Document it.
43722         (func_dest_tmpfilename): Moved out of func_import.
43723         (func_add_file, func_update_file): New functions, extracted from
43724         func_import.
43725         (func_import): Update.
43726
43727 2009-04-05  Karl Berry  <karl@gnu.org>
43728
43729         * README: prominently mention gnulib-tool.
43730         Rearrange sections so getting the code is near the top.
43731
43732 2009-04-05  Bruno Haible  <bruno@clisp.org>
43733
43734         * lib/unicase.h: Mention u*_cmp2.
43735         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43736         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43737         * lib/unicase/ulc-casecmp.c: Likewise.
43738         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43739         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43740         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43741         unistr/u8-cmp.
43742         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43743         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43744         unistr/u16-cmp.
43745         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43746         unistr/u32-cmp.
43747
43748         * lib/uninorm.h: Mention u*_cmp2.
43749         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43750         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43751         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43752         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43753         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43754         unistr/u8-cmp.
43755         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43756         unistr/u16-cmp.
43757         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43758         unistr/u32-cmp.
43759
43760         New module 'unistr/u32-cmp2'.
43761         * lib/unistr/u32-cmp2.c: New file.
43762         * modules/unistr/u32-cmp2: New file.
43763
43764         New module 'unistr/u16-cmp2'.
43765         * lib/unistr/u16-cmp2.c: New file.
43766         * modules/unistr/u16-cmp2: New file.
43767
43768         New module 'unistr/u8-cmp2'.
43769         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43770         * lib/unistr/u8-cmp2.c: New file.
43771         * lib/unistr/u-cmp2.h: New file.
43772         * modules/unistr/u8-cmp2: New file.
43773
43774 2009-04-05  Bruno Haible  <bruno@clisp.org>
43775
43776         * lib/unictype.h (uc_property_is_valid): New macro.
43777         * tests/unictype/test-pr_byname.c (main): Use it.
43778
43779         * lib/unistr.h: Doc fixes.
43780         * lib/uniconv.h: Doc fixes.
43781         * lib/unictype.h: Doc fixes.
43782
43783 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43784
43785         Port coreutils 7.2 to Solaris 8.
43786
43787         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43788         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43789         for Solaris 8.  This is a bit of a hack, as it means it's the
43790         caller's responsibility to add -lnsl if needed, but most likely it
43791         won't be needed since only getaddrinfo uses this and getaddrinfo
43792         isn't needed on Solaris 8.
43793
43794         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43795         problem to Solaris 8 encountered with coreutils 7.2, which
43796         resulted in a message "fnmatch.c:292: warning: passing argument 4
43797         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43798         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43799
43800 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43801
43802         * m4/ld-version-script.m4: Add FIXME comment.
43803
43804 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43805
43806         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43807         SOVERSION variable.
43808
43809 2009-04-02  Bruno Haible  <bruno@clisp.org>
43810
43811         * Makefile (info, html, dvi, pdf): Combine the rules.
43812         Suggested by Jim Meyering.
43813
43814 2009-04-01  Bruno Haible  <bruno@clisp.org>
43815
43816         * Makefile (info, html, dvi, pdf): New targets.
43817         Reported by Reuben Thomas <rrt@sc3d.org>.
43818
43819 2009-04-01  Bruno Haible  <bruno@clisp.org>
43820
43821         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43822         can be put into PATH.
43823         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43824
43825 2009-04-01  Bruno Haible  <bruno@clisp.org>
43826
43827         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43828
43829 2009-04-01  Bruno Haible  <bruno@clisp.org>
43830
43831         Rename module 'visibility'.
43832         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43833         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43834         * doc/gnulib.texi: Update.
43835         * MODULES.html.sh (Misc): Update.
43836         * NEWS: Mention the change.
43837
43838 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43839
43840         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43841         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43842         Eric Blake <ebb9@byu.net> for review.
43843         * MODULES.html.sh: Add lib-msvc-compat.
43844         * doc/gnulib.texi: Link to new section.
43845         * m4/ld-output-def.m4: New file.
43846         * doc/ld-output-def.texi: New file.
43847
43848 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43849
43850         Rename ld-version-script to lib-symbol-versions.  Suggested by
43851         Bruno Haible <bruno@clisp.org>.
43852         * modules/ld-version-script: Renamed to lib-symbol-versions.
43853         * doc/ld-version-script.texi: Fix module name.
43854         * MODULES.html.sh: Add lib-symbol-versions.
43855
43856 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43857
43858         * modules/u64-tests: New file.
43859         * tests/test-u64.c: New file.
43860
43861 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43862
43863         * MODULES.html.sh: Mention u64.
43864         * modules/u64: New module.
43865         * modules/crypto/sha512: Depend on u64 module instead of providing
43866         u64.h.
43867
43868 2009-03-27  Eric Blake  <ebb9@byu.net>
43869
43870         test-strerror: make debugging EAI_SYSTEM easier
43871         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43872         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43873         failure was EAI_SYSTEM.
43874
43875 2009-03-25  Bruno Haible  <bruno@clisp.org>
43876
43877         Fix a problem with --enable-relocatable on Solaris 7.
43878         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43879         since 2008-02-24.
43880
43881 2009-03-25  Eric Blake  <ebb9@byu.net>
43882
43883         test-sockets: avoid gcc warning
43884         * tests/test-sockets.c (main): Silence compiler warning.
43885
43886 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43887
43888         New modules nproc, pthread, contributed by Glen Lenker.
43889
43890         * MODULES.html.sh: Add pthread, nproc.
43891         * lib/nproc.c: New file.
43892         * lib/nproc.h: New file.
43893         * lib/pthread.in.h: New file.
43894         * m4/pthread.m4: New file.
43895         * modules/nproc: New file.
43896         * modules/pthread: New file.
43897
43898 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43899
43900         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43901         New variable.
43902
43903 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43904
43905         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43906         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43907         * tests/test-filevercmp.c: Add tests for backup suffixes.
43908
43909 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43910
43911         * modules/stdlib (Depends-on): Add stdint, needed when defining
43912         struct random_data on, for example, HP-UX 10.20.  Reported by
43913         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43914
43915 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43916
43917         * lib/readline.c (readline): Call fflush on stdout after printing
43918         prompt.
43919
43920 2009-03-20  Bruno Haible  <bruno@clisp.org>
43921
43922         Remove dependency from 'close' module to -lws2_32 on native Windows.
43923         * lib/close-hook.h: New file.
43924         * lib/close-hook.c: New file.
43925         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43926         w32sock.h.
43927         (_gl_close_fd_maybe_socket): Remove function.
43928         (rpl_close): Invoke execute_all_close_hooks instead of
43929         _gl_close_fd_maybe_socket.
43930         * lib/sockets.c: Include close-hook.h, w32sock.h.
43931         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43932         (close_sockets_hook): New variable.
43933         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43934         (gl_sockets_cleanup): Unregister it.
43935         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43936         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43937         * modules/close-hook: New file.
43938         * modules/close (Files): Remove lib/w32sock.h.
43939         (Depends-on): Add close-hook.
43940         (Link): Remove section.
43941         * modules/sockets (Files): Add lib/w32sock.h.
43942         (Depends-on): Add close-hook.
43943         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43944         invocation.
43945         * NEWS: Mention that LIB_CLOSE is gone.
43946
43947 2009-03-23  Eric Blake  <ebb9@byu.net>
43948
43949         signal-tests: test previous patch
43950         * tests/test-signal.c: New file.
43951         * modules/signal-tests: Likewise.
43952
43953         signal.h: always support 'volatile sig_atomic_t'
43954         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43955         (gl_SIGNAL_H_DEFAULTS): Add a default.
43956         * modules/signal (Makefile.am): Substitute if needed.
43957         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43958         users can blindly add volatile.
43959         * doc/posix-headers/signal.texi (signal.h): Document it.
43960         Reported by Matthew Woehlke.
43961
43962 2009-03-23  Jim Meyering  <meyering@redhat.com>
43963
43964         pathmax: PATH_MAX: use pathconf only when available
43965         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43966         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43967         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43968         This avoids a link failure in a PSP cross-compilation environment
43969         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43970
43971         * lib/vasnprintf.c (divide): Fix typo in comment.
43972
43973 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43974
43975         * gnulib-tool (func_filter_filelist): Fix comment.
43976
43977 2009-03-20  Bruno Haible  <bruno@clisp.org>
43978
43979         Make sockets.h self-contained.
43980         * lib/sockets.c: Include sockets.h first.
43981         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43982
43983 2009-03-19  Eric Blake  <ebb9@byu.net>
43984
43985         doc: mention more functions added in cygwin 1.7.0
43986         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43987         addition.
43988         * doc/posix-functions/log2f.texi: Likewise.
43989
43990 2009-03-19  Jim Meyering  <meyering@redhat.com>
43991
43992         fsusage: avoid syntax error due to statement-before-declaration
43993         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43994         after all declarations.  Reported by Matthew Woehlke in
43995         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43996
43997 2009-03-18  Eric Blake  <ebb9@byu.net>
43998
43999         build-aux/compile: sync from automake
44000         * build-aux/compile: New file, from automake.
44001         * config/srclist.txt: Mention build-aux/compile.
44002
44003 2009-03-17  Bruno Haible  <bruno@clisp.org>
44004
44005         * lib/git-merge-changelog.c: Fix typo in comment.
44006         Reported by Reuben Thomas <rrt@sc3d.org>.
44007
44008 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
44009
44010         * m4/regex.m4: update and improve help for
44011         --without-included-regex.
44012
44013 2009-03-17  Simon Josefsson  <simon@josefsson.org>
44014
44015         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
44016         failure on missing include files.
44017
44018 2009-03-17  Eric Blake  <ebb9@byu.net>
44019
44020         doc: mention more functions added in cygwin 1.7.0
44021         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
44022         addition.
44023         * doc/posix-functions/fwscanf.texi: Likewise.
44024         * doc/posix-functions/swprintf.texi: Likewise.
44025         * doc/posix-functions/swscanf.texi: Likewise.
44026         * doc/posix-functions/vfwprintf.texi: Likewise.
44027         * doc/posix-functions/vfwscanf.texi: Likewise.
44028         * doc/posix-functions/vswprintf.texi: Likewise.
44029         * doc/posix-functions/vswscanf.texi: Likewise.
44030         * doc/posix-functions/vwprintf.texi: Likewise.
44031         * doc/posix-functions/vwscanf.texi: Likewise.
44032         * doc/posix-functions/wcscasecmp.texi: Likewise.
44033         * doc/posix-functions/wcsdup.texi: Likewise.
44034         * doc/posix-functions/wcsftime.texi: Likewise.
44035         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44036         * doc/posix-functions/wprintf.texi: Likewise.
44037         * doc/posix-functions/wscanf.texi: Likewise.
44038         * doc/glibc-functions/gethostbyname2.texi: Likewise.
44039
44040 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44041
44042         maint.mk: really add $(AM_MAKEFLAGS)
44043         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
44044         was inadvertently omitted in the last commit.
44045         Spotted by Bruno Haible.
44046
44047         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
44048         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
44049         $(AM_MAKEFLAGS)' rather than plain `make'.
44050
44051         gnulib-tool: execute $MAKE not make
44052         * gnulib-tool: Default $MAKE to 'make'.
44053         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
44054         than make.  Initialize $MAKE in the do-autobuild script.
44055
44056         gnulib-tool: use $MAKE not make in generated files
44057         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
44058         make, in generated files.  Initialize $MAKE in the do-autobuild
44059         script.
44060
44061         * top/GNUmakefile (_have-git-version-gen): Fix typo.
44062
44063         GNUmakefile: disable parallelism only for multiple, recursive targets
44064         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
44065         additions in the Makefile.
44066         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
44067         by Automake.
44068         (.NOTPARALLEL): Only disable parallel builds if multiple targets
44069         are listed on the command line and at least one of them is
44070         listed in $(ALL_RECURSIVE_TARGETS).
44071
44072 2009-03-14  Bruno Haible  <bruno@clisp.org>
44073
44074         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
44075         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
44076         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
44077         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
44078         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
44079         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
44080         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
44081         unistr/u8-uctomb.
44082         * modules/unistr/u8-strchr (Depends-on): Likewise.
44083         * modules/unistr/u8-strrchr (Depends-on): Likewise.
44084         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
44085         unistr/u16-uctomb.
44086         * modules/unistr/u16-strchr (Depends-on): Likewise.
44087         * modules/unistr/u16-strrchr (Depends-on): Likewise.
44088
44089 2009-03-12  Bruno Haible  <bruno@clisp.org>
44090
44091         Work around select() bug on Interix 3.5.
44092         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
44093         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
44094         * m4/select.m4: New file.
44095         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
44096         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
44097         * modules/select (Files): Add m4/select.m4.
44098         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
44099         * modules/nanosleep (Depends-on): Add select.
44100         * modules/poll (Depends-on): Likewise.
44101         * doc/posix-functions/select.texi: Mention the Interix bug.
44102         Reported by Markus Duft <mduft@gentoo.org>.
44103
44104         * lib/select.c: Renamed from lib/winsock-select.c.
44105         * modules/select (Files): Add lib/select.c, remove
44106         lib/winsock-select.c.
44107         (configure.ac): Update.
44108
44109 2009-03-12  Jim Meyering  <meyering@redhat.com>
44110
44111         avoid gcc warnings about unused macro definitions
44112         * lib/readtokens.c (STREQ): Remove unused definition.
44113         * lib/xmalloc.c (SIZE_MAX): Likewise.
44114         * lib/openat-die.c (N_): Likewise.
44115         * lib/mountlist.c (SIZE_MAX): Remove definition.
44116         Instead, include <stdint.h>.
44117         * lib/readutmp.c: Likewise.
44118         * modules/readutmp (Depends-on): Add stdint.
44119         * modules/mountlist (Depends-on): Add stdint.
44120         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
44121
44122 2009-03-10  Bruno Haible  <bruno@clisp.org>
44123
44124         Tests for module 'mbmemcasecoll'.
44125         * modules/mbmemcasecoll-tests: New file.
44126         * tests/test-mbmemcasecoll1.sh: New file.
44127         * tests/test-mbmemcasecoll2.sh: New file.
44128         * tests/test-mbmemcasecoll3.sh: New file.
44129         * tests/test-mbmemcasecoll.c: New file.
44130
44131         New module 'mbmemcasecoll'.
44132         * lib/mbmemcasecoll.h: New file.
44133         * lib/mbmemcasecoll.c: New file.
44134         * modules/mbmemcasecoll: New file.
44135
44136         * tests/test-mbmemcasecmp.h: New file, extracted from
44137         tests/test-mbmemcasecmp.c.
44138         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
44139         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
44140         (main): Update.
44141         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
44142
44143 2009-03-09  Bruno Haible  <bruno@clisp.org>
44144
44145         Tests for module 'mbmemcasecmp'.
44146         * modules/mbmemcasecmp-tests: New file.
44147         * tests/test-mbmemcasecmp1.sh: New file.
44148         * tests/test-mbmemcasecmp2.sh: New file.
44149         * tests/test-mbmemcasecmp3.sh: New file.
44150         * tests/test-mbmemcasecmp.c: New file.
44151
44152         New module 'mbmemcasecmp'.
44153         * lib/mbmemcasecmp.h: New file.
44154         * lib/mbmemcasecmp.c: New file.
44155         * modules/mbmemcasecmp: New file.
44156
44157 2009-03-09  Bruno Haible  <bruno@clisp.org>
44158
44159         Tests for module 'unicase/ulc-casecoll'.
44160         * modules/unicase/ulc-casecoll-tests: New file.
44161         * tests/unicase/test-ulc-casecoll1.sh: New file.
44162         * tests/unicase/test-ulc-casecoll2.sh: New file.
44163         * tests/unicase/test-ulc-casecoll.c: New file.
44164
44165         New module 'unicase/ulc-casecoll'.
44166         * lib/unicase.h (ulc_casecoll): New declaration.
44167         * lib/unicase/ulc-casecoll.c: New file.
44168         * modules/unicase/ulc-casecoll: New file.
44169
44170         New module 'unicase/ulc-casexfrm'.
44171         * lib/unicase.h (ulc_casexfrm): New declaration.
44172         * lib/unicase/ulc-casexfrm.c: New file.
44173         * modules/unicase/ulc-casexfrm: New file.
44174
44175 2009-03-09  Bruno Haible  <bruno@clisp.org>
44176
44177         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
44178         invocations.
44179
44180         * m4/mbscasecmp.m4: Remove file.
44181         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
44182         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
44183
44184         * m4/mbscasestr.m4: Remove file.
44185         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
44186         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
44187
44188         * m4/mbschr.m4: Remove file.
44189         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
44190         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
44191
44192         * m4/mbscspn.m4: Remove file.
44193         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
44194         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
44195
44196         * m4/mbslen.m4: Remove file.
44197         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
44198         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
44199
44200         * m4/mbsncasecmp.m4: Remove file.
44201         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
44202         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
44203
44204         * m4/mbsnlen.m4: Remove file.
44205         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
44206         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
44207
44208         * m4/mbspbrk.m4: Remove file.
44209         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
44210         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
44211
44212         * m4/mbspcasecmp.m4: Remove file.
44213         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
44214         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
44215
44216         * m4/mbsrchr.m4: Remove file.
44217         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
44218         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
44219
44220         * m4/mbssep.m4: Remove file.
44221         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
44222         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
44223
44224         * m4/mbsspn.m4: Remove file.
44225         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
44226         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
44227
44228         * m4/mbsstr.m4: Remove file.
44229         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
44230         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
44231
44232         * m4/mbstok_r.m4: Remove file.
44233         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
44234         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
44235
44236         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
44237
44238         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
44239         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
44240
44241         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
44242
44243 2009-03-08  Bruno Haible  <bruno@clisp.org>
44244
44245         Tests for module 'unicase/ulc-casecmp'.
44246         * modules/unicase/ulc-casecmp-tests: New file.
44247         * tests/unicase/test-ulc-casecmp1.sh: New file.
44248         * tests/unicase/test-ulc-casecmp2.sh: New file.
44249         * tests/unicase/test-ulc-casecmp.c: New file.
44250
44251         New module 'unicase/ulc-casecmp'.
44252         * lib/unicase.h (ulc_casecmp): New declaration.
44253         * lib/unicase/ulc-casecmp.c: New file.
44254         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
44255         'const SRC_UNIT *'.
44256         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
44257         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
44258         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
44259         * modules/unicase/ulc-casecmp: New file.
44260
44261         Tests for module 'unicase/u32-is-cased'.
44262         * modules/unicase/u32-is-cased-tests: New file.
44263         * tests/unicase/test-u32-is-cased.c: New file.
44264
44265         Tests for module 'unicase/u16-is-cased'.
44266         * modules/unicase/u16-is-cased-tests: New file.
44267         * tests/unicase/test-u16-is-cased.c: New file.
44268
44269         Tests for module 'unicase/u8-is-cased'.
44270         * modules/unicase/u8-is-cased-tests: New file.
44271         * tests/unicase/test-u8-is-cased.c: New file.
44272         * tests/unicase/test-is-cased.h: New file.
44273
44274         New module 'unicase/u32-is-cased'.
44275         * lib/unicase/u32-is-cased.c: New file.
44276         * modules/unicase/u32-is-cased: New file.
44277
44278         New module 'unicase/u16-is-cased'.
44279         * lib/unicase/u16-is-cased.c: New file.
44280         * modules/unicase/u16-is-cased: New file.
44281
44282         New module 'unicase/u8-is-cased'.
44283         * lib/unicase/u8-is-cased.c: New file.
44284         * lib/unicase/u-is-cased.h: New file.
44285         * modules/unicase/u8-is-cased: New file.
44286
44287         Tests for module 'unicase/u32-is-casefolded'.
44288         * modules/unicase/u32-is-casefolded-tests: New file.
44289         * tests/unicase/test-u32-is-casefolded.c: New file.
44290
44291         Tests for module 'unicase/u16-is-casefolded'.
44292         * modules/unicase/u16-is-casefolded-tests: New file.
44293         * tests/unicase/test-u16-is-casefolded.c: New file.
44294
44295         Tests for module 'unicase/u8-is-casefolded'.
44296         * modules/unicase/u8-is-casefolded-tests: New file.
44297         * tests/unicase/test-u8-is-casefolded.c: New file.
44298         * tests/unicase/test-is-casefolded.h: New file.
44299
44300         New module 'unicase/u32-is-casefolded'.
44301         * lib/unicase/u32-is-casefolded.c: New file.
44302         * modules/unicase/u32-is-casefolded: New file.
44303
44304         New module 'unicase/u16-is-casefolded'.
44305         * lib/unicase/u16-is-casefolded.c: New file.
44306         * modules/unicase/u16-is-casefolded: New file.
44307
44308         New module 'unicase/u8-is-casefolded'.
44309         * lib/unicase/u8-is-casefolded.c: New file.
44310         * modules/unicase/u8-is-casefolded: New file.
44311
44312         Tests for module 'unicase/u32-is-titlecase'.
44313         * modules/unicase/u32-is-titlecase-tests: New file.
44314         * tests/unicase/test-u32-is-titlecase.c: New file.
44315
44316         Tests for module 'unicase/u16-is-titlecase'.
44317         * modules/unicase/u16-is-titlecase-tests: New file.
44318         * tests/unicase/test-u16-is-titlecase.c: New file.
44319
44320         Tests for module 'unicase/u8-is-titlecase'.
44321         * modules/unicase/u8-is-titlecase-tests: New file.
44322         * tests/unicase/test-u8-is-titlecase.c: New file.
44323         * tests/unicase/test-is-titlecase.h: New file.
44324
44325         New module 'unicase/u32-is-titlecase'.
44326         * lib/unicase/u32-is-titlecase.c: New file.
44327         * modules/unicase/u32-is-titlecase: New file.
44328
44329         New module 'unicase/u16-is-titlecase'.
44330         * lib/unicase/u16-is-titlecase.c: New file.
44331         * modules/unicase/u16-is-titlecase: New file.
44332
44333         New module 'unicase/u8-is-titlecase'.
44334         * lib/unicase/u8-is-titlecase.c: New file.
44335         * modules/unicase/u8-is-titlecase: New file.
44336
44337         Tests for module 'unicase/u32-is-lowercase'.
44338         * modules/unicase/u32-is-lowercase-tests: New file.
44339         * tests/unicase/test-u32-is-lowercase.c: New file.
44340
44341         Tests for module 'unicase/u16-is-lowercase'.
44342         * modules/unicase/u16-is-lowercase-tests: New file.
44343         * tests/unicase/test-u16-is-lowercase.c: New file.
44344
44345         Tests for module 'unicase/u8-is-lowercase'.
44346         * modules/unicase/u8-is-lowercase-tests: New file.
44347         * tests/unicase/test-u8-is-lowercase.c: New file.
44348         * tests/unicase/test-is-lowercase.h: New file.
44349
44350         New module 'unicase/u32-is-lowercase'.
44351         * lib/unicase/u32-is-lowercase.c: New file.
44352         * modules/unicase/u32-is-lowercase: New file.
44353
44354         New module 'unicase/u16-is-lowercase'.
44355         * lib/unicase/u16-is-lowercase.c: New file.
44356         * modules/unicase/u16-is-lowercase: New file.
44357
44358         New module 'unicase/u8-is-lowercase'.
44359         * lib/unicase/u8-is-lowercase.c: New file.
44360         * modules/unicase/u8-is-lowercase: New file.
44361
44362         Tests for module 'unicase/u32-is-uppercase'.
44363         * modules/unicase/u32-is-uppercase-tests: New file.
44364         * tests/unicase/test-u32-is-uppercase.c: New file.
44365
44366         Tests for module 'unicase/u16-is-uppercase'.
44367         * modules/unicase/u16-is-uppercase-tests: New file.
44368         * tests/unicase/test-u16-is-uppercase.c: New file.
44369
44370         Tests for module 'unicase/u8-is-uppercase'.
44371         * modules/unicase/u8-is-uppercase-tests: New file.
44372         * tests/unicase/test-u8-is-uppercase.c: New file.
44373         * tests/unicase/test-is-uppercase.h: New file.
44374
44375         New module 'unicase/u32-is-uppercase'.
44376         * lib/unicase/u32-is-uppercase.c: New file.
44377         * modules/unicase/u32-is-uppercase: New file.
44378
44379         New module 'unicase/u16-is-uppercase'.
44380         * lib/unicase/u16-is-uppercase.c: New file.
44381         * modules/unicase/u16-is-uppercase: New file.
44382
44383         New module 'unicase/u8-is-uppercase'.
44384         * lib/unicase/u8-is-uppercase.c: New file.
44385         * modules/unicase/u8-is-uppercase: New file.
44386
44387         New module 'unicase/u32-is-invariant'.
44388         * lib/unicase/u32-is-invariant.c: New file.
44389         * modules/unicase/u32-is-invariant: New file.
44390
44391         New module 'unicase/u16-is-invariant'.
44392         * lib/unicase/u16-is-invariant.c: New file.
44393         * modules/unicase/u16-is-invariant: New file.
44394
44395         New module 'unicase/u8-is-invariant'.
44396         * lib/unicase/u8-is-invariant.c: New file.
44397         * lib/unicase/invariant.h: New file.
44398         * lib/unicase/u-is-invariant.h: New file.
44399         * modules/unicase/u8-is-invariant: New file.
44400
44401         Tests for module 'unicase/u32-casecoll'.
44402         * modules/unicase/u32-casecoll-tests: New file.
44403         * tests/unicase/test-u32-casecoll.c: New file.
44404
44405         Tests for module 'unicase/u16-casecoll'.
44406         * modules/unicase/u16-casecoll-tests: New file.
44407         * tests/unicase/test-u16-casecoll.c: New file.
44408
44409         Tests for module 'unicase/u8-casecoll'.
44410         * modules/unicase/u8-casecoll-tests: New file.
44411         * tests/unicase/test-u8-casecoll.c: New file.
44412
44413         New module 'unicase/u32-casecoll'.
44414         * lib/unicase/u32-casecoll.c: New file.
44415         * modules/unicase/u32-casecoll: New file.
44416
44417         New module 'unicase/u16-casecoll'.
44418         * lib/unicase/u16-casecoll.c: New file.
44419         * modules/unicase/u16-casecoll: New file.
44420
44421         New module 'unicase/u8-casecoll'.
44422         * lib/unicase/u8-casecoll.c: New file.
44423         * lib/unicase/u-casecoll.h: New file.
44424         * modules/unicase/u8-casecoll: New file.
44425
44426         New module 'unicase/u32-casexfrm'.
44427         * lib/unicase/u32-casexfrm.c: New file.
44428         * modules/unicase/u32-casexfrm: New file.
44429
44430         New module 'unicase/u16-casexfrm'.
44431         * lib/unicase/u16-casexfrm.c: New file.
44432         * modules/unicase/u16-casexfrm: New file.
44433
44434         New module 'unicase/u8-casexfrm'.
44435         * lib/unicase/u8-casexfrm.c: New file.
44436         * lib/unicase/u-casexfrm.h: New file.
44437         * modules/unicase/u8-casexfrm: New file.
44438
44439         Tests for module 'unicase/u32-casecmp'.
44440         * modules/unicase/u32-casecmp-tests: New file.
44441         * tests/unicase/test-u32-casecmp.c: New file.
44442
44443         Tests for module 'unicase/u16-casecmp'.
44444         * modules/unicase/u16-casecmp-tests: New file.
44445         * tests/unicase/test-u16-casecmp.c: New file.
44446
44447         Tests for module 'unicase/u8-casecmp'.
44448         * modules/unicase/u8-casecmp-tests: New file.
44449         * tests/unicase/test-u8-casecmp.c: New file.
44450         * tests/unicase/test-casecmp.h: New file.
44451
44452         New module 'unicase/u32-casecmp'.
44453         * lib/unicase/u32-casecmp.c: New file.
44454         * modules/unicase/u32-casecmp: New file.
44455
44456         New module 'unicase/u16-casecmp'.
44457         * lib/unicase/u16-casecmp.c: New file.
44458         * modules/unicase/u16-casecmp: New file.
44459
44460         New module 'unicase/u8-casecmp'.
44461         * lib/unicase/u8-casecmp.c: New file.
44462         * lib/unicase/u-casecmp.h: New file.
44463         * modules/unicase/u8-casecmp: New file.
44464
44465         Tests for module 'unicase/u32-casefold'.
44466         * modules/unicase/u32-casefold-tests: New file.
44467         * tests/unicase/test-u32-casefold.c: New file.
44468
44469         Tests for module 'unicase/u16-casefold'.
44470         * modules/unicase/u16-casefold-tests: New file.
44471         * tests/unicase/test-u16-casefold.c: New file.
44472
44473         Tests for module 'unicase/u8-casefold'.
44474         * modules/unicase/u8-casefold-tests: New file.
44475         * tests/unicase/test-u8-casefold.c: New file.
44476
44477         New module 'unicase/u32-casefold'.
44478         * lib/unicase/u32-casefold.c: New file.
44479         * modules/unicase/u32-casefold: New file.
44480
44481         New module 'unicase/u16-casefold'.
44482         * lib/unicase/u16-casefold.c: New file.
44483         * modules/unicase/u16-casefold: New file.
44484
44485         New module 'unicase/u8-casefold'.
44486         * lib/unicase/u8-casefold.c: New file.
44487         * lib/unicase/u-casefold.h: New file.
44488         * modules/unicase/u8-casefold: New file.
44489
44490         New module 'unicase/tocasefold'.
44491         * lib/unicase/casefold.h: New file.
44492         * lib/unicase/tocasefold.c: New file.
44493         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44494         * modules/unicase/tocasefold: New file.
44495
44496         Tests for module 'unicase/u32-totitle'.
44497         * modules/unicase/u32-totitle-tests: New file.
44498         * tests/unicase/test-u32-totitle.c: New file.
44499
44500         Tests for module 'unicase/u16-totitle'.
44501         * modules/unicase/u16-totitle-tests: New file.
44502         * tests/unicase/test-u16-totitle.c: New file.
44503
44504         Tests for module 'unicase/u8-totitle'.
44505         * modules/unicase/u8-totitle-tests: New file.
44506         * tests/unicase/test-u8-totitle.c: New file.
44507
44508         New module 'unicase/u32-totitle'.
44509         * lib/unicase/u32-totitle.c: New file.
44510         * modules/unicase/u32-totitle: New file.
44511
44512         New module 'unicase/u16-totitle'.
44513         * lib/unicase/u16-totitle.c: New file.
44514         * modules/unicase/u16-totitle: New file.
44515
44516         New module 'unicase/u8-totitle'.
44517         * lib/unicase/u8-totitle.c: New file.
44518         * lib/unicase/u-totitle.h: New file.
44519         * modules/unicase/u8-totitle: New file.
44520
44521         Tests for module 'unicase/u32-tolower'.
44522         * modules/unicase/u32-tolower-tests: New file.
44523         * tests/unicase/test-u32-tolower.c: New file.
44524
44525         Tests for module 'unicase/u16-tolower'.
44526         * modules/unicase/u16-tolower-tests: New file.
44527         * tests/unicase/test-u16-tolower.c: New file.
44528
44529         Tests for module 'unicase/u8-tolower'.
44530         * modules/unicase/u8-tolower-tests: New file.
44531         * tests/unicase/test-u8-tolower.c: New file.
44532
44533         New module 'unicase/u32-tolower'.
44534         * lib/unicase/u32-tolower.c: New file.
44535         * modules/unicase/u32-tolower: New file.
44536
44537         New module 'unicase/u16-tolower'.
44538         * lib/unicase/u16-tolower.c: New file.
44539         * modules/unicase/u16-tolower: New file.
44540
44541         New module 'unicase/u8-tolower'.
44542         * lib/unicase/u8-tolower.c: New file.
44543         * modules/unicase/u8-tolower: New file.
44544
44545         Tests for module 'unicase/u32-toupper'.
44546         * modules/unicase/u32-toupper-tests: New file.
44547         * tests/unicase/test-u32-toupper.c: New file.
44548
44549         Tests for module 'unicase/u16-toupper'.
44550         * modules/unicase/u16-toupper-tests: New file.
44551         * tests/unicase/test-u16-toupper.c: New file.
44552
44553         Tests for module 'unicase/u8-toupper'.
44554         * modules/unicase/u8-toupper-tests: New file.
44555         * tests/unicase/test-u8-toupper.c: New file.
44556
44557         New module 'unicase/u32-toupper'.
44558         * lib/unicase/u32-toupper.c: New file.
44559         * modules/unicase/u32-toupper: New file.
44560
44561         New module 'unicase/u16-toupper'.
44562         * lib/unicase/u16-toupper.c: New file.
44563         * modules/unicase/u16-toupper: New file.
44564
44565         New module 'unicase/u8-toupper'.
44566         * lib/unicase/u8-toupper.c: New file.
44567         * modules/unicase/u8-toupper: New file.
44568
44569         New module 'unicase/u32-casemap'.
44570         * lib/unicase/u32-casemap.c: New file.
44571         * modules/unicase/u32-casemap: New file.
44572
44573         New module 'unicase/u16-casemap'.
44574         * lib/unicase/u16-casemap.c: New file.
44575         * modules/unicase/u16-casemap: New file.
44576
44577         New module 'unicase/u8-casemap'.
44578         * lib/unicase/unicasemap.h: New file.
44579         * lib/unicase/u8-casemap.c: New file.
44580         * lib/unicase/u-casemap.h: New file.
44581         * modules/unicase/u8-casemap: New file.
44582
44583         New module 'unicase/special-casing'.
44584         * lib/unicase/special-casing.h: New file.
44585         * lib/unicase/special-casing.c: New file.
44586         * lib/unicase/special-casing-table.gperf: New file, generated by
44587         gen-uni-tables.c.
44588         * modules/unicase/special-casing: New file.
44589
44590         Tests for module 'unicase/locale-language'.
44591         * modules/unicase/locale-language-tests: New file.
44592         * tests/unicase/test-locale-language.sh: New file.
44593         * tests/unicase/test-locale-language.c: New file.
44594
44595         New module 'unicase/locale-language'.
44596         * lib/unicase/locale-language.c: New file.
44597         * lib/unicase/locale-languages.gperf: New file.
44598         * modules/unicase/locale-language: New file.
44599
44600         Generate more tables for case conversion and case folding.
44601         * lib/gen-uni-tables.c (SCC_*): New enum items.
44602         (struct special_casing_rule): New type.
44603         (casing_rules, num_casing_rules, allocated_casing_rules): New
44604         variables.
44605         (add_casing_rule, fill_casing_rules): New functions.
44606         (struct casefold_rule): New type.
44607         (casefolding_rules, num_casefolding_rules,
44608         allocated_casefolding_rules): New variables.
44609         (fill_casefolding_rules): New function.
44610         (unicode_casefold): New variable.
44611         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44612         sort_casing_rules, output_casing_rules): New functions.
44613         (main): Accept to more arguments: SpecialCasing.txt and
44614         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44615         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44616         Output mapping for casefolding.
44617
44618         * lib/unicase.h: Include stdbool.h, uninorm.h.
44619         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44620         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44621         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44622         arguments.
44623         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44624         resultp arguments.
44625         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44626         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44627         resultp arguments.
44628         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44629         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44630         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44631         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44632         declarations.
44633         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44634
44635 2009-03-08  Bruno Haible  <bruno@clisp.org>
44636
44637         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44638         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44639         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44640         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44641
44642 2009-03-07  Bruno Haible  <bruno@clisp.org>
44643
44644         Adjust u*_normcmp, u*_normcoll API.
44645         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44646         u16_normcoll, u32_normcoll): Change failure conventions.
44647         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44648         errno and return -1.
44649         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44650
44651 2009-03-07  Bruno Haible  <bruno@clisp.org>
44652
44653         Tests for module 'uninorm/u32-normcoll'.
44654         * modules/uninorm/u32-normcoll-tests: New file.
44655         * tests/uninorm/test-u32-normcoll.c: New file.
44656
44657         Tests for module 'uninorm/u16-normcoll'.
44658         * modules/uninorm/u16-normcoll-tests: New file.
44659         * tests/uninorm/test-u16-normcoll.c: New file.
44660
44661         Tests for module 'uninorm/u8-normcoll'.
44662         * modules/uninorm/u8-normcoll-tests: New file.
44663         * tests/uninorm/test-u8-normcoll.c: New file.
44664
44665 2009-03-07  Bruno Haible  <bruno@clisp.org>
44666
44667         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44668         tests/uninorm/test-u32-normcmp.c.
44669         * tests/uninorm/test-u32-normcmp.c: Include it.
44670         (test_nonascii): New function, extracted from main. Add some more
44671         tests.
44672         (main): Invoke test_ascii and test_nonascii.
44673         * modules/uninorm/u32-normcmp-tests (Files): Add
44674         tests/uninorm/test-u32-normcmp.h.
44675         (Depends-on): Remove uninorm/u32-normcmp.
44676
44677         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44678         tests/uninorm/test-u16-normcmp.c.
44679         * tests/uninorm/test-u16-normcmp.c: Include it.
44680         (test_nonascii): New function, extracted from main. Add some more
44681         tests.
44682         (main): Invoke test_ascii and test_nonascii.
44683         * modules/uninorm/u16-normcmp-tests (Files): Add
44684         tests/uninorm/test-u16-normcmp.h.
44685         (Depends-on): Remove uninorm/u16-normcmp.
44686
44687         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44688         tests/uninorm/test-u8-normcmp.c.
44689         * tests/uninorm/test-u8-normcmp.c: Include it.
44690         (test_nonascii): New function, extracted from main. Add some more
44691         tests.
44692         (main): Invoke test_ascii and test_nonascii.
44693         * modules/uninorm/u8-normcmp-tests (Files): Add
44694         tests/uninorm/test-u8-normcmp.h.
44695         (Depends-on): Remove uninorm/u8-normcmp.
44696
44697 2009-03-07  Bruno Haible  <bruno@clisp.org>
44698
44699         New module 'uninorm/u32-normcoll'.
44700         * lib/uninorm/u32-normcoll.c: New file.
44701         * modules/uninorm/u32-normcoll: New file.
44702
44703         New module 'uninorm/u16-normcoll'.
44704         * lib/uninorm/u16-normcoll.c: New file.
44705         * modules/uninorm/u16-normcoll: New file.
44706
44707         New module 'uninorm/u8-normcoll'.
44708         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44709         declarations.
44710         * lib/uninorm/u8-normcoll.c: New file.
44711         * lib/uninorm/u-normcoll.h: New file.
44712         * modules/uninorm/u8-normcoll: New file.
44713
44714         New module 'uninorm/u32-normxfrm'.
44715         * lib/uninorm/u32-normxfrm.c: New file.
44716         * modules/uninorm/u32-normxfrm: New file.
44717
44718         New module 'uninorm/u16-normxfrm'.
44719         * lib/uninorm/u16-normxfrm.c: New file.
44720         * modules/uninorm/u16-normxfrm: New file.
44721
44722         New module 'uninorm/u8-normxfrm'.
44723         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44724         declarations.
44725         * lib/uninorm/u8-normxfrm.c: New file.
44726         * lib/uninorm/u-normxfrm.h: New file.
44727         * modules/uninorm/u8-normxfrm: New file.
44728
44729 2009-03-07  Bruno Haible  <bruno@clisp.org>
44730
44731         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44732         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44733         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44734
44735 2009-03-07  Bruno Haible  <bruno@clisp.org>
44736
44737         New module 'memxfrm'.
44738         * lib/memxfrm.h: New file.
44739         * lib/memxfrm.c: New file.
44740         * modules/memxfrm: New file.
44741
44742 2009-03-07  Bruno Haible  <bruno@clisp.org>
44743
44744         New module 'memcmp2'.
44745         * lib/memcmp2.h: New file.
44746         * lib/memcmp2.c: New file.
44747         * modules/memcmp2: New file.
44748
44749 2009-03-07  Bruno Haible  <bruno@clisp.org>
44750
44751         Tests for module 'uninorm/decomposing-form'.
44752         * modules/uninorm/decomposing-form-tests: New file.
44753         * tests/uninorm/test-decomposing-form.c: New file.
44754
44755         New module 'uninorm/decomposing-form'.
44756         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44757         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44758         Add 'decomposing_variant' field.
44759         * lib/uninorm/decomposing-form.c: New file.
44760         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44761         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44762         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44763         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44764         * modules/uninorm/decomposing-form: New file.
44765         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44766         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44767
44768 2009-03-07  Bruno Haible  <bruno@clisp.org>
44769
44770         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44771         strings.
44772
44773 2009-03-06  Bruno Haible  <bruno@clisp.org>
44774
44775         Tests for module 'uninorm/u32-normcmp'.
44776         * tests/uninorm/test-u32-normcmp.c: New file.
44777         * modules/uninorm/u32-normcmp-tests: New file.
44778
44779         Tests for module 'uninorm/u16-normcmp'.
44780         * tests/uninorm/test-u16-normcmp.c: New file.
44781         * modules/uninorm/u16-normcmp-tests: New file.
44782
44783         Tests for module 'uninorm/u8-normcmp'.
44784         * tests/uninorm/test-u8-normcmp.c: New file.
44785         * modules/uninorm/u8-normcmp-tests: New file.
44786
44787         New module 'uninorm/u32-normcmp'.
44788         * lib/uninorm/u32-normcmp.c: New file.
44789         * modules/uninorm/u32-normcmp: New file.
44790
44791         New module 'uninorm/u16-normcmp'.
44792         * lib/uninorm/u16-normcmp.c: New file.
44793         * modules/uninorm/u16-normcmp: New file.
44794
44795         New module 'uninorm/u8-normcmp'.
44796         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44797         declarations.
44798         * lib/uninorm/u8-normcmp.c: New file.
44799         * lib/uninorm/u-normcmp.h: New file.
44800         * modules/uninorm/u8-normcmp: New file.
44801
44802 2009-03-06  Bruno Haible  <bruno@clisp.org>
44803
44804         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44805         Reported by Eric Blake.
44806
44807 2009-03-06  Eric Blake  <ebb9@byu.net>
44808             Bruno Haible  <bruno@clisp.org>
44809
44810         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44811         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44812         condition.
44813         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44814         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44815         condition.
44816         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44817
44818 2009-03-06  Eric Blake  <ebb9@byu.net>
44819
44820         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44821         to avoid compiler warnings.
44822         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44823
44824 2009-03-05  Bruno Haible  <bruno@clisp.org>
44825
44826         * tests/test-ftell.c (main): Disable test beyond end of file on
44827         FreeMiNT.
44828         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44829
44830 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44831
44832         * lib/filevercmp.c: Move hidden files up in ordering.
44833         * tests/test-filevercmp.c: Add tests for hidden files.
44834
44835 2009-03-04  Bruno Haible  <bruno@clisp.org>
44836
44837         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44838         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44839         AM_CFLAGS.
44840         Reported by Simon Josefsson.
44841
44842 2009-03-03  Bruno Haible  <bruno@clisp.org>
44843
44844         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44845         Reported by Simon Josefsson.
44846
44847         * doc/ld-version-script.texi: Update node reference.
44848
44849 2009-03-03  Bruno Haible  <bruno@clisp.org>
44850
44851         * modules/visibility (License): Change to 'unlimited'.
44852         Suggested by Simon Josefsson.
44853
44854 2009-03-03  Jim Meyering  <meyering@redhat.com>
44855
44856         unlinkdir: cannot_unlink_dir may modify process state
44857         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44858         it's neither thread-safe nor appropriate for use in a library.
44859
44860 2009-03-03  Eric Blake  <ebb9@byu.net>
44861
44862         test-closein: silence test under Darwin
44863         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44864         care if it dies from EPIPE or EBADF.
44865
44866 2009-03-03  Bruno Haible  <bruno@clisp.org>
44867
44868         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44869         earlier.
44870         * doc/visibility.texi: Fix @node and @section.
44871
44872 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44873
44874         * doc/gnulib.texi: Link to sections for ld version script and
44875         visibility.
44876         * doc/visibility.texi: Add @node and @section.
44877         * modules/ld-version-script: New module.
44878         * m4/ld-version-script.m4: New file.
44879         * doc/ld-version-script.texi: New file.
44880
44881 2009-03-02  David Lutterkort  <lutter@redhat.com>
44882
44883         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44884         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44885
44886 2009-03-02  Bruno Haible  <bruno@clisp.org>
44887
44888         * doc/visibility.texi: Mention libtool's -export-symbols option.
44889
44890 2009-03-02  Jim Meyering  <meyering@redhat.com>
44891
44892         announce-gen: new option: --no-print-checksums
44893         * build-aux/announce-gen (usage): Describe it.
44894         (print_checksums): Print a newline here, not in the [*] footnote.
44895         (main): Honor it.
44896
44897 2009-03-01  Bruno Haible  <bruno@clisp.org>
44898
44899         Use socklen_t in the native Windows replacements prototypes.
44900         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44901         instead of 'int'.
44902         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44903         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44904         * modules/getsockopt (Depends-on): Add socklen.
44905         * modules/setsockopt (Depends-on): Add socklen.
44906
44907 2009-03-01  Bruno Haible  <bruno@clisp.org>
44908
44909         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44910         least 4.2.
44911
44912 2009-03-01  Eric Blake  <ebb9@byu.net>
44913             Bruno Haible  <bruno@clisp.org>
44914
44915         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44916         error messages.
44917         * lib/wait-process.c (wait_subprocess): Omit error message about
44918         deadly signal sent to the child of termsigp != NULL.
44919
44920 2009-03-01  Eric Blake  <ebb9@byu.net>
44921
44922         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44923
44924 2009-03-01  Bruno Haible  <bruno@clisp.org>
44925
44926         Avoid a gcc warning.
44927         * tests/test-sched.c (b): Make global.
44928         Reported by Eric Blake.
44929
44930 2009-01-19  Martin Lambers  <marlam@marlam.de>
44931
44932         Provide POSIX semantics for socket timeout options on W32.
44933         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44934         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44935         * modules/setsockopt: Depend on sys_time module for struct timeval.
44936         * modules/getsockopt: Depend on sys_time module for struct timeval.
44937
44938 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44939
44940         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44941         __USE_GNU, for consistency with netdb.in.h.
44942         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44943
44944 2009-03-01  Bruno Haible  <bruno@clisp.org>
44945
44946         More support for FreeMiNT.
44947         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44948         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44949
44950 2009-03-01  Bruno Haible  <bruno@clisp.org>
44951
44952         More support for FreeMiNT.
44953         * lib/fpurge.c (fpurge): Correct last commit.
44954         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44955
44956 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44957
44958         Fix unportable awk script in vc-list-files.
44959         * build-aux/vc-list-files: In the replacement awk script, use
44960         substr with a second argument of 1, not zero.
44961         Report by Simon Josefsson.
44962
44963 2009-02-28  Bruno Haible  <bruno@clisp.org>
44964
44965         More support for FreeMiNT.
44966         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44967         to FreeMiNT today.
44968         * lib/fwriting.c (fwriting): Likewise.
44969         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44970
44971 2009-02-28  Bruno Haible  <bruno@clisp.org>
44972
44973         * tests/test-freadseek.c (main): Disable test beyond end of file on
44974         FreeMiNT.
44975         * tests/test-ftello.c (main): Likewise.
44976         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44977
44978 2009-02-28  Bruno Haible  <bruno@clisp.org>
44979
44980         Add tentative support for FreeMiNT.
44981         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44982         * lib/fpurge.c (fpurge): Likewise.
44983         * lib/freadable.c (freadable): Likewise.
44984         * lib/freading.c (freading): Likewise.
44985         * lib/freadptr.c (freadptr): Likewise.
44986         * lib/freadseek.c (freadptrinc): Likewise.
44987         * lib/fseeko.c (rpl_fseeko): Likewise.
44988         * lib/fseterr.c (fseterr): Likewise.
44989         * lib/fwritable.c (fwritable): Likewise.
44990         * lib/fwriting.c (fwriting): Likewise.
44991         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44992         Hourihane.
44993         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44994
44995 2009-02-28  Bruno Haible  <bruno@clisp.org>
44996
44997         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44998         SIGCHLD.
44999         Reported by Jim Meyering.
45000
45001 2009-02-28  Bruno Haible  <bruno@clisp.org>
45002
45003         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
45004         Mention the results of these tests on various platforms.
45005         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
45006         order.
45007         * doc/posix-functions/printf.texi: Likewise.
45008         * doc/posix-functions/snprintf.texi: Likewise.
45009         * doc/posix-functions/sprintf.texi: Likewise.
45010         * doc/posix-functions/vfprintf.texi: Likewise.
45011         * doc/posix-functions/vprintf.texi: Likewise.
45012         * doc/posix-functions/vsnprintf.texi: Likewise.
45013         * doc/posix-functions/vsprintf.texi: Likewise.
45014         * doc/glibc-functions/obstack_printf.texi: Likewise.
45015         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
45016
45017 2009-02-28  Bruno Haible  <bruno@clisp.org>
45018
45019         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
45020         Reported by Loïc Minier <lool@dooz.org>.
45021
45022 2009-02-27  Bruno Haible  <bruno@clisp.org>
45023
45024         * gnulib-tool (func_import): Make the sed expression used to create the
45025         sed script for updating the .gitignore file POSIX compliant.
45026         Reported by Eric Blake.
45027
45028 2009-02-27  Bruno Haible  <bruno@clisp.org>
45029
45030         * gnulib-tool (sed): Don't alias as "sed --posix".
45031         Reported by Eric Blake.
45032
45033 2009-02-27  Bruno Haible  <bruno@clisp.org>
45034
45035         Avoid test link errors.
45036         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
45037         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
45038         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
45039         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
45040         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45041
45042 2009-02-27  Bruno Haible  <bruno@clisp.org>
45043
45044         Avoid spurious "(cached)" in configure output.
45045         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
45046         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
45047         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
45048         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
45049         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
45050         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
45051         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
45052         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
45053         Reported by Eric Blake.
45054
45055 2009-02-27  Eric Blake  <ebb9@byu.net>
45056
45057         printf: fix regression in previous patch
45058         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
45059
45060 2009-02-27  Bruno Haible  <bruno@clisp.org>
45061
45062         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
45063         value.
45064         * lib/stdint.in.h: Likewise.
45065         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
45066
45067 2009-02-27  Eric Blake  <ebb9@byu.net>
45068
45069         doc: mention more functions added in cygwin 1.7.0
45070         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
45071         addition.
45072         * doc/posix-functions/open_wmemstream.texi: Likewise.
45073         * doc/posix-functions/wcsnlen.texi: Likewise.
45074         * doc/posix-functions/wcsnrtombs.texi: Likewise.
45075         * doc/posix-functions/wcstod.texi: Likewise.
45076         * doc/posix-functions/wcstof.texi: Likewise.
45077         * doc/posix-functions/wcstoimax.texi: Likewise.
45078         * doc/posix-functions/wcstok.texi: Likewise.
45079         * doc/posix-functions/wcstoumax.texi: Likewise.
45080
45081         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
45082         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
45083         * doc/posix-functions/fprintf.texi: Update.
45084         * doc/posix-functions/printf.texi: Update.
45085         * doc/posix-functions/snprintf.texi: Update.
45086         * doc/posix-functions/sprintf.texi: Update.
45087         * doc/posix-functions/vfprintf.texi: Update.
45088         * doc/posix-functions/vprintf.texi: Update.
45089         * doc/posix-functions/vsnprintf.texi: Update.
45090         * doc/posix-functions/vsprintf.texi: Update.
45091         * doc/glibc-functions/obstack_printf.texi: Update.
45092         * doc/glibc-functions/obstack_vprintf.texi: Update.
45093
45094 2009-02-26  Eric Blake  <ebb9@byu.net>
45095
45096         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
45097         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
45098         compilation bug by using runtime conversion.
45099         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
45100         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
45101         * modules/ceill-tests (Files): Use nan.h.
45102         * modules/floorl-tests (Files): Likewise.
45103         * modules/frexpl-tests (Files): Likewise.
45104         * modules/isnanl-tests (Files): Likewise.
45105         * modules/ldexpl-tests (Files): Likewise.
45106         * modules/roundl-tests (Files): Likewise.
45107         * modules/truncl-tests (Files): Likewise.
45108         * tests/test-ceill.c (main): Use a working NaN.
45109         * tests/test-floorl.c (main): Likewise.
45110         * tests/test-frexpl.c (main): Likewise.
45111         * tests/test-isnan.c (test_long_double): Likewise.
45112         * tests/test-isnanl.h (main): Likewise.
45113         * tests/test-ldexpl.h (main): Likewise.
45114         * tests/test-roundl.h (main): Likewise.
45115         * tests/test-truncl.h (main): Likewise.
45116         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
45117
45118 2009-02-26  Eric Blake  <ebb9@byu.net>
45119             Bruno Haible  <bruno@clisp.org>
45120
45121         Work around a *printf bug with %ls on Solaris.
45122         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
45123         precision is specified, sprintf stops converting the wide string
45124         argument when the number of bytes that have been produced by this
45125         conversion equals or exceeds the precision.
45126         * doc/posix-functions/fprintf.texi: Update.
45127         * doc/posix-functions/printf.texi: Update.
45128         * doc/posix-functions/snprintf.texi: Update.
45129         * doc/posix-functions/sprintf.texi: Update.
45130         * doc/posix-functions/vfprintf.texi: Update.
45131         * doc/posix-functions/vprintf.texi: Update.
45132         * doc/posix-functions/vsnprintf.texi: Update.
45133         * doc/posix-functions/vsprintf.texi: Update.
45134         * doc/glibc-functions/obstack_printf.texi: Update.
45135         * doc/glibc-functions/obstack_vprintf.texi: Update.
45136
45137 2009-02-26  Eric Blake  <ebb9@byu.net>
45138
45139         stdlib: favor compiler check of random.h
45140         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
45141         to avoid an ObjC random.h installed by Swarm.
45142
45143 2009-02-26  Bruno Haible  <bruno@clisp.org>
45144
45145         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
45146         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
45147         Reported by Gary V. Vaughan <gary@gnu.org>.
45148
45149 2009-02-26  Bruno Haible  <bruno@clisp.org>
45150
45151         Fix *printf behaviour regarding the %ls directive.
45152         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
45153         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
45154         NEED_PRINTF_DIRECTIVE_LS.
45155         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
45156         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45157         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45158         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
45159         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
45160         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
45161         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
45162         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45163         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45164         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45165         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45166         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
45167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45168         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45170         * doc/posix-functions/fprintf.texi: Update.
45171         * doc/posix-functions/printf.texi: Update.
45172         * doc/posix-functions/snprintf.texi: Update.
45173         * doc/posix-functions/sprintf.texi: Update.
45174         * doc/posix-functions/vfprintf.texi: Update.
45175         * doc/posix-functions/vprintf.texi: Update.
45176         * doc/posix-functions/vsnprintf.texi: Update.
45177         * doc/posix-functions/vsprintf.texi: Update.
45178         * doc/glibc-functions/obstack_printf.texi: Update.
45179         * doc/glibc-functions/obstack_vprintf.texi: Update.
45180         Reported by Eric Blake.
45181
45182 2009-02-25  Bruno Haible  <bruno@clisp.org>
45183
45184         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
45185         with known value.
45186         Reported by Gary V. Vaughan <gary@gnu.org>.
45187
45188 2009-02-25  Bruno Haible  <bruno@clisp.org>
45189
45190         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
45191         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
45192         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
45193         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
45194         Reported by Gary V. Vaughan <gary@gnu.org>.
45195
45196 2009-02-25  Bruno Haible  <bruno@clisp.org>
45197
45198         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
45199         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
45200         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
45201         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
45202         Reported by Gary V. Vaughan <gary@gnu.org>.
45203
45204 2009-02-25  Eric Blake  <ebb9@byu.net>
45205
45206         tests: skip fseek/ftell tests if ungetc is broken
45207         * m4/ungetc.m4: New file.
45208         * modules/fseek-tests: Split test, so ungetc dependency is
45209         separate from rest of test.
45210         * modules/fseeko-tests: Likewise.
45211         * modules/ftell-tests: Likewise.
45212         * modules/ftello-tests: Likewise.
45213         * tests/test-fseek.c (main): Isolate ungetc dependency.
45214         * tests/test-fseeko.c (main): Likewise.
45215         * tests/test-ftell.c (main): Likewise.
45216         * tests/test-ftello.c (main): Likewise.
45217         * tests/test-fseek2.sh: New file.
45218         * tests/test-fseeko2.sh: Likewise.
45219         * tests/test-ftell2.sh: Likewise.
45220         * tests/test-ftello2.sh: Likewise.
45221
45222 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
45223
45224         test-getaddrinfo: fix usage of skip return code 77
45225         * tests/test-gettaddrinfo.c: Return skip code 77 only
45226         for first occurance of skip (4x77 is not 77)
45227
45228 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
45229
45230         strtod: avoid C99 decl-after-statement
45231         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
45232
45233 2009-02-24  Eric Blake  <ebb9@byu.net>
45234
45235         strtod: detect HP-UX 11.31 bug
45236         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
45237         Reported by Gary V. Vaughan.
45238
45239 2009-02-23  Bruno Haible  <bruno@clisp.org>
45240
45241         Fix invalid read past end of memory block.
45242         * lib/vasnprintf.c (DCHAR_SET): Define.
45243         (local_wcslen): Define only when needed.
45244         (local_strnlen, local_wcsnlen): New functions.
45245         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
45246         directives that involve a conversion ourselves.
45247         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
45248         wcsnlen, mbrtowc, wcrtomb.
45249         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
45250         * tests/test-vasprintf-posix.c (test_function): Likewise.
45251         * tests/test-snprintf-posix.h (test_function): Likewise.
45252         * tests/test-sprintf-posix.h (test_function): Likewise.
45253         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45254
45255 2009-02-22  Bruno Haible  <bruno@clisp.org>
45256
45257         Implement new clarified decomposition of Hangul syllables.
45258         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
45259         of type LTV, return only a pairwise decomposition.
45260         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
45261         Likewise.
45262         * tests/uninorm/test-decomposition.c (main): Updated expected result.
45263         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
45264         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
45265
45266 2009-02-22  Bruno Haible  <bruno@clisp.org>
45267
45268         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
45269         zero-length results and shrink excess allocated memory.
45270         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
45271         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
45272         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
45273         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
45274         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
45275         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
45276         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
45277         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
45278         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
45279         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
45280         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
45281         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
45282
45283 2009-02-21  Bruno Haible  <bruno@clisp.org>
45284
45285         * doc/gnulib.texi: Include safe-alloc.texi earlier.
45286         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
45287         spaces after a period. Put a space between a macro name and its
45288         argument list. Trivial rewordings.
45289         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
45290         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
45291         (main): Return 0 explicitly.
45292
45293 2009-02-21  Bruno Haible  <bruno@clisp.org>
45294
45295         Tests for module 'uninorm/filter'.
45296         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
45297         * modules/uninorm/filter-tests: New file.
45298
45299         New module 'uninorm/filter'.
45300         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
45301         uninorm_filter_flush, uninorm_filter_free): New declarations.
45302         * lib/uninorm/uninorm-filter.c: New file.
45303         * modules/uninorm/filter: New file.
45304
45305 2009-02-21  Bruno Haible  <bruno@clisp.org>
45306
45307         Tests for module 'uninorm/nfkc'.
45308         * tests/uninorm/test-nfkc.c: New file.
45309         * tests/uninorm/test-u8-nfkc.c: New file.
45310         * tests/uninorm/test-u16-nfkc.c: New file.
45311         * tests/uninorm/test-u32-nfkc.c: New file.
45312         * tests/uninorm/test-u32-nfkc-big.sh: New file.
45313         * tests/uninorm/test-u32-nfkc-big.c: New file.
45314         * modules/uninorm/nfkc-tests: New file.
45315
45316         New module 'uninorm/nfkc'.
45317         * lib/uninorm/nfkc.c: New file.
45318         * modules/uninorm/nfkc: New file.
45319
45320         Tests for module 'uninorm/nfkd'.
45321         * tests/uninorm/test-nfkd.c: New file.
45322         * tests/uninorm/test-u8-nfkd.c: New file.
45323         * tests/uninorm/test-u16-nfkd.c: New file.
45324         * tests/uninorm/test-u32-nfkd.c: New file.
45325         * tests/uninorm/test-u32-nfkd-big.sh: New file.
45326         * tests/uninorm/test-u32-nfkd-big.c: New file.
45327         * modules/uninorm/nfkd-tests: New file.
45328
45329         New module 'uninorm/nfkd'.
45330         * lib/uninorm/nfkd.c: New file.
45331         * modules/uninorm/nfkd: New file.
45332
45333         Tests for module 'uninorm/nfc'.
45334         * tests/uninorm/test-nfc.c: New file.
45335         * tests/uninorm/test-u8-nfc.c: New file.
45336         * tests/uninorm/test-u16-nfc.c: New file.
45337         * tests/uninorm/test-u32-nfc.c: New file.
45338         * tests/uninorm/test-u32-nfc-big.sh: New file.
45339         * tests/uninorm/test-u32-nfc-big.c: New file.
45340         * modules/uninorm/nfc-tests: New file.
45341
45342         New module 'uninorm/nfc'.
45343         * lib/uninorm/nfc.c: New file.
45344         * modules/uninorm/nfc: New file.
45345
45346         Tests for module 'uninorm/nfd'.
45347         * tests/uninorm/test-nfd.c: New file.
45348         * tests/uninorm/test-u8-nfd.c: New file.
45349         * tests/uninorm/test-u16-nfd.c: New file.
45350         * tests/uninorm/test-u32-nfd.c: New file.
45351         * tests/uninorm/test-u32-nfd-big.sh: New file.
45352         * tests/uninorm/test-u32-nfd-big.c: New file.
45353         * tests/uninorm/test-u32-normalize-big.h: New file.
45354         * tests/uninorm/test-u32-normalize-big.c: New file.
45355         * tests/uninorm/NormalizationTest.txt: New file, created from
45356         Unicode 5.1.0 NormalizationTest.txt.
45357         * modules/uninorm/nfd-tests: New file.
45358
45359         New module 'uninorm/nfd'.
45360         * lib/uninorm/nfd.c: New file.
45361         * modules/uninorm/nfd: New file.
45362
45363         New module 'uninorm/u32-normalize'.
45364         * lib/uninorm/u32-normalize.c: New file.
45365         * modules/uninorm/u32-normalize: New file.
45366
45367         New module 'uninorm/u16-normalize'.
45368         * lib/uninorm/u16-normalize.c: New file.
45369         * modules/uninorm/u16-normalize: New file.
45370
45371         New module 'uninorm/u8-normalize'.
45372         * lib/uninorm/u8-normalize.c: New file.
45373         * lib/uninorm/normalize-internal.h: New file.
45374         * lib/uninorm/u-normalize-internal.h: New file.
45375         * modules/uninorm/u8-normalize: New file.
45376
45377         New module 'uninorm/decompose-internal'.
45378         * lib/uninorm/decompose-internal.c: New file.
45379         * modules/uninorm/decompose-internal: New file.
45380
45381         Tests for module 'uninorm/composition'.
45382         * tests/uninorm/test-composition.c: New file.
45383         * modules/uninorm/composition-tests: New file.
45384
45385         New module 'uninorm/composition'.
45386         * lib/uninorm/composition.c: New file.
45387         * lib/uninorm/composition-table.gperf: New file, generated by
45388         gen-uni-tables.
45389         * modules/uninorm/composition: New file.
45390
45391         Tests for module 'uninorm/compat-decomposition'.
45392         * tests/uninorm/test-compat-decomposition.c: New file.
45393         * modules/uninorm/compat-decomposition-tests: New file.
45394
45395         New module 'uninorm/compat-decomposition'.
45396         * lib/uninorm/decompose-internal.h: New file.
45397         * lib/uninorm/compat-decomposition.c: New file.
45398         * modules/uninorm/compat-decomposition: New file.
45399
45400         Tests for module 'uninorm/canonical-decomposition'.
45401         * tests/uninorm/test-canonical-decomposition.c: New file.
45402         * modules/uninorm/canonical-decomposition-tests: New file.
45403
45404         New module 'uninorm/canonical-decomposition'.
45405         * lib/uninorm/canonical-decomposition.c: New file.
45406         * modules/uninorm/canonical-decomposition: New file.
45407
45408         Tests for module 'uninorm/decomposition'.
45409         * tests/uninorm/test-decomposition.c: New file.
45410         * modules/uninorm/decomposition-tests: New file.
45411
45412         New module 'uninorm/decomposition'.
45413         * lib/uninorm/decomposition.c: New file.
45414         * modules/uninorm/decomposition: New file.
45415
45416         New module 'uninorm/decomposition-table'.
45417         * lib/uninorm/decomposition-table.h: New file.
45418         * lib/uninorm/decomposition-table.c: New file.
45419         * lib/uninorm/decomposition-table1.h: New file, generated by
45420         gen-uni-tables.
45421         * lib/uninorm/decomposition-table2.h: New file, generated by
45422         gen-uni-tables.
45423         * modules/uninorm/decomposition-table: New file.
45424
45425         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
45426         (UC_DECOMP_*): New enumeration items.
45427         (get_decomposition): New function.
45428         (struct decomp_table): New type.
45429         (output_decomposition, output_decomposition_tables): New functions.
45430         (unicode_composition_exclusions): New variable.
45431         (fill_composition_exclusions, debug_output_composition_tables): New
45432         functions.
45433         (main): Accept one more argument. Invoke fill_composition_exclusions.
45434         Output decomposition and composition tables.
45435
45436         New module 'uninorm/base'.
45437         * lib/uninorm.h: New file.
45438         * lib/unictype.h: Update comment.
45439         * modules/uninorm/base: New file.
45440
45441 2009-02-21  David Lutterkort  <lutter@redhat.com>
45442
45443         Tests for module 'safe-alloc'.
45444         * tests/test-safe-alloc.c: New file.
45445         * modules/safe-alloc-tests: New file.
45446
45447         New module 'safe-alloc'.
45448         * lib/safe-alloc.h: New file.
45449         * lib/safe-alloc.c: New file.
45450         * m4/safe-alloc.m4: New file.
45451         * modules/safe-alloc: New file.
45452         * doc/safe-alloc.texi: New file.
45453         * doc/gnulib.texi: Include it.
45454         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45455         safe-alloc.
45456
45457 2009-02-18  Bruno Haible  <bruno@clisp.org>
45458
45459         Fix link error on non-glibc systems.
45460         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45461         variable.
45462         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45463
45464 2009-02-18  Jim Meyering  <meyering@redhat.com>
45465
45466         fts: avoid used-uninitialized error due to recent change
45467         * lib/fts.c (fts_read): Guard uses of the new member,
45468         parent->fts_n_dirs_remaining, since it's not relevant for
45469         the parent of a directory specified on the command-line.
45470
45471 2009-02-17  James Youngman  <jay@gnu.org>
45472             Bruno Haible  <bruno@clisp.org>
45473
45474         * m4/include_next.m4: Reformulate comment.
45475
45476 2009-02-16  Jim Meyering  <meyering@redhat.com>
45477
45478         fts: add #if guards so that the fts_lgpl module still builds
45479         * lib/fts.c: Guard just-added hash-table-using parts with
45480         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45481         Reported by Simon Josefsson.
45482
45483 2009-02-15  Bruno Haible  <bruno@clisp.org>
45484
45485         * modules/array-mergesort-tests: New file.
45486         * tests/test-array-mergesort.c: New file.
45487
45488         New module 'array-mergesort'.
45489         * modules/array-mergesort: New file.
45490         * lib/array-mergesort.h: New file.
45491
45492 2009-02-15  Bruno Haible  <bruno@clisp.org>
45493
45494         Fix 2009-02-07 commit.
45495         * lib/gen-uni-tables.c (output_predicate, output_category,
45496         output_combclass, output_bidi_category, output_decimal_digit,
45497         output_digit, output_numeric, output_mirror, output_scripts,
45498         output_ident_category, output_simple_mapping): Fix format directives.
45499         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45500
45501 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45502
45503         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45504         fixes are available from IBM.
45505
45506 2009-02-13  Jim Meyering  <meyering@redhat.com>
45507
45508         fts: arrange not to stat non-directories in more cases
45509         This makes GNU find (when it doesn't need to stat each file)
45510         *much* more efficient at traversing reiserfs file systems.
45511         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45512         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45513         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45514         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45515         (leaf_optimization_applies): New function.
45516         (LCO_hash, LCO_compare): New helper functions.
45517         (link_count_optimize_ok): New function.
45518         (fts_stat): Initialize new member (if dir).
45519         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45520         we've just stat'ed a directory.  Skip the stat call when possible.
45521         ---
45522         Note this AFS-related exchange:
45523         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45524         and note find's pioctl call in find/fstype.c.
45525         But that is necessary only if you want to enable the
45526         optimization for AFS, and for now, I don't.
45527
45528         fts: move a function definition "up" (no semantic change)
45529         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45530         "up" to precede upcoming use of a related function.
45531
45532 2009-02-11  Jim Meyering  <meyering@redhat.com>
45533
45534         fts: correct internal computation of nlinks (optimization-related)
45535         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45536         whether the current entry is a directory, so don't test it.
45537
45538 2009-02-10  Bruno Haible  <bruno@clisp.org>
45539
45540         Tests for module 'uniwbrk/ulc-wordbreaks'.
45541         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45542         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45543         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45544
45545         Tests for module 'uniwbrk/u32-wordbreaks'.
45546         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45547         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45548
45549         Tests for module 'uniwbrk/u16-wordbreaks'.
45550         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45551         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45552
45553         Tests for module 'uniwbrk/u8-wordbreaks'.
45554         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45555         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45556
45557 2009-02-10  Bruno Haible  <bruno@clisp.org>
45558
45559         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45560         property.
45561         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45562         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45563         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45564
45565 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45566
45567         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45568         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45569
45570 2009-02-10  Bruno Haible  <bruno@clisp.org>
45571
45572         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45573         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45574         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45575         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45576         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45577         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45578
45579 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45580
45581         * lib/sockets.h (gl_fd_to_handle): New function.
45582
45583         * tests/test-sockets.c: Call gl_fd_to_handle.
45584
45585 2009-02-09  Bruno Haible  <bruno@clisp.org>
45586
45587         * doc/havelib.texi: Document the conventions on bi-arch systems.
45588
45589 2009-02-08  Bruno Haible  <bruno@clisp.org>
45590
45591         Document the AC_LIB_LINKFLAGS macro.
45592         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45593         * doc/gnulib.texi: Include it.
45594
45595 2009-02-08  Bruno Haible  <bruno@clisp.org>
45596
45597         Fix wrong order of sections, compared to TOC.
45598         * doc/gnulib.texi: Include relocatable-maint.texi after the
45599         "Regular expressions" node, not before.
45600
45601 2009-02-08  Bruno Haible  <bruno@clisp.org>
45602
45603         Tests for module 'unicase/totitle'.
45604         * modules/unicase/totitle-tests: New file.
45605
45606         Tests for module 'unicase/tolower'.
45607         * modules/unicase/tolower-tests: New file.
45608
45609         Tests for module 'unicase/toupper'.
45610         * modules/unicase/toupper-tests: New file.
45611         * tests/unicase/test-mapping-part1.h: New file.
45612         * tests/unicase/test-mapping-part2.h: New file.
45613
45614         New module 'unicase/totitle'.
45615         * modules/unicase/totitle: New file.
45616         * lib/unicase/totitle.c: New file.
45617
45618         New module 'unicase/tolower'.
45619         * modules/unicase/tolower: New file.
45620         * lib/unicase/tolower.c: New file.
45621
45622         New module 'unicase/toupper'.
45623         * modules/unicase/toupper: New file.
45624         * lib/unicase/toupper.c: New file.
45625         * lib/unicase/simple-mapping.h: New file.
45626
45627         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45628         (mapping_table): New structure.
45629         (output_simple_mapping): New function.
45630         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45631         * modules/gen-uni-tables (Description): Update.
45632         * lib/unicase/toupper.h: New file, automatically generated by
45633         gen-uni-tables.
45634         * lib/unicase/tolower.h: New file, automatically generated by
45635         gen-uni-tables.
45636         * lib/unicase/totitle.h: New file, automatically generated by
45637         gen-uni-tables.
45638         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45639         gen-uni-tables.
45640         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45641         gen-uni-tables.
45642         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45643         gen-uni-tables.
45644
45645         New module 'unicase/base'.
45646         * modules/unicase/base: New file.
45647         * lib/unicase.h: New file.
45648
45649 2009-02-08  Bruno Haible  <bruno@clisp.org>
45650
45651         New module 'uniwbrk/ulc-wordbreaks'.
45652         * modules/uniwbrk/ulc-wordbreaks: New file.
45653         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45654
45655         New module 'uniwbrk/u32-wordbreaks'.
45656         * modules/uniwbrk/u32-wordbreaks: New file.
45657         * lib/uniwbrk/u32-wordbreaks.c: New file.
45658
45659         New module 'uniwbrk/u16-wordbreaks'.
45660         * modules/uniwbrk/u16-wordbreaks: New file.
45661         * lib/uniwbrk/u16-wordbreaks.c: New file.
45662
45663         New module 'uniwbrk/u8-wordbreaks'.
45664         * modules/uniwbrk/u8-wordbreaks: New file.
45665         * lib/uniwbrk/u8-wordbreaks.c: New file.
45666         * lib/uniwbrk/u-wordbreaks.h: New file.
45667
45668         New module 'uniwbrk/table'.
45669         * modules/uniwbrk/table: New file.
45670         * lib/uniwbrk/wbrktable.h: New file.
45671         * lib/uniwbrk/wbrktable.c: New file.
45672
45673         New module 'uniwbrk/wordbreak-property'.
45674         * modules/uniwbrk/wordbreak-property: New file.
45675         * lib/uniwbrk/wordbreak-property.c: New file.
45676
45677         * lib/gen-uni-tables.c (WBP_*): New enum items.
45678         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45679         (unicode_org_wbp): New variable.
45680         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45681         New functions.
45682         (wbp_table): New structure.
45683         (output_wbp, output_wbrk_tables): New functions.
45684         (main): Accept additional argument. Invoke fill_org_wbp,
45685         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45686         output_wbrk_tables.
45687         * modules/gen-uni-tables (Description): Update.
45688         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45689         gen-uni-tables.
45690
45691         New module 'uniwbrk/base'.
45692         * modules/uniwbrk/base: New file.
45693         * lib/uniwbrk.h: New file.
45694
45695 2009-02-08  Bruno Haible  <bruno@clisp.org>
45696
45697         Update to Unicode 5.1.0.
45698         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45699         U+2185..U+2188.
45700         (is_property_default_ignorable_code_point): Don't include characters
45701         of category Cc or Cs and not-a-characters.
45702         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45703         U+0D79, U+109E, U+109F, U+A60C.
45704         * lib/unictype/bidi_of.h: Regenerated.
45705         * lib/unictype/blocks.h: Regenerated.
45706         * lib/unictype/categ_C.h: Regenerated.
45707         * lib/unictype/categ_Cf.h: Regenerated.
45708         * lib/unictype/categ_Cn.h: Regenerated.
45709         * lib/unictype/categ_L.h: Regenerated.
45710         * lib/unictype/categ_Ll.h: Regenerated.
45711         * lib/unictype/categ_Lm.h: Regenerated.
45712         * lib/unictype/categ_Lo.h: Regenerated.
45713         * lib/unictype/categ_Lu.h: Regenerated.
45714         * lib/unictype/categ_M.h: Regenerated.
45715         * lib/unictype/categ_Mc.h: Regenerated.
45716         * lib/unictype/categ_Me.h: Regenerated.
45717         * lib/unictype/categ_Mn.h: Regenerated.
45718         * lib/unictype/categ_N.h: Regenerated.
45719         * lib/unictype/categ_Nd.h: Regenerated.
45720         * lib/unictype/categ_Nl.h: Regenerated.
45721         * lib/unictype/categ_No.h: Regenerated.
45722         * lib/unictype/categ_P.h: Regenerated.
45723         * lib/unictype/categ_Pd.h: Regenerated.
45724         * lib/unictype/categ_Pe.h: Regenerated.
45725         * lib/unictype/categ_Pf.h: Regenerated.
45726         * lib/unictype/categ_Pi.h: Regenerated.
45727         * lib/unictype/categ_Po.h: Regenerated.
45728         * lib/unictype/categ_Ps.h: Regenerated.
45729         * lib/unictype/categ_S.h: Regenerated.
45730         * lib/unictype/categ_Sk.h: Regenerated.
45731         * lib/unictype/categ_Sm.h: Regenerated.
45732         * lib/unictype/categ_So.h: Regenerated.
45733         * lib/unictype/categ_of.h: Regenerated.
45734         * lib/unictype/combining.h: Regenerated.
45735         * lib/unictype/ctype_alnum.h: Regenerated.
45736         * lib/unictype/ctype_alpha.h: Regenerated.
45737         * lib/unictype/ctype_graph.h: Regenerated.
45738         * lib/unictype/ctype_lower.h: Regenerated.
45739         * lib/unictype/ctype_print.h: Regenerated.
45740         * lib/unictype/ctype_punct.h: Regenerated.
45741         * lib/unictype/ctype_upper.h: Regenerated.
45742         * lib/unictype/decdigit.h: Regenerated.
45743         * lib/unictype/digit.h: Regenerated.
45744         * lib/unictype/mirror.h: Regenerated.
45745         * lib/unictype/numeric.h: Regenerated.
45746         * lib/unictype/pr_alphabetic.h: Regenerated.
45747         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45748         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45749         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45750         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45751         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45752         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45753         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45754         * lib/unictype/pr_combining.h: Regenerated.
45755         * lib/unictype/pr_dash.h: Regenerated.
45756         * lib/unictype/pr_decimal_digit.h: Regenerated.
45757         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45758         * lib/unictype/pr_deprecated.h: Regenerated.
45759         * lib/unictype/pr_diacritic.h: Regenerated.
45760         * lib/unictype/pr_extender.h: Regenerated.
45761         * lib/unictype/pr_format_control.h: Regenerated.
45762         * lib/unictype/pr_grapheme_base.h: Regenerated.
45763         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45764         * lib/unictype/pr_grapheme_link.h: Regenerated.
45765         * lib/unictype/pr_id_continue.h: Regenerated.
45766         * lib/unictype/pr_id_start.h: Regenerated.
45767         * lib/unictype/pr_ideographic.h: Regenerated.
45768         * lib/unictype/pr_ignorable_control.h: Regenerated.
45769         * lib/unictype/pr_lowercase.h: Regenerated.
45770         * lib/unictype/pr_math.h: Regenerated.
45771         * lib/unictype/pr_numeric.h: Regenerated.
45772         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45773         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45774         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45775         * lib/unictype/pr_other_id_continue.h: Regenerated.
45776         * lib/unictype/pr_other_lowercase.h: Regenerated.
45777         * lib/unictype/pr_other_math.h: Regenerated.
45778         * lib/unictype/pr_punctuation.h: Regenerated.
45779         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45780         * lib/unictype/pr_soft_dotted.h: Regenerated.
45781         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45782         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45783         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45784         * lib/unictype/pr_uppercase.h: Regenerated.
45785         * lib/unictype/pr_xid_continue.h: Regenerated.
45786         * lib/unictype/pr_xid_start.h: Regenerated.
45787         * lib/unictype/pr_zero_width.h: Regenerated.
45788         * lib/unictype/scripts.h: Regenerated.
45789         * lib/unictype/scripts_byname.gperf: Regenerated.
45790         * lib/unictype/sy_java_ident.h: Regenerated.
45791         * lib/unilbrk/lbrkprop1.h: Regenerated.
45792         * lib/unilbrk/lbrkprop2.h: Regenerated.
45793         * tests/unictype/test-categ_C.c: Regenerated.
45794         * tests/unictype/test-categ_Cf.c: Regenerated.
45795         * tests/unictype/test-categ_Cn.c: Regenerated.
45796         * tests/unictype/test-categ_L.c: Regenerated.
45797         * tests/unictype/test-categ_Ll.c: Regenerated.
45798         * tests/unictype/test-categ_Lm.c: Regenerated.
45799         * tests/unictype/test-categ_Lo.c: Regenerated.
45800         * tests/unictype/test-categ_Lu.c: Regenerated.
45801         * tests/unictype/test-categ_M.c: Regenerated.
45802         * tests/unictype/test-categ_Mc.c: Regenerated.
45803         * tests/unictype/test-categ_Me.c: Regenerated.
45804         * tests/unictype/test-categ_Mn.c: Regenerated.
45805         * tests/unictype/test-categ_N.c: Regenerated.
45806         * tests/unictype/test-categ_Nd.c: Regenerated.
45807         * tests/unictype/test-categ_Nl.c: Regenerated.
45808         * tests/unictype/test-categ_No.c: Regenerated.
45809         * tests/unictype/test-categ_P.c: Regenerated.
45810         * tests/unictype/test-categ_Pd.c: Regenerated.
45811         * tests/unictype/test-categ_Pe.c: Regenerated.
45812         * tests/unictype/test-categ_Pf.c: Regenerated.
45813         * tests/unictype/test-categ_Pi.c: Regenerated.
45814         * tests/unictype/test-categ_Po.c: Regenerated.
45815         * tests/unictype/test-categ_Ps.c: Regenerated.
45816         * tests/unictype/test-categ_S.c: Regenerated.
45817         * tests/unictype/test-categ_Sk.c: Regenerated.
45818         * tests/unictype/test-categ_Sm.c: Regenerated.
45819         * tests/unictype/test-categ_So.c: Regenerated.
45820         * tests/unictype/test-ctype_alnum.c: Regenerated.
45821         * tests/unictype/test-ctype_alpha.c: Regenerated.
45822         * tests/unictype/test-ctype_graph.c: Regenerated.
45823         * tests/unictype/test-ctype_lower.c: Regenerated.
45824         * tests/unictype/test-ctype_print.c: Regenerated.
45825         * tests/unictype/test-ctype_punct.c: Regenerated.
45826         * tests/unictype/test-ctype_upper.c: Regenerated.
45827         * tests/unictype/test-decdigit.h: Regenerated.
45828         * tests/unictype/test-digit.h: Regenerated.
45829         * tests/unictype/test-numeric.h: Regenerated.
45830         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45831         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45832         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45833         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45834         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45835         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45836         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45837         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45838         * tests/unictype/test-pr_combining.c: Regenerated.
45839         * tests/unictype/test-pr_dash.c: Regenerated.
45840         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45841         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45842         * tests/unictype/test-pr_deprecated.c: Regenerated.
45843         * tests/unictype/test-pr_diacritic.c: Regenerated.
45844         * tests/unictype/test-pr_extender.c: Regenerated.
45845         * tests/unictype/test-pr_format_control.c: Regenerated.
45846         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45847         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45848         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45849         * tests/unictype/test-pr_id_continue.c: Regenerated.
45850         * tests/unictype/test-pr_id_start.c: Regenerated.
45851         * tests/unictype/test-pr_ideographic.c: Regenerated.
45852         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45853         * tests/unictype/test-pr_lowercase.c: Regenerated.
45854         * tests/unictype/test-pr_math.c: Regenerated.
45855         * tests/unictype/test-pr_numeric.c: Regenerated.
45856         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45857         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45858         Regenerated.
45859         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45860         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45861         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45862         * tests/unictype/test-pr_other_math.c: Regenerated.
45863         * tests/unictype/test-pr_punctuation.c: Regenerated.
45864         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45865         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45866         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45867         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45868         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45869         * tests/unictype/test-pr_uppercase.c: Regenerated.
45870         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45871         * tests/unictype/test-pr_xid_start.c: Regenerated.
45872         * tests/unictype/test-pr_zero_width.c: Regenerated.
45873
45874         Update to Unicode 5.1.0.
45875         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45876         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45877         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45878         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45879         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45880         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45881         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45882         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45883         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45884         (nonspacing_table_ind): Update.
45885         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45886
45887         Update to Unicode 5.1.0.
45888         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45889         code transform.
45890         * lib/uniname/uniname.c (unicode_character_name,
45891         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45892         * lib/uniname/uninames.h: Regenerated.
45893         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45894
45895 2009-02-07  Bruno Haible  <bruno@clisp.org>
45896
45897         Merge gen-ctype and gen-lbrk into a single program.
45898         * lib/gen-uni-tables.c: New file, incorporating
45899         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45900         Add directory prefixes to the names of the generated files.
45901         * lib/unictype/gen-ctype.c: Remove file.
45902         * lib/unilbrk/gen-lbrk.c: Remove file.
45903         * modules/gen-uni-tables: New file.
45904         * modules/unictype/gen-ctype: Remove file.
45905         * modules/unilbrk/gen-lbrk: Remove file.
45906
45907 2009-02-07  Bruno Haible  <bruno@clisp.org>
45908
45909         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45910
45911         New module 'unistr/u32-strcoll'.
45912         * modules/unistr/u32-strcoll: New file.
45913         * lib/unistr/u32-strcoll.c: New file.
45914
45915         New module 'unistr/u16-strcoll'.
45916         * modules/unistr/u16-strcoll: New file.
45917         * lib/unistr/u16-strcoll.c: New file.
45918
45919         New module 'unistr/u8-strcoll'.
45920         * modules/unistr/u8-strcoll: New file.
45921         * lib/unistr/u8-strcoll.c: New file.
45922         * lib/unistr/u-strcoll.h: New file.
45923
45924 2009-02-07  Bruno Haible  <bruno@clisp.org>
45925
45926         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45927         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45928         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45929         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45930         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45931         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45932
45933 2009-02-07  Bruno Haible  <bruno@clisp.org>
45934
45935         Make 64-bit clean.
45936         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45937         output_combclass, output_bidi_category, output_decimal_digit,
45938         output_digit, output_numeric, output_mirror, output_scripts,
45939         output_ident_category): Use proper width specifier in format strings.
45940
45941 2009-02-07  Bruno Haible  <bruno@clisp.org>
45942
45943         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45944         failure behaviour.
45945
45946 2009-02-07  Jim Meyering  <meyering@redhat.com>
45947
45948         regex: avoid compilation failure with upcoming gcc-4.4
45949         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45950         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45951         "... error: integer overflow in preprocessor expression".
45952
45953 2009-02-05  Ben Pfaff  <blp@gnu.org>
45954
45955         Fix link errors on Windows when close module is used.
45956         * modules/close: Add $(LIB_CLOSE) to Link section.
45957         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45958         $(LIB_CLOSE) on Windows.
45959
45960 2009-02-05  Jim Meyering  <meyering@redhat.com>
45961
45962         still avoid unused-parameter warnings, but do it cleanly
45963         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45964         (get_fs_usage): Cast to void instead.
45965         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45966         (dev_from_mount_options, read_file_system_list): Cast to void.
45967         Prompted by Bruno Haible.
45968
45969 2009-02-04  Jim Meyering  <meyering@redhat.com>
45970
45971         fsusage.c: correct copyright year
45972         * lib/fsusage.c: Reflect year in which the change is pushed into
45973
45974         avoid misc. warnings
45975         * lib/fsusage.c (UNUSED_PARAM): Define.
45976         (get_fs_usage): Mark parameter "disk" as unused.
45977         * lib/getugroups.c (getgrent): Use "void" in prototype.
45978         * lib/mountlist.c: Mark unused parameters.
45979         (read_file_system_list): Declare a local with "const".
45980         * lib/nanosleep.c (getnow): Declare static.
45981         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45982
45983         dirfd: set errno upon failure
45984         * lib/dirfd.c: Include <errno.h>.
45985         Set errno to ENOTSUP when returning -1.
45986         * modules/dirfd (Depends-on): Add errno.
45987         Suggested by John Kodis <kodis@comcast.net>.
45988
45989 2009-02-01  Bruno Haible  <bruno@clisp.org>
45990
45991         Don't assume sizeof (long) >= sizeof (void *).
45992         * lib/memcmp.c: Include stdint.h.
45993         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45994         srcp2 to 'const byte *'.
45995         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45996         types to uintptr_t.
45997         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45998         * modules/memcmp (Depends-on): Add stdint.
45999         Reported by Ozkan Sezer <sezeroz@gmail.com>.
46000
46001 2009-01-30  Eric Blake  <ebb9@byu.net>
46002
46003         fix more require-before-expand issues
46004         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
46005         expand, AC_PROG_AWK.
46006         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
46007
46008 2009-01-28  Eric Blake  <ebb9@byu.net>
46009
46010         version-etc: use consistent URL formatting
46011         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
46012         Improve formatting.  Use fputs for string without %.
46013
46014 2009-01-28  Jim Meyering  <meyering@redhat.com>
46015
46016         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
46017         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
46018         "underquoted definition of NAME" from autoconf-2.59.
46019
46020 2009-01-28  Bruno Haible  <bruno@clisp.org>
46021
46022         * doc/gnulib.texi: Add "Obsolete modules" to index.
46023
46024 2009-01-28  Jim Meyering  <meyering@redhat.com>
46025
46026         useless-if-before-free: recognize more variants
46027         * build-aux/useless-if-before-free: Also recognize e.g.,
46028         if (NULL != p) free (p);
46029
46030 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
46031
46032         test-getaddrinfo: skip (don't fail) this test when there's no network
46033         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
46034         on the presumption that it means you lack network access.
46035
46036 2009-01-26  Jim Meyering  <meyering@redhat.com>
46037
46038         fflush: avoid warnings on modern systems
46039         * lib/fflush.c (rpl_fflush): Move declarations of locals,
46040         pos and result, into scopes where they're used.
46041
46042 2009-01-26  Eric Blake  <ebb9@byu.net>
46043
46044         Silence warning reintroduced by recent extensions patch.
46045         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
46046         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
46047         autoconf.
46048
46049         Backport improved autoconf semantics of AC_DEFUN_ONCE.
46050         * m4/00gnulib.m4: New file.
46051         * gnulib-tool (func_get_filelist): Always use it.
46052         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
46053         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
46054
46055 2009-01-25  Bruno Haible  <bruno@clisp.org>
46056
46057         Make test-quotearg work on MacOS X and AIX.
46058         * tests/test-quotearg.sh: New file.
46059         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
46060         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
46061         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
46062         include <libintl.h>.
46063         (fake_locale): Remove variable.
46064         (gettext, dgettext, dcgettext): Remove functions.
46065         (main): Instead of setting a fake locale, set a real locale. Call
46066         textdomain and bindtextdomain.
46067         * modules/quotearg-tests (Files): Add the new files.
46068         (Depends-on): Add gettext, setenv, unsetenv.
46069         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
46070         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
46071         Augment TESTS_ENVIRONMENT.
46072
46073 2009-01-25  Bruno Haible  <bruno@clisp.org>
46074
46075         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
46076         fr_FR.ISO8859-1 locale on MacOS X.
46077         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
46078         ja_JP.eucJP locale on MacOS X.
46079         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
46080         zh_CN.GB18030 locale on MacOS X.
46081
46082 2009-01-25  Bruno Haible  <bruno@clisp.org>
46083
46084         Avoid link errors on MacOS X 10.3.
46085         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
46086         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46087
46088 2009-01-25  Bruno Haible  <bruno@clisp.org>
46089
46090         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46091         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
46092         * modules/pipe (Files): Remove m4/posix_spawn.m4.
46093         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46094         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
46095         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46096         posix_spawnattr_init, posix_spawnattr_setsigmask,
46097         posix_spawnattr_setflags, posix_spawnattr_destroy.
46098
46099         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
46100         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
46101         * modules/execute (Files): Remove m4/posix_spawn.m4.
46102         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
46103         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
46104         posix_spawnattr_init, posix_spawnattr_setsigmask,
46105         posix_spawnattr_setflags, posix_spawnattr_destroy.
46106
46107 2009-01-25  Bruno Haible  <bruno@clisp.org>
46108
46109         * lib/glthread/threadlib.c: Include <stdlib.h>.
46110
46111 2009-01-25  Bruno Haible  <bruno@clisp.org>
46112
46113         * lib/glthread/threadlib.c (dummy): New declaration.
46114
46115 2009-01-25  Bruno Haible  <bruno@clisp.org>
46116
46117         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
46118         multibyte characters also for the GB18030 encoding. Don't crash when
46119         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
46120
46121 2009-01-25  Bruno Haible  <bruno@clisp.org>
46122
46123         Avoid redefining 'struct random_data' on OSF/1 5.1.
46124         * lib/stdlib.in.h: Include <random.h> if it exists.
46125         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
46126         HAVE_RANDOM_H. Include <random.h> when testing whether
46127         'struct random_data' exists.
46128         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
46129
46130 2009-01-25  Bruno Haible  <bruno@clisp.org>
46131
46132         Don't install charset.alias on MacOS X >= 10.3.
46133         * lib/localcharset.c (DARWIN7): New macro.
46134         (get_charset_aliases): Hardcode the result for Darwin7.
46135         * modules/localcharset (install-exec-local): Don't install
46136         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
46137
46138 2009-01-25  Bruno Haible  <bruno@clisp.org>
46139
46140         Don't install charset.alias on mingw and Cygwin.
46141         * modules/localcharset (install-exec-local): Don't install
46142         charset.alias on mingw and Cygwin, if the file does not yet exist.
46143         The result for these platforms is hardcoded in localcharset.c.
46144
46145 2009-01-25  Bruno Haible  <bruno@clisp.org>
46146
46147         Make it possible again to use AC_GNU_SOURCE together with gnulib.
46148         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
46149         before requiring AC_USE_SYSTEM_EXTENSIONS.
46150
46151 2009-01-25  Jim Meyering  <meyering@redhat.com>
46152
46153         c-strtod: avoid warnings
46154         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
46155         "assignment discards qualifiers from pointer target type" warnings.
46156
46157 2009-01-24  Bruno Haible  <bruno@clisp.org>
46158
46159         Add support for non-UTF-8 locales on MacOS X.
46160         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
46161         canonical encodings. For Darwin 7 and newer, don't map traditional
46162         encodings to UTF-8.
46163         Reported by Vincent Lefevre <vincent@vinc17.org>
46164         at <http://savannah.gnu.org/bugs/?25235>.
46165
46166 2009-01-24  Bruno Haible  <bruno@clisp.org>
46167
46168         * doc/gnulib.texi (Obsolete modules): New section.
46169         Reported by Mike Frysinger <vapier@gentoo.org>.
46170
46171 2009-01-24  Bruno Haible  <bruno@clisp.org>
46172
46173         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
46174         (%.dvi): New rule.
46175
46176 2009-01-24  Bruno Haible  <bruno@clisp.org>
46177
46178         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
46179         Reported by Eric Blake.
46180
46181 2009-01-24  Bruno Haible  <bruno@clisp.org>
46182
46183         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
46184         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
46185         Reported by Gary V. Vaughan <gary@gnu.org>.
46186
46187 2009-01-24  Bruno Haible  <bruno@clisp.org>
46188
46189         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
46190
46191 2009-01-23  Bruno Haible  <bruno@clisp.org>
46192
46193         Make c-strtod, c-strtold usable in libraries.
46194         * lib/c-strtod.c: Include string.h instead of xalloc.h.
46195         (C_STRTOD): Call strdup instead of xstrdup.
46196         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
46197         * modules/c-strtold (Depends-on): Likewise.
46198         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
46199         * NEWS: Mention the change.
46200         Reported by Michael Gold <mgold@ncf.ca>.
46201
46202 2009-01-23  Jim Meyering  <meyering@redhat.com>
46203
46204         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
46205         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
46206         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
46207
46208 2009-01-23  Simon Josefsson  <simon@josefsson.org>
46209
46210         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
46211         GNU CoreUtils.
46212         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
46213         * modules/version-etc (Description): Update.
46214
46215 2009-01-22  Bruno Haible  <bruno@clisp.org>
46216
46217         Cache the C locale object.
46218         * lib/c-strtod.c (c_locale_cache): New variable.
46219         (c_locale): New function.
46220         (C_STRTOD): Use it, and don't call freelocale.
46221         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
46222         Suggested by Paolo Bonzini.
46223
46224 2009-01-21  Bruno Haible  <bruno@clisp.org>
46225
46226         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
46227         conditions other than overflow.
46228
46229 2009-01-21  Bruno Haible  <bruno@clisp.org>
46230
46231         * lib/c-strtod.c: Include errno.h.
46232         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
46233         value from STRTOD_L and STRTOD.
46234
46235 2009-01-21  Bruno Haible  <bruno@clisp.org>
46236         and Jim Meyering  <meyering@redhat.com>
46237
46238         nanosleep: skip configure test (fail it) for apple universal builds
46239         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
46240         universal builds, assume that nanosleep does not work.
46241         * modules/nanosleep (Depends-on): Add multiarch.
46242
46243         mktime: skip configure test (fail it) for apple universal builds
46244         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
46245         universal builds, assume that mktime does not work.
46246         * modules/mktime (Depends-on): Add multiarch.
46247
46248 2009-01-21  Eric Blake  <ebb9@byu.net>
46249
46250         multiarch: avoid expand-before-require warning
46251         * modules/multiarch (configure.ac): Require, rather than expand,
46252         gl_MULTIARCH.
46253         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
46254         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
46255         enforce that all clients require it.  Partial reversion of
46256         2008-12-29 patch.
46257
46258         error: avoid expand-before-require warning
46259         * modules/errno (configure.ac): Require, rather than expand,
46260         gl_HEADER_ERRNO_H.
46261         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
46262         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
46263         enforce that all clients require it.
46264
46265         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
46266         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
46267         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
46268         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
46269
46270 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
46271
46272         Revert:
46273         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46274
46275         regex: do not depend on obsolete modules.
46276         * modules/regex: Remove memcmp and memmove.
46277
46278 2009-01-20  Bruno Haible  <bruno@clisp.org>
46279
46280         Make the 'link' module link on Windows NT 4.
46281         * lib/link.c (_WIN32_WINNT): Don't define.
46282         (CreateHardLinkFuncType): New type.
46283         (CreateHardLinkFunc, initialized): New variables.
46284         (initialize): New function.
46285         (link): Invoke CreateHardLink indirectly through the function pointer.
46286
46287 2009-01-20  Bruno Haible  <bruno@clisp.org>
46288
46289         Fix compilation failure on mingw.
46290         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
46291
46292 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
46293
46294         * doc/c-strtod.texi: Mention a couple of restrictions.
46295
46296 2009-01-20  Jim Meyering  <meyering@redhat.com>
46297
46298         gettimeofday: move more declarations out of functions
46299         * lib/gettimeofday.c: Move extern declarations of tzset and
46300         gmtime out of containing functions.  Prompted by Bruno Haible.
46301
46302 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
46303
46304         regex: do not depend on obsolete modules.
46305         * modules/regex: Remove memcmp and memmove.
46306
46307 2009-01-19  Bruno Haible  <bruno@clisp.org>
46308
46309         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46310         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
46311         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46312         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
46313         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
46314
46315 2009-01-19  Bruno Haible  <bruno@clisp.org>
46316
46317         * tests/test-link.c: Include <errno.h>.
46318         (main): Exit with code 77 when a hard link cannot be created due to
46319         the file system.
46320         * tests/test-link.sh: Skip test when a hard link cannot be created due
46321         to the file system.
46322         Suggested by Eric Blake.
46323
46324 2009-01-19  Martin Lambers  <marlam@marlam.de>
46325
46326         * modules/link-tests: New file.
46327         * tests/test-link.sh: New file.
46328         * tests/test-link.c: New file.
46329
46330 2009-01-19  Eric Blake  <ebb9@byu.net>
46331
46332         doc: mention another function added in cygwin 1.7.0
46333         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
46334         Another new function in cygwin 1.7.
46335
46336 2009-01-19  Bruno Haible  <bruno@clisp.org>
46337
46338         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
46339         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
46340         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
46341         gl_BIGENDIAN, not AC_C_BIGENDIAN.
46342         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46343         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
46344         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46345         * m4/md4.m4 (gl_MD4): Likewise.
46346         * m4/md5.m4 (gl_MD5): Likewise.
46347         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
46348         * m4/sha1.m4 (gl_SHA1): Likewise.
46349         * m4/sha256.m4 (gl_SHA256): Likewise.
46350         * m4/sha512.m4 (gl_SHA512): Likewise.
46351
46352 2009-01-19  Bruno Haible  <bruno@clisp.org>
46353
46354         * modules/uniname/uniname-tests (Depends-on): Add progname.
46355         * tests/uniname/test-uninames.c: Include progname.h.
46356         (main): Call set_program_name.
46357
46358         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
46359         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
46360         (main): Call set_program_name.
46361
46362         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
46363         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
46364         (main): Call set_program_name.
46365
46366         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
46367         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
46368         (main): Call set_program_name.
46369
46370         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
46371         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
46372         (main): Call set_program_name.
46373
46374         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
46375         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
46376         (main): Call set_program_name.
46377
46378         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
46379         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
46380         (main): Call set_program_name.
46381
46382         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
46383         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
46384         (main): Call set_program_name.
46385
46386         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
46387         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
46388         (main): Call set_program_name.
46389
46390 2009-01-19  Eric Blake  <ebb9@byu.net>
46391
46392         test-unistd: test previous patch
46393         * tests/test-unistd.c: Test *_FILENO macros.
46394
46395         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
46396         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46397         Guarantee a definition.
46398         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
46399         * modules/unistd-safer (Depends-on): Add dependency on unistd.
46400         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
46401         * lib/dup-safer.c (STDERR_FILENO): Likewise.
46402         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46403         Likewise.
46404         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
46405         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
46406         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
46407         Likewise.
46408         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
46409         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
46410         (STDERR_FILENO): Likewise.
46411         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
46412         (STDERR_FILENO): Likewise.
46413         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
46414         (STDERR_FILENO): Likewise.
46415         Reported by Elbert Pol.
46416
46417 2009-01-19  Eric Blake  <ebb9@byu.net>
46418
46419         doc: mention more functions added in cygwin 1.7.0
46420         * doc/posix-functions/abort.texi (abort): Update wording related
46421         to cygwin.
46422         * doc/posix-functions/daylight.texi (daylight): Likewise.
46423         * doc/posix-functions/optarg.texi (optarg): Likewise.
46424         * doc/posix-functions/optarg.texi (opterr): Likewise.
46425         * doc/posix-functions/optarg.texi (optind): Likewise.
46426         * doc/posix-functions/optarg.texi (optopt): Likewise.
46427         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
46428         worked in 1.5.x, and was withdrawn in 1.7.
46429         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
46430         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
46431         cygwin versions.
46432         * doc/posix-functions/perror.texi (perror): Likewise.
46433         * doc/posix-functions/printf.texi (printf): Likewise.
46434         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
46435         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
46436         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
46437         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
46438         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46439         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
46440         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46441         Likewise.
46442         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46443         Likewise.
46444         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46445         this function.
46446         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46447         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46448         Likewise.
46449         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46450         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46451         * doc/posix-functions/confstr.texi (confstr): Likewise.
46452         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46453         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46454         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46455         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46456         * doc/posix-functions/fputws.texi (fputws): Likewise.
46457         * doc/posix-functions/fwide.texi (fwide): Likewise.
46458         * doc/posix-functions/getwc.texi (getwc): Likewise.
46459         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46460         * doc/posix-functions/putwc.texi (putwc): Likewise.
46461         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46462         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46463         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46464         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46465         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46466         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46467         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46468         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46469         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46470         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46471         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46472
46473 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46474
46475         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46476         * lib/ioctl.c: Include <sys/ioctl.h>.
46477
46478 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46479
46480         * modules/getdate-tests (Depends-on): Add progname.
46481         * tests/test-getdate.c: Use progname module, to avoid link errors
46482         on non-glibc systems.
46483
46484 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46485
46486         * modules/filenamecat-tests (Depends-on): Add progname.
46487         * modules/fstrcmp-tests (Depends-on): Likewise.
46488
46489         * tests/test-filenamecat.c: Use progname module, to avoid link
46490         errors on non-glibc systems.
46491         * tests/test-fstrcmp.c: Likewise.
46492
46493 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46494
46495         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46496         * lib/gettimeofday.c: Move extern declaration out of function.
46497
46498 2009-01-18  Bruno Haible  <bruno@clisp.org>
46499
46500         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46501         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46502         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46503
46504 2009-01-18  Bruno Haible  <bruno@clisp.org>
46505
46506         * lib/strftime.c (MEMPCPY): Remove unused macro.
46507         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46508
46509 2009-01-18  Martin Lambers  <marlam@marlam.de>
46510
46511         New module 'link'.
46512         * lib/unistd.in.h (link): New declaration.
46513         * lib/link.c: New file.
46514         * m4/link.m4: New file.
46515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46516         HAVE_LINK.
46517         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46518         * modules/link: New file.
46519         * doc/posix-functions/link.texi: Mention the new module.
46520
46521 2009-01-18  Bruno Haible  <bruno@clisp.org>
46522
46523         * tests/test-avltree_list.c (main): Call set_program_name.
46524         * tests/test-avltree_oset.c (main): Likewise.
46525         * tests/test-obstack-printf.c: Include progname.h.
46526         (main): Call set_program_name.
46527         * tests/test-quotearg.c: Include progname.h.
46528         (main): Call set_program_name.
46529         * tests/test-xmemdup0.c: Include progname.h.
46530         (main): Call set_program_name.
46531
46532 2009-01-18  Bruno Haible  <bruno@clisp.org>
46533
46534         New module 'alphasort'.
46535         * lib/dirent.in.h (alphasort): New declaration.
46536         * lib/alphasort.c: New file, from glibc with modifications.
46537         * m4/alphasort.m4: New file.
46538         * modules/alphasort: New file.
46539         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46540         HAVE_ALPHASORT.
46541         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46542         HAVE_ALPHASORT.
46543         * doc/posix-functions/alphasort.texi: Mention the new module and the
46544         portability problems.
46545
46546 2009-01-18  Bruno Haible  <bruno@clisp.org>
46547
46548         New module 'scandir'.
46549         * lib/dirent.in.h (scandir): New declaration.
46550         * lib/scandir.c: New file, from glibc with modifications.
46551         * m4/scandir.m4: New file.
46552         * modules/scandir: New file.
46553         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46554         HAVE_SCANDIR.
46555         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46556         HAVE_SCANDIR.
46557         * doc/posix-functions/scandir.texi: Mention the new module and the
46558         portability problems.
46559
46560 2009-01-17  Bruno Haible  <bruno@clisp.org>
46561
46562         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46563         Update documentation.
46564         (func_remove_suffix): Escape all dots in the suffix. Update
46565         documentation.
46566         (func_filter_filelist): Update documentation.
46567         Reported by Ralf Wildenhues.
46568
46569 2009-01-17  Bruno Haible  <bruno@clisp.org>
46570
46571         * modules/dprintf-posix-tests: New file.
46572         * tests/test-dprintf-posix.sh: New file.
46573         * tests/test-dprintf-posix.c: New file.
46574
46575         New modules 'dprintf', 'dprintf-posix'.
46576         * lib/stdio.in.h (dprintf): New declaration.
46577         * lib/dprintf.c: New file.
46578         * m4/dprintf.m4: New file.
46579         * m4/dprintf-posix.m4: New file.
46580         * modules/dprintf: New file.
46581         * modules/dprintf-posix: New file.
46582         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46583         HAVE_DPRINTF, REPLACE_DPRINTF.
46584         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46585         HAVE_DPRINTF, REPLACE_DPRINTF.
46586         * doc/posix-functions/dprintf.texi: Mention the new modules.
46587
46588 2009-01-17  Bruno Haible  <bruno@clisp.org>
46589
46590         * modules/vdprintf-posix-tests: New file.
46591         * tests/test-vdprintf-posix.sh: New file.
46592         * tests/test-vdprintf-posix.c: New file.
46593
46594         New modules 'vdprintf', 'vdprintf-posix'.
46595         * lib/stdio.in.h (vdprintf): New declaration.
46596         * lib/vdprintf.c: New file.
46597         * m4/vdprintf.m4: New file.
46598         * m4/vdprintf-posix.m4: New file.
46599         * modules/vdprintf: New file.
46600         * modules/vdprintf-posix: New file.
46601         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46602         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46603         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46604         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46605         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46606
46607 2009-01-17  Bruno Haible  <bruno@clisp.org>
46608
46609         Fix replacement of fopen on mingw.
46610         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46611         mingw.
46612
46613 2009-01-17  Bruno Haible  <bruno@clisp.org>
46614
46615         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46616         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46617
46618 2009-01-17  Bruno Haible  <bruno@clisp.org>
46619
46620         Avoid test-fflush2.sh failure on mingw.
46621         * tests/test-fflush2.c: Include binary-io.h.
46622         (main): Put standard input into binary mode.
46623         * modules/fflush-tests (Depends-on): Add binary-io.
46624
46625 2009-01-17  Bruno Haible  <bruno@clisp.org>
46626
46627         * lib/wchar.in.h: In another particular situation, include only the
46628         system's <wchar.h> file.
46629         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46630         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46631         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46632
46633 2009-01-17  Bruno Haible  <bruno@clisp.org>
46634
46635         Support for stripping executables in --enable-relocatable.
46636         * build-aux/install-reloc: Expect one more argument, or an environment
46637         variable RELOC_STRIP_PROG. If set, strip the destination program and
46638         its wrapper.
46639         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46640         RELOC_STRIP_PROG.
46641         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46642         to set RELOCATABLE_STRIP.
46643         * NEWS: Mention the new Makefile requirement.
46644
46645 2009-01-17  Bruno Haible  <bruno@clisp.org>
46646
46647         * build-aux/install-reloc: Remove debugging information left over by
46648         C compiler on MacOS X.
46649
46650 2009-01-17  Bruno Haible  <bruno@clisp.org>
46651
46652         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46653         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46654         _NSGetExecutablePath.
46655
46656 2009-01-16  Jim Meyering  <meyering@redhat.com>
46657
46658         strerror: avoid warnings about discarding "const"
46659         * lib/strerror.c (rpl_strerror): Instead of returning a const
46660         string from each and every "case", use a variable, and add a single
46661         cast after the switch.
46662
46663 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46664
46665         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46666
46667 2009-01-16  Bruno Haible  <bruno@clisp.org>
46668
46669         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46670         array initializer syntax that also works in C++ mode.
46671         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46672
46673 2009-01-16  Jim Meyering  <meyering@redhat.com>
46674
46675         poll: suppress a warning
46676         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46677         to ignore "...unsigned expression < 0 is always false" warnings.
46678
46679 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46680
46681         poll: remove declarations of unused variables
46682         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46683         sockbuf and optlen.
46684
46685 2009-01-15  Bruno Haible  <bruno@clisp.org>
46686
46687         Make fflush-after-ungetc POSIX compliant on BSD systems.
46688         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46689         (clear_ungetc_buffer): Implement also for other systems.
46690         (rpl_fflush): On glibc systems, invoke
46691         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46692         clear_ungetc_buffer after fetching the stream's position, not before.
46693
46694 2009-01-15  Bruno Haible  <bruno@clisp.org>
46695
46696         Make fflush-after-ungetc POSIX compliant on glibc systems.
46697         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46698         after ungetc.
46699         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46700         (rpl_fflush): On glibc systems, simply call the system's fflush
46701         function after clearing the ungetc buffer.
46702         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46703         Instead, lseek only to the end of file, then use the system's fseeko
46704         for the rest. On glibc systems, reset the EOF indicator bit.
46705
46706 2009-01-15  Jim Meyering  <meyering@redhat.com>
46707
46708         openmp.m4: revert quote-adding change, for portability to older autoconf
46709         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46710         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46711         Simon Josefsson noticed the problem when using autoconf-2.61.
46712
46713 2009-01-15  Bruno Haible  <bruno@clisp.org>
46714
46715         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46716         * tests/test-fflush2.c (ASSERT): Always fail.
46717         (main): Add two tests for fflush() after ungetc(), taking into account
46718         the Austin Group's clarification.
46719         Suggested by Eric Blake.
46720
46721 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46722
46723         mktime.m4: remove K&R-style function prototypes
46724         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46725         for the Sun C++ compiler.
46726
46727 2009-01-14  Bruno Haible  <bruno@clisp.org>
46728
46729         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46730         while including <wchar.h>.
46731         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46732         the system's <wchar.h> file.
46733         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46734
46735 2009-01-14  Bruno Haible  <bruno@clisp.org>
46736
46737         * m4/csharp.m4: Don't mention gettext on the serial number line.
46738         * m4/csharpexec.m4: Likewise.
46739         * m4/eaccess.m4: Likewise.
46740         * m4/javaexec.m4: Likewise.
46741         * m4/sig_atomic_t.m4: Likewise.
46742         * m4/tmpdir.m4: Likewise.
46743         * m4/intldir.m4: Bump gettext version.
46744         * m4/lib-ld.m4: Likewise.
46745
46746 2009-01-14  Bruno Haible  <bruno@clisp.org>
46747
46748         * lib/progname.c (set_program_name): Add more comments.
46749         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46750
46751 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46752
46753         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46754         were sys/stat.h does not define it.
46755
46756 2009-01-14  Jim Meyering  <meyering@redhat.com>
46757
46758         many *.m4 files: improve m4 quoting
46759         99% of this change was performed by running the following commands:
46760         git ls-files | grep '\.m4$' | xargs perl -pi \
46761           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46762           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46763           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46764           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46765         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46766         The remainder were to add Copyright dates, increment serial numbers,
46767         undo some changes in comments, exclude m4/intl.m4, and add quotes
46768         around the "1" in ",1" where the unusual spacing prohibited the
46769         above regexps from doing the job.  For more details, see
46770         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46771         * m4/acl.m4: Modified.
46772         * m4/afs.m4: Likewise.
46773         * m4/alloca.m4: Likewise.
46774         * m4/argp.m4: Likewise.
46775         * m4/argz.m4: Likewise.
46776         * m4/atexit.m4: Likewise.
46777         * m4/bison-i18n.m4: Likewise.
46778         * m4/bison.m4: Likewise.
46779         * m4/byteswap.m4: Likewise.
46780         * m4/c-stack.m4: Likewise.
46781         * m4/c-strtod.m4: Likewise.
46782         * m4/calloc.m4: Likewise.
46783         * m4/canonicalize-lgpl.m4: Likewise.
46784         * m4/chown.m4: Likewise.
46785         * m4/clock_time.m4: Likewise.
46786         * m4/codeset.m4: Likewise.
46787         * m4/copy-file.m4: Likewise.
46788         * m4/csharp.m4: Likewise.
46789         * m4/csharpcomp.m4: Likewise.
46790         * m4/csharpexec.m4: Likewise.
46791         * m4/d-ino.m4: Likewise.
46792         * m4/d-type.m4: Likewise.
46793         * m4/dirfd.m4: Likewise.
46794         * m4/double-slash-root.m4: Likewise.
46795         * m4/eaccess.m4: Likewise.
46796         * m4/eealloc.m4: Likewise.
46797         * m4/environ.m4: Likewise.
46798         * m4/errno_h.m4: Likewise.
46799         * m4/euidaccess.m4: Likewise.
46800         * m4/execute.m4: Likewise.
46801         * m4/fatal-signal.m4: Likewise.
46802         * m4/fchdir.m4: Likewise.
46803         * m4/fcntl_h.m4: Likewise.
46804         * m4/fileblocks.m4: Likewise.
46805         * m4/filenamecat.m4: Likewise.
46806         * m4/findprog.m4: Likewise.
46807         * m4/flexmember.m4: Likewise.
46808         * m4/fnmatch.m4: Likewise.
46809         * m4/fopen.m4: Likewise.
46810         * m4/fpending.m4: Likewise.
46811         * m4/fprintf-posix.m4: Likewise.
46812         * m4/free.m4: Likewise.
46813         * m4/frexp.m4: Likewise.
46814         * m4/frexpl.m4: Likewise.
46815         * m4/fsusage.m4: Likewise.
46816         * m4/ftruncate.m4: Likewise.
46817         * m4/gc-camellia.m4: Likewise.
46818         * m4/gc-random.m4: Likewise.
46819         * m4/gc.m4: Likewise.
46820         * m4/getaddrinfo.m4: Likewise.
46821         * m4/getcwd-abort-bug.m4: Likewise.
46822         * m4/getcwd-path-max.m4: Likewise.
46823         * m4/getdate.m4: Likewise.
46824         * m4/getdomainname.m4: Likewise.
46825         * m4/getgroups.m4: Likewise.
46826         * m4/gethostname.m4: Likewise.
46827         * m4/gethrxtime.m4: Likewise.
46828         * m4/getline.m4: Likewise.
46829         * m4/getloadavg.m4: Likewise.
46830         * m4/getndelim2.m4: Likewise.
46831         * m4/getpass.m4: Likewise.
46832         * m4/gettext.m4: Likewise.
46833         * m4/gettime.m4: Likewise.
46834         * m4/gettimeofday.m4: Likewise.
46835         * m4/gnulib-common.m4: Likewise.
46836         * m4/group-member.m4: Likewise.
46837         * m4/host-os.m4: Likewise.
46838         * m4/iconv.m4: Likewise.
46839         * m4/iconv_open.m4: Likewise.
46840         * m4/inet_ntop.m4: Likewise.
46841         * m4/inet_pton.m4: Likewise.
46842         * m4/inline.m4: Likewise.
46843         * m4/intldir.m4: Likewise.
46844         * m4/intlmacosx.m4: Likewise.
46845         * m4/intmax.m4: Likewise.
46846         * m4/intmax_t.m4: Likewise.
46847         * m4/inttypes.m4: Likewise.
46848         * m4/inttypes_h.m4: Likewise.
46849         * m4/inttypes-pri.m4: Likewise.
46850         * m4/isapipe.m4: Likewise.
46851         * m4/isnand.m4: Likewise.
46852         * m4/isnanf.m4: Likewise.
46853         * m4/isnanl.m4: Likewise.
46854         * m4/javacomp.m4: Likewise.
46855         * m4/javaexec.m4: Likewise.
46856         * m4/jm-winsz1.m4: Likewise.
46857         * m4/jm-winsz2.m4: Likewise.
46858         * m4/lchown.m4: Likewise.
46859         * m4/lcmessage.m4: Likewise.
46860         * m4/ldexpl.m4: Likewise.
46861         * m4/lib-ld.m4: Likewise.
46862         * m4/lib-link.m4: Likewise.
46863         * m4/libsigsegv.m4: Likewise.
46864         * m4/link-follow.m4: Likewise.
46865         * m4/localcharset.m4: Likewise.
46866         * m4/locale-fr.m4: Likewise.
46867         * m4/locale-ja.m4: Likewise.
46868         * m4/locale-tr.m4: Likewise.
46869         * m4/locale-zh.m4: Likewise.
46870         * m4/lock.m4: Likewise.
46871         * m4/longlong.m4: Likewise.
46872         * m4/ls-mntd-fs.m4: Likewise.
46873         * m4/lstat.m4: Likewise.
46874         * m4/malloc.m4: Likewise.
46875         * m4/mathl.m4: Likewise.
46876         * m4/mbrtowc.m4: Likewise.
46877         * m4/mbstate_t.m4: Likewise.
46878         * m4/mbswidth.m4: Likewise.
46879         * m4/memchr.m4: Likewise.
46880         * m4/memcmp.m4: Likewise.
46881         * m4/memcpy.m4: Likewise.
46882         * m4/memmem.m4: Likewise.
46883         * m4/memmove.m4: Likewise.
46884         * m4/mempcpy.m4: Likewise.
46885         * m4/memrchr.m4: Likewise.
46886         * m4/memset.m4: Likewise.
46887         * m4/minmax.m4: Likewise.
46888         * m4/mkdir-slash.m4: Likewise.
46889         * m4/mkdtemp.m4: Likewise.
46890         * m4/mktime.m4: Likewise.
46891         * m4/mmap-anon.m4: Likewise.
46892         * m4/mountlist.m4: Likewise.
46893         * m4/nanosleep.m4: Likewise.
46894         * m4/nls.m4: Likewise.
46895         * m4/nocrash.m4: Likewise.
46896         * m4/open.m4: Likewise.
46897         * m4/openat.m4: Likewise.
46898         * m4/openmp.m4: Likewise.
46899         * m4/pathmax.m4: Likewise.
46900         * m4/perl.m4: Likewise.
46901         * m4/physmem.m4: Likewise.
46902         * m4/pipe.m4: Likewise.
46903         * m4/po.m4: Likewise.
46904         * m4/poll.m4: Likewise.
46905         * m4/posixtm.m4: Likewise.
46906         * m4/posixver.m4: Likewise.
46907         * m4/printf-frexp.m4: Likewise.
46908         * m4/printf-frexpl.m4: Likewise.
46909         * m4/printf-posix.m4: Likewise.
46910         * m4/printf-posix-rpl.m4: Likewise.
46911         * m4/printf.m4: Likewise.
46912         * m4/progtest.m4: Likewise.
46913         * m4/putenv.m4: Likewise.
46914         * m4/readline.m4: Likewise.
46915         * m4/readlink.m4: Likewise.
46916         * m4/readutmp.m4: Likewise.
46917         * m4/realloc.m4: Likewise.
46918         * m4/regex.m4: Likewise.
46919         * m4/relocatable.m4: Likewise.
46920         * m4/relocatable-lib.m4: Likewise.
46921         * m4/rename-dest-slash.m4: Likewise.
46922         * m4/rename.m4: Likewise.
46923         * m4/rmdir-errno.m4: Likewise.
46924         * m4/rmdir.m4: Likewise.
46925         * m4/roundf.m4: Likewise.
46926         * m4/roundl.m4: Likewise.
46927         * m4/rpmatch.m4: Likewise.
46928         * m4/save-cwd.m4: Likewise.
46929         * m4/selinux-selinux-h.m4: Likewise.
46930         * m4/setenv.m4: Likewise.
46931         * m4/settime.m4: Likewise.
46932         * m4/sig2str.m4: Likewise.
46933         * m4/sig_atomic_t.m4: Likewise.
46934         * m4/signalblocking.m4: Likewise.
46935         * m4/signbit.m4: Likewise.
46936         * m4/sigpipe.m4: Likewise.
46937         * m4/sockets.m4: Likewise.
46938         * m4/sockpfaf.m4: Likewise.
46939         * m4/st_dm_mode.m4: Likewise.
46940         * m4/stat-time.m4: Likewise.
46941         * m4/stdbool.m4: Likewise.
46942         * m4/stdint.m4: Likewise.
46943         * m4/stdint_h.m4: Likewise.
46944         * m4/stpcpy.m4: Likewise.
46945         * m4/stpncpy.m4: Likewise.
46946         * m4/strcase.m4: Likewise.
46947         * m4/strchrnul.m4: Likewise.
46948         * m4/strcspn.m4: Likewise.
46949         * m4/strdup.m4: Likewise.
46950         * m4/strftime.m4: Likewise.
46951         * m4/strndup.m4: Likewise.
46952         * m4/strnlen.m4: Likewise.
46953         * m4/strpbrk.m4: Likewise.
46954         * m4/strptime.m4: Likewise.
46955         * m4/strsep.m4: Likewise.
46956         * m4/strtod.m4: Likewise.
46957         * m4/strtoimax.m4: Likewise.
46958         * m4/strtok_r.m4: Likewise.
46959         * m4/strtol.m4: Likewise.
46960         * m4/strtoll.m4: Likewise.
46961         * m4/strtoul.m4: Likewise.
46962         * m4/strtoull.m4: Likewise.
46963         * m4/strtoumax.m4: Likewise.
46964         * m4/strverscmp.m4: Likewise.
46965         * m4/threadlib.m4: Likewise.
46966         * m4/timegm.m4: Likewise.
46967         * m4/tm_gmtoff.m4: Likewise.
46968         * m4/tmpdir.m4: Likewise.
46969         * m4/tmpfile.m4: Likewise.
46970         * m4/tzset.m4: Likewise.
46971         * m4/uintmax_t.m4: Likewise.
46972         * m4/unlinkdir.m4: Likewise.
46973         * m4/unlocked-io.m4: Likewise.
46974         * m4/uptime.m4: Likewise.
46975         * m4/userspec.m4: Likewise.
46976         * m4/utimbuf.m4: Likewise.
46977         * m4/utime.m4: Likewise.
46978         * m4/utimes-null.m4: Likewise.
46979         * m4/utimes.m4: Likewise.
46980         * m4/vararrays.m4: Likewise.
46981         * m4/vasnprintf.m4: Likewise.
46982         * m4/vfprintf-posix.m4: Likewise.
46983         * m4/vprintf-posix.m4: Likewise.
46984         * m4/wait-process.m4: Likewise.
46985         * m4/wchar_t.m4: Likewise.
46986         * m4/wint_t.m4: Likewise.
46987         * m4/write-any-file.m4: Likewise.
46988         * m4/yield.m4: Likewise.
46989
46990 2009-01-13  Bruno Haible  <bruno@clisp.org>
46991
46992         Avoid test-copy-file.sh failures when ACL support insufficient.
46993         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46994         TESTS_ENVIRONMENT.
46995         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46996         Reported by Jim Meyering.
46997
46998 2009-01-13  Bruno Haible  <bruno@clisp.org>
46999
47000         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
47001         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
47002         * modules/unistdio/u8-printf-parse (Files): Likewise.
47003         * modules/unistdio/u32-printf-parse (Files): Likewise.
47004         * modules/unistdio/ulc-printf-parse (Files): Likewise.
47005
47006 2009-01-13  Simon Josefsson  <simon@josefsson.org>
47007
47008         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
47009         and m4/inttypes_h.m4 too.
47010
47011 2009-01-12  Eric Blake  <ebb9@byu.net>
47012
47013         tests: IRIX 6.2 cc can't compile -0.0 into .data
47014         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
47015         rather than at compile-time.
47016         * tests/test-floorl.c (minus_zero): Likewise.
47017         * tests/test-frexpl.c (minus_zero): Likewise.
47018         * tests/test-isnan.c (minus_zerol): Likewise.
47019         * tests/test-isnanl.h (minus_zero): Likewise.
47020         * tests/test-ldexpl.c (minus_zero): Likewise.
47021         * tests/test-roundl.c (minus_zero): Likewise.
47022         * tests/test-signbit.c (minus_zerol): Likewise.
47023         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
47024         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
47025         * tests/test-truncl.c (minus_zero): Likewise.
47026         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
47027         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
47028         Reported by Tom G. Christensen and Nelson H. F. Beebe.
47029
47030 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47031
47032         regex: fix glibc bug 9697
47033         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
47034         handling.
47035
47036 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47037
47038         regex: fix glibc bug 697
47039         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
47040         being NULL also if there are no backreferences.
47041
47042 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
47043
47044         regex: merge glibc changes
47045         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
47046         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
47047         re_string_skip_chars, re_string_reconstruct): Likewise.
47048         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
47049
47050 2009-01-07  Jim Meyering  <meyering@redhat.com>
47051
47052         poll: filter through cppi
47053         * lib/poll.c: Indent cpp directives to reflect nesting.
47054
47055 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
47056
47057         poll: don't return uninitialized
47058         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
47059
47060 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
47061
47062         avoid compile failure on AIX 6.1
47063         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
47064         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
47065
47066 2009-01-04  Jim Meyering  <meyering@redhat.com>
47067
47068         remove duplicate inclusion of <stdio.h>
47069         * tests/test-fprintf-posix.c: Likewise.
47070         * tests/test-printf-posix.c: Likewise.
47071         * tests/test-snprintf-posix.c: Likewise.
47072         * tests/test-sprintf-posix.c: Likewise.
47073         * tests/test-vasprintf-posix.c: Likewise.
47074         * tests/test-vfprintf-posix.c: Likewise.
47075         * tests/test-vprintf-posix.c: Likewise.
47076         * tests/test-vsnprintf-posix.c: Likewise.
47077         * tests/test-vsprintf-posix.c: Likewise.
47078
47079 2009-01-03  Jim Meyering  <meyering@redhat.com>
47080
47081         gnulib-tool: fix sed-based filtering
47082         * gnulib-tool (func_filter_filelist): Remove extra backslash
47083         in sed_fff_filter definition.
47084
47085 2009-01-02  Jim Meyering  <meyering@redhat.com>
47086
47087         strftime: avoid compilation failure on Solaris 2.6
47088         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
47089         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
47090         Don't #define mbrlen or mbsinit, since now they're guaranteed to
47091         be available.  Reported by Tom G. Christensen.  Details in
47092         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
47093
47094 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47095             Bruno Haible  <bruno@clisp.org>
47096
47097         Speed up gnulib-tool by doing more string processing through shell
47098         built-ins.
47099         * gnulib-tool (fast_func_append): New variable.
47100         (func_remove_prefix, func_remove_suffix): New functions.
47101         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
47102         (func_filter_filelist): New function.
47103         (func_get_dependencies): Use func_remove_suffix instead of sed.
47104         (func_get_automake_snippet): Use func_filter_filelist instead of a
47105         subshell and sed invocation.
47106
47107 2009-01-01  Bruno Haible  <bruno@clisp.org>
47108
47109         Fix a security bug.
47110         * gnulib-tool (func_import, import, update): Don't allow the characters
47111         '"', '$', '`', '\' in macro arguments that become part of commands that
47112         are evaluated.
47113
47114 2009-01-01  Bruno Haible  <bruno@clisp.org>
47115
47116         * gnulib-tool (func_reset_sigpipe): Add more comments.
47117
47118 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47119
47120         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
47121         func_emit_tests_Makefile_am, func_import): Abort loops early if we
47122         already know the answer.
47123
47124 2009-01-01  Jim Meyering  <meyering@redhat.com>
47125
47126         * lib/version-etc.c (version_etc_va): Update copyright year.
47127
47128 2008-12-30  Bruno Haible  <bruno@clisp.org>
47129
47130         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
47131         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
47132         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
47133
47134 2008-12-29  Eric Blake  <ebb9@byu.net>
47135
47136         multiarch: avoid autoconf AC_REQUIRE bug
47137         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
47138         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
47139         2.63 and older.
47140         Reported by Bruno Haible, and analyzed in
47141         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
47142
47143 2008-12-29  Bruno Haible  <bruno@clisp.org>
47144
47145         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
47146         files in subdirectories correctly.
47147         Reported by Ralf Wildenhues.
47148
47149 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47150
47151         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
47152         rather than 'join FILE -', for Solaris join.
47153
47154 2008-12-29  Bruno Haible  <bruno@clisp.org>
47155
47156         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
47157         quoting.
47158         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
47159         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47160         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47161         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
47162         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47163         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
47164         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
47165         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
47166         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
47167         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
47168         * m4/nls.m4 (AM_NLS): Likewise.
47169         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
47170         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
47171         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
47172         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
47173         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
47174         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
47175         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
47176         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
47177         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
47178         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
47179         * m4/xsize.m4 (gl_XSIZE): Likewise.
47180         Suggested by Jim Meyering.
47181
47182 2008-11-17  Bruce Korb  <bkorb@gnu.org>
47183
47184         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
47185         * lib/parse-duration.c: use a switch instead of cascading if's.
47186
47187 2008-12-29  Eric Blake  <ebb9@byu.net>
47188
47189         wchar.h: supply WEOF on Irix 5.3
47190         * lib/wchar.in.h (wint_t): Also supply WEOF.
47191         * lib/wctype.in.h (wint_t): Likewise.
47192         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
47193         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
47194         Reported by Tom G. Christensen.
47195
47196 2008-12-26  Bruno Haible  <bruno@clisp.org>
47197
47198         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
47199         i486, i586, i686.
47200
47201 2008-12-26  Bruno Haible  <bruno@clisp.org>
47202
47203         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
47204
47205 2008-12-26  Bruno Haible  <bruno@clisp.org>
47206
47207         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
47208         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
47209         not __STDC_CONSTANT_MACROS.
47210         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
47211
47212 2008-12-25  Bruno Haible  <bruno@clisp.org>
47213
47214         Add support for universal builds to vasnprintf.
47215         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
47216         universal builds, guess no.
47217         * modules/vasnprintf-posix (Depends-on): Add multiarch.
47218         * modules/vasprintf-posix (Depends-on): Likewise.
47219         * modules/fprintf-posix (Depends-on): Likewise.
47220         * modules/vfprintf-posix (Depends-on): Likewise.
47221         * modules/snprintf-posix (Depends-on): Likewise.
47222         * modules/vsnprintf-posix (Depends-on): Likewise.
47223         * modules/sprintf-posix (Depends-on): Likewise.
47224         * modules/vsprintf-posix (Depends-on): Likewise.
47225         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47226         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47227         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47228         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47229         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47230         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47231         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47232
47233         Add support for universal builds to <inttypes.h>.
47234         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
47235         _SCNu64_PREFIX): In Apple
47236         universal builds, define directly, using _LP64.
47237         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
47238         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
47239         * modules/inttypes (Depends-on): Add multiarch.
47240         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47241
47242         Add support for universal builds to <stdint.h>.
47243         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
47244         universal builds, define directly, using _LP64.
47245         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
47246         Apple universal builds, don't test for the size and suffix of ptrdiff_t
47247         and size_t.
47248         * modules/stdint (Depends-on): Add multiarch.
47249         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
47250
47251         New module 'multiarch'.
47252         * modules/multiarch: New file.
47253         * m4/multiarch.m4: New file.
47254
47255 2008-12-25  Bruno Haible  <bruno@clisp.org>
47256
47257         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
47258
47259 2008-12-25  Bruno Haible  <bruno@clisp.org>
47260
47261         * modules/btowc (License): Relicense under LGPLv2+.
47262         * modules/mbsinit (License): Likewise.
47263         * modules/mbrtowc (License): Likewise.
47264         * modules/wcrtomb (License): Likewise.
47265         * modules/streq (License): Likewise.
47266         Reported by David Lutterkort <lutter@redhat.com>.
47267
47268 2008-12-23  Bruno Haible  <bruno@clisp.org>
47269
47270         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
47271
47272 2008-12-23  Bruno Haible  <bruno@clisp.org>
47273
47274         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
47275         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
47276         GETADDRINFO_LIB, not in LIBS.
47277         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
47278         * modules/canon-host (Link): Likewise.
47279         * NEWS: Mention the change.
47280         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
47281         GETADDRINFO_LIB.
47282
47283 2008-12-22  Bruno Haible  <bruno@clisp.org>
47284
47285         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
47286         * doc/posix-functions/iswalpha_l.texi: Likewise.
47287         * doc/posix-functions/iswblank_l.texi: Likewise.
47288         * doc/posix-functions/iswcntrl_l.texi: Likewise.
47289         * doc/posix-functions/iswctype_l.texi: Likewise.
47290         * doc/posix-functions/iswdigit_l.texi: Likewise.
47291         * doc/posix-functions/iswgraph_l.texi: Likewise.
47292         * doc/posix-functions/iswlower_l.texi: Likewise.
47293         * doc/posix-functions/iswprint_l.texi: Likewise.
47294         * doc/posix-functions/iswpunct_l.texi: Likewise.
47295         * doc/posix-functions/iswspace_l.texi: Likewise.
47296         * doc/posix-functions/iswupper_l.texi: Likewise.
47297         * doc/posix-functions/iswxdigit_l.texi: Likewise.
47298         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
47299         * doc/posix-functions/open_wmemstream.texi: Likewise.
47300         * doc/posix-functions/swscanf.texi: Likewise.
47301         * doc/posix-functions/towctrans_l.texi: Likewise.
47302         * doc/posix-functions/towlower.texi: Likewise.
47303         * doc/posix-functions/towlower_l.texi: Likewise.
47304         * doc/posix-functions/towupper.texi: Likewise.
47305         * doc/posix-functions/towupper_l.texi: Likewise.
47306         * doc/posix-functions/vfwprintf.texi: Likewise.
47307         * doc/posix-functions/vfwscanf.texi: Likewise.
47308         * doc/posix-functions/vswscanf.texi: Likewise.
47309         * doc/posix-functions/vwprintf.texi: Likewise.
47310         * doc/posix-functions/vwscanf.texi: Likewise.
47311         * doc/posix-functions/wcpcpy.texi: Likewise.
47312         * doc/posix-functions/wcpncpy.texi: Likewise.
47313         * doc/posix-functions/wcscasecmp.texi: Likewise.
47314         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
47315         * doc/posix-functions/wcscoll_l.texi: Likewise.
47316         * doc/posix-functions/wcsdup.texi: Likewise.
47317         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47318         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
47319         * doc/posix-functions/wcsnlen.texi: Likewise.
47320         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47321         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
47322         * doc/posix-functions/wctrans_l.texi: Likewise.
47323         * doc/posix-functions/wctype_l.texi: Likewise.
47324         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
47325         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
47326         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
47327         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
47328         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
47329         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
47330         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
47331         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
47332         * doc/glibc-functions/wcschrnul.texi: Likewise.
47333         * doc/glibc-functions/wcsftime_l.texi: Likewise.
47334         * doc/glibc-functions/wcstod_l.texi: Likewise.
47335         * doc/glibc-functions/wcstof_l.texi: Likewise.
47336         * doc/glibc-functions/wcstol_l.texi: Likewise.
47337         * doc/glibc-functions/wcstold_l.texi: Likewise.
47338         * doc/glibc-functions/wcstoll_l.texi: Likewise.
47339         * doc/glibc-functions/wcstoq.texi: Likewise.
47340         * doc/glibc-functions/wcstoul_l.texi: Likewise.
47341         * doc/glibc-functions/wcstoull_l.texi: Likewise.
47342         * doc/glibc-functions/wcstouq.texi: Likewise.
47343         * doc/glibc-functions/wmempcpy.texi: Likewise.
47344
47345 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
47346             Eric Blake  <ebb9@byu.net>
47347             Paolo Bonzini  <bonzini@gnu.org>
47348             Bruno Haible  <bruno@clisp.org>
47349
47350         Make c-stack work on Haiku.
47351         * lib/c-stack.c (SA_ONSTACK): Define fallback.
47352         (c_stack_action): Use SA_ONSTACK flag.
47353
47354 2008-12-22  Bruno Haible  <bruno@clisp.org>
47355
47356         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
47357
47358 2008-12-22  Bruno Haible  <bruno@clisp.org>
47359
47360         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
47361         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
47362         being overridden.
47363         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
47364         New macros.
47365         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
47366         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
47367         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
47368         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
47369
47370 2008-12-22  Bruno Haible  <bruno@clisp.org>
47371
47372         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
47373         from test code.
47374
47375 2008-12-22  Eric Blake  <ebb9@byu.net>
47376
47377         Avoid gcc warnings on cygwin.
47378         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
47379         Avoid unused variable.
47380         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
47381         Likewise.
47382
47383 2008-12-22  Bruno Haible  <bruno@clisp.org>
47384
47385         Remove HAVE_MBRTOWC conditionals.
47386         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
47387         (mbscasecmp): Assume mbrtowc function.
47388         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
47389         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
47390         * lib/mbschr.c: Include mbuiter.h unconditionally.
47391         (mbschr): Assume mbrtowc function.
47392         * lib/mbscspn.c: Include mbuiter.h unconditionally.
47393         (mbscspn): Assume mbrtowc function.
47394         * lib/mbslen.c: Include mbuiter.h unconditionally.
47395         (mbslen): Assume mbrtowc function.
47396         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
47397         (mbsncasecmp): Assume mbrtowc function.
47398         * lib/mbsnlen.c: Include mbiter.h unconditionally.
47399         (mbsnlen): Assume mbrtowc function.
47400         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
47401         (mbspbrk): Assume mbrtowc function.
47402         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
47403         (mbspcasecmp): Assume mbrtowc function.
47404         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
47405         (mbsrchr): Assume mbrtowc function.
47406         * lib/mbssep.c: Include mbuiter.h unconditionally.
47407         (mbssep): Assume mbrtowc function.
47408         * lib/mbsspn.c: Include mbuiter.h unconditionally.
47409         (mbsspn): Assume mbrtowc function.
47410         * lib/mbsstr.c: Include mbuiter.h unconditionally.
47411         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
47412         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
47413         (mbstok_r): Assume mbrtowc function.
47414         * lib/propername.c: Include mbuiter.h unconditionally.
47415         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
47416         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
47417         (trim2): Assume mbrtowc function.
47418         * lib/mbswidth.c (mbsinit): Remove fallback definition.
47419         (mbsnwidth): Assume mbrtowc function.
47420         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
47421         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
47422         fallback definitions.
47423         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
47424
47425 2008-12-22  Bruno Haible  <bruno@clisp.org>
47426
47427         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
47428
47429 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
47430
47431         * modules/regex: Request emulations for the mb*/wc* functions we need.
47432         * m4/regex.m4: Don't look for those functions here.
47433         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
47434
47435 2008-12-22  Bruno Haible  <bruno@clisp.org>
47436
47437         * modules/fnmatch (Depends-on): Remove duplicated dependency.
47438
47439 2008-12-21  Bruno Haible  <bruno@clisp.org>
47440
47441         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47442         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47443         (Include): Remove conditionalization.
47444         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47445         (Include): Remove conditionalization.
47446         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47447         (Include): Remove conditionalization.
47448         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47449         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47450         * NEWS: Mention the change.
47451         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47452         via Sergey Poznyakoff <gray@gnu.org.ua>.
47453
47454 2008-12-21  Bruno Haible  <bruno@clisp.org>
47455
47456         * MODULES.html.sh (Extended multibyte and wide character utilities
47457         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47458         wcrtomb, wcsrtombs.
47459         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47460         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47461         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47462         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47463
47464 2008-12-21  Bruno Haible  <bruno@clisp.org>
47465
47466         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47467
47468 2008-12-21  Bruno Haible  <bruno@clisp.org>
47469
47470         * modules/wcsnrtombs-tests: New file.
47471         * tests/test-wcsnrtombs1.sh: New file.
47472         * tests/test-wcsnrtombs2.sh: New file.
47473         * tests/test-wcsnrtombs3.sh: New file.
47474         * tests/test-wcsnrtombs4.sh: New file.
47475         * tests/test-wcsnrtombs.c: New file.
47476
47477         New module 'wcsnrtombs'.
47478         * lib/wchar.in.h (wcsnrtombs): New declaration.
47479         * lib/wcsnrtombs.c: New file.
47480         * lib/wcsrtombs-state.c: New file.
47481         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47482         (internal_state): Remove variable.
47483         * m4/wcsnrtombs.m4: New file.
47484         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47485         compilation units.
47486         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47487         HAVE_WCSNRTOMBS.
47488         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47489         HAVE_WCSNRTOMBS.
47490         * modules/wcsnrtombs: New file.
47491         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47492         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47493
47494 2008-12-21  Bruno Haible  <bruno@clisp.org>
47495
47496         * modules/wcsrtombs-tests: New file.
47497         * tests/test-wcsrtombs1.sh: New file.
47498         * tests/test-wcsrtombs2.sh: New file.
47499         * tests/test-wcsrtombs3.sh: New file.
47500         * tests/test-wcsrtombs4.sh: New file.
47501         * tests/test-wcsrtombs.c: New file.
47502
47503         New module 'wcsrtombs'.
47504         * lib/wchar.in.h (wcsrtombs): New declaration.
47505         * lib/wcsrtombs.c: New file.
47506         * m4/wcsrtombs.m4: New file.
47507         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47508         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47509         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47510         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47511         * modules/wcsrtombs: New file.
47512         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47513         bugs.
47514
47515 2008-12-21  Bruno Haible  <bruno@clisp.org>
47516
47517         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47518         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47519         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47520         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47521         if not correct.
47522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47523         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47524         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47525         m4/locale-zh.m4, m4/codeset.m4.
47526         * doc/posix-functions/wcrtomb.texi: Document the bug.
47527
47528 2008-12-21  Bruno Haible  <bruno@clisp.org>
47529
47530         Work around a btowc() bug on IRIX 6.5.
47531         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47532         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47533         REPLACE_WTOBC if not.
47534         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47535         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47536         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47537
47538 2008-12-21  Bruno Haible  <bruno@clisp.org>
47539
47540         * modules/wcrtomb-tests: New file.
47541         * tests/test-wcrtomb.sh: New file.
47542         * tests/test-wcrtomb.c: New file.
47543
47544         New module 'wcrtomb'.
47545         * lib/wchar.in.h (wcrtomb): New declaration.
47546         * lib/wcrtomb.c: New file.
47547         * m4/wcrtomb.m4: New file.
47548         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47549         HAVE_WCRTOMB.
47550         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47551         HAVE_WCRTOMB.
47552         * modules/wcrtomb: New file.
47553         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47554
47555 2008-12-21  Bruno Haible  <bruno@clisp.org>
47556
47557         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47558         * modules/mbsrtowcs (Files): Likewise.
47559         * modules/wctob (Files): Likewise.
47560         * modules/c-strcase-tests (Files): Likewise.
47561         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47562         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47563         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47564         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47565         * modules/vasnprintf-posix-tests (Files): Likewise.
47566
47567 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47568
47569         gitlog-to-changelog: pass all command-line arguments to git-log
47570         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47571         it is sometimes convenient to filter the commits in various ways.
47572         gitlog-to-changelog only allows --since to specify a start date,
47573         but git-log itself supports many other filtering mechanisms.
47574         At the moment, I want to filter by branch name.  Rather than
47575         adding a --branch option to gitlog-to-changelog, it seems more
47576         flexible to simply pass all options directly to git-log and let
47577         git do the work.  Notice that this effectively makes --since a
47578         redundant option for gitlog-to-changelog, but removing it would
47579         require current usage to change since calls would then require
47580         an additional '--'.
47581
47582 2008-12-21  Bruno Haible  <bruno@clisp.org>
47583
47584         * modules/mbsnrtowcs-tests: New file.
47585         * tests/test-mbsnrtowcs1.sh: New file.
47586         * tests/test-mbsnrtowcs2.sh: New file.
47587         * tests/test-mbsnrtowcs3.sh: New file.
47588         * tests/test-mbsnrtowcs4.sh: New file.
47589         * tests/test-mbsnrtowcs.c: New file.
47590
47591         New module 'mbsnrtowcs'.
47592         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47593         * lib/mbsnrtowcs.c: New file.
47594         * lib/mbsrtowcs-state.c: New file.
47595         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47596         (internal_state): Remove variable.
47597         * m4/mbsnrtowcs.m4: New file.
47598         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47599         compilation units.
47600         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47601         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47602         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47603         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47604         * modules/mbsnrtowcs: New file.
47605         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47606         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47607         portability problem.
47608
47609 2008-12-21  Bruno Haible  <bruno@clisp.org>
47610
47611         Work around mbsrtowcs bug.
47612         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47613         (gl_FUNC_MBSRTOWCS): Invoke it.
47614         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47615         m4/locale-zh.m4.
47616         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47617
47618 2008-12-21  Bruno Haible  <bruno@clisp.org>
47619
47620         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47621
47622 2008-12-21  Bruno Haible  <bruno@clisp.org>
47623
47624         Update doc for AIX.
47625         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47626         16-bit wchar_t type.
47627         * doc/posix-functions/btowc.texi: Likewise.
47628         * doc/posix-functions/fgetwc.texi: Likewise.
47629         * doc/posix-functions/fgetws.texi: Likewise.
47630         * doc/posix-functions/fputwc.texi: Likewise.
47631         * doc/posix-functions/fputws.texi: Likewise.
47632         * doc/posix-functions/fwide.texi: Likewise.
47633         * doc/posix-functions/fwprintf.texi: Likewise.
47634         * doc/posix-functions/fwscanf.texi: Likewise.
47635         * doc/posix-functions/getwchar.texi: Likewise.
47636         * doc/posix-functions/getwc.texi: Likewise.
47637         * doc/posix-functions/iswalnum.texi: Likewise.
47638         * doc/posix-functions/iswalpha.texi: Likewise.
47639         * doc/posix-functions/iswblank.texi: Likewise.
47640         * doc/posix-functions/iswcntrl.texi: Likewise.
47641         * doc/posix-functions/iswctype.texi: Likewise.
47642         * doc/posix-functions/iswdigit.texi: Likewise.
47643         * doc/posix-functions/iswgraph.texi: Likewise.
47644         * doc/posix-functions/iswlower.texi: Likewise.
47645         * doc/posix-functions/iswprint.texi: Likewise.
47646         * doc/posix-functions/iswpunct.texi: Likewise.
47647         * doc/posix-functions/iswspace.texi: Likewise.
47648         * doc/posix-functions/iswupper.texi: Likewise.
47649         * doc/posix-functions/iswxdigit.texi: Likewise.
47650         * doc/posix-functions/mbrtowc.texi: Likewise.
47651         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47652         * doc/posix-functions/mbstowcs.texi: Likewise.
47653         * doc/posix-functions/mbtowc.texi: Likewise.
47654         * doc/posix-functions/putwchar.texi: Likewise.
47655         * doc/posix-functions/putwc.texi: Likewise.
47656         * doc/posix-functions/swprintf.texi: Likewise.
47657         * doc/posix-functions/tolower.texi: Likewise.
47658         * doc/posix-functions/toupper.texi: Likewise.
47659         * doc/posix-functions/towctrans.texi: Likewise.
47660         * doc/posix-functions/ungetwc.texi: Likewise.
47661         * doc/posix-functions/vswprintf.texi: Likewise.
47662         * doc/posix-functions/wcrtomb.texi: Likewise.
47663         * doc/posix-functions/wcscat.texi: Likewise.
47664         * doc/posix-functions/wcschr.texi: Likewise.
47665         * doc/posix-functions/wcscmp.texi: Likewise.
47666         * doc/posix-functions/wcscoll.texi: Likewise.
47667         * doc/posix-functions/wcscpy.texi: Likewise.
47668         * doc/posix-functions/wcscspn.texi: Likewise.
47669         * doc/posix-functions/wcsftime.texi: Likewise.
47670         * doc/posix-functions/wcslen.texi: Likewise.
47671         * doc/posix-functions/wcsncat.texi: Likewise.
47672         * doc/posix-functions/wcsncmp.texi: Likewise.
47673         * doc/posix-functions/wcsncpy.texi: Likewise.
47674         * doc/posix-functions/wcspbrk.texi: Likewise.
47675         * doc/posix-functions/wcsrchr.texi: Likewise.
47676         * doc/posix-functions/wcsrtombs.texi: Likewise.
47677         * doc/posix-functions/wcsspn.texi: Likewise.
47678         * doc/posix-functions/wcsstr.texi: Likewise.
47679         * doc/posix-functions/wcstod.texi: Likewise.
47680         * doc/posix-functions/wcstof.texi: Likewise.
47681         * doc/posix-functions/wcstoimax.texi: Likewise.
47682         * doc/posix-functions/wcstok.texi: Likewise.
47683         * doc/posix-functions/wcstold.texi: Likewise.
47684         * doc/posix-functions/wcstoll.texi: Likewise.
47685         * doc/posix-functions/wcstol.texi: Likewise.
47686         * doc/posix-functions/wcstombs.texi: Likewise.
47687         * doc/posix-functions/wcstoull.texi: Likewise.
47688         * doc/posix-functions/wcstoul.texi: Likewise.
47689         * doc/posix-functions/wcstoumax.texi: Likewise.
47690         * doc/posix-functions/wcswidth.texi: Likewise.
47691         * doc/posix-functions/wcsxfrm.texi: Likewise.
47692         * doc/posix-functions/wctob.texi: Likewise.
47693         * doc/posix-functions/wctomb.texi: Likewise.
47694         * doc/posix-functions/wctrans.texi: Likewise.
47695         * doc/posix-functions/wctype.texi: Likewise.
47696         * doc/posix-functions/wcwidth.texi: Likewise.
47697         * doc/posix-functions/wmemchr.texi: Likewise.
47698         * doc/posix-functions/wmemcmp.texi: Likewise.
47699         * doc/posix-functions/wmemcpy.texi: Likewise.
47700         * doc/posix-functions/wmemmove.texi: Likewise.
47701         * doc/posix-functions/wmemset.texi: Likewise.
47702         * doc/posix-functions/wprintf.texi: Likewise.
47703         * doc/posix-functions/wscanf.texi: Likewise.
47704
47705 2008-12-21  Bruno Haible  <bruno@clisp.org>
47706
47707         Update doc for HP-UX 11.11.
47708         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47709         in HP-UX version 11.00, not in all versions of HP-UX 11.
47710         * doc/posix-functions/fwide.texi: Likewise.
47711         * doc/posix-functions/fwprintf.texi: Likewise.
47712         * doc/posix-functions/fwscanf.texi: Likewise.
47713         * doc/posix-functions/inet_ntop.texi: Likewise.
47714         * doc/posix-functions/inet_pton.texi: Likewise.
47715         * doc/posix-functions/mbrlen.texi: Likewise.
47716         * doc/posix-functions/mbrtowc.texi: Likewise.
47717         * doc/posix-functions/mbsinit.texi: Likewise.
47718         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47719         * doc/posix-functions/swprintf.texi: Likewise.
47720         * doc/posix-functions/swscanf.texi: Likewise.
47721         * doc/posix-functions/towctrans.texi: Likewise.
47722         * doc/posix-functions/vfwprintf.texi: Likewise.
47723         * doc/posix-functions/vswprintf.texi: Likewise.
47724         * doc/posix-functions/vwprintf.texi: Likewise.
47725         * doc/posix-functions/wcrtomb.texi: Likewise.
47726         * doc/posix-functions/wcsrtombs.texi: Likewise.
47727         * doc/posix-functions/wcsstr.texi: Likewise.
47728         * doc/posix-functions/wctob.texi: Likewise.
47729         * doc/posix-functions/wctrans.texi: Likewise.
47730         * doc/posix-functions/wmemchr.texi: Likewise.
47731         * doc/posix-functions/wmemcmp.texi: Likewise.
47732         * doc/posix-functions/wmemcpy.texi: Likewise.
47733         * doc/posix-functions/wmemmove.texi: Likewise.
47734         * doc/posix-functions/wmemset.texi: Likewise.
47735         * doc/posix-functions/wprintf.texi: Likewise.
47736         * doc/posix-functions/wscanf.texi: Likewise.
47737
47738 2008-12-21  Bruno Haible  <bruno@clisp.org>
47739
47740         Work around a portability problem.
47741         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47742         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47743
47744 2008-12-20  Bruno Haible  <bruno@clisp.org>
47745
47746         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47747         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47748         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47749         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47750         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47751
47752         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47753         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47754         set.
47755         (GNULIB_defined_mbstate_t): New macro.
47756         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47757         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47758         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47759         reuses the system's mbrtowc function but works around the bugs.
47760         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47761         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47762         macros.
47763         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47764         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47765         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47766         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47767         REPLACE_MBSINIT if mbsinit needs to be overridden.
47768         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47769         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47770         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47771         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47772         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47773         m4/locale-zh.m4.
47774         (Depends): Add mbsinit.
47775         * modules/mbsinit (Depends): Add mbrtowc.
47776         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47777
47778 2008-12-20  Bruno Haible  <bruno@clisp.org>
47779
47780         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47781         so that there are no conversion errors on AIX.
47782         * tests/test-mbsrtowcs.c (main): LIkewise.
47783
47784 2008-12-20  Bruno Haible  <bruno@clisp.org>
47785
47786         Work around wctob bug on Solaris <= 9.
47787         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47788         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47789         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47790         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47791         * modules/wctob (Files): Add m4/locale-fr.m4.
47792         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47793
47794 2008-12-20  Bruno Haible  <bruno@clisp.org>
47795
47796         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47797         /dev/null.
47798         * tests/test-select-in.sh: Likewise.
47799         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47800
47801 2008-12-20  Bruno Haible  <bruno@clisp.org>
47802
47803         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47804         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47805         Cygwin 1.5.x.
47806
47807 2008-12-20  Bruno Haible  <bruno@clisp.org>
47808
47809         Ensure mbstate_t is defined on HP-UX 11.11.
47810         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47811         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47812         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47813         AC_USE_SYSTEM_EXTENSIONS.
47814         * modules/fnmatch (Depends-on): Add extensions.
47815         * modules/mbrlen (Depends-on): Likewise.
47816         * modules/mbrtowc (Depends-on): Likewise.
47817         * modules/mbsinit (Depends-on): Likewise.
47818         * modules/mbsrtowcs (Depends-on): Likewise.
47819         * modules/mbswidth (Depends-on): Likewise.
47820         * modules/quotearg (Depends-on): Likewise.
47821         * modules/strftime (Depends-on): Likewise.
47822
47823 2008-12-20  Bruno Haible  <bruno@clisp.org>
47824
47825         Ensure wctob is declared on IRIX 6.5.
47826         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47827         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47828         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47829         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47830         of HAVE_WCTOB.
47831         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47832         HAVE_WCTOB.
47833         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47834
47835 2008-12-19  Bruno Haible  <bruno@clisp.org>
47836
47837         * modules/mbsrtowcs-tests: New file.
47838         * tests/test-mbsrtowcs1.sh: New file.
47839         * tests/test-mbsrtowcs2.sh: New file.
47840         * tests/test-mbsrtowcs3.sh: New file.
47841         * tests/test-mbsrtowcs4.sh: New file.
47842         * tests/test-mbsrtowcs.c: New file.
47843
47844         New module 'mbsrtowcs'.
47845         * lib/wchar.in.h (mbsrtowcs): New declaration.
47846         * lib/mbsrtowcs.c: New file.
47847         * m4/mbsrtowcs.m4: New file.
47848         * modules/mbsrtowcs: New file.
47849         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47850         HAVE_MBSRTOWCS.
47851         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47852         HAVE_MBSRTOWCS.
47853         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47854
47855 2008-12-19  Bruno Haible  <bruno@clisp.org>
47856
47857         New module 'mbrlen'.
47858         * lib/wchar.in.h (mbrlen): New declaration.
47859         * lib/mbrlen.c: New file.
47860         * m4/mbrlen.m4: New file.
47861         * modules/mbrlen: New file.
47862         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47863         HAVE_MBRLEN.
47864         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47865         HAVE_MBRLEN.
47866         * doc/posix-functions/mbrlen.texi: Document the new module.
47867
47868 2008-12-19  Bruno Haible  <bruno@clisp.org>
47869
47870         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47871         * modules/mbrtowc (Depends-on): Add verify.
47872         Suggested by Paul Eggert.
47873
47874 2008-12-18  Bruno Haible  <bruno@clisp.org>
47875
47876         * modules/mbsinit-tests: New file.
47877         * tests/test-mbsinit.sh: New file.
47878         * tests/test-mbsinit.c: New file.
47879
47880 2008-12-18  Bruno Haible  <bruno@clisp.org>
47881
47882         * modules/mbrtowc-tests: New file.
47883         * tests/test-mbrtowc1.sh: New file.
47884         * tests/test-mbrtowc2.sh: New file.
47885         * tests/test-mbrtowc3.sh: New file.
47886         * tests/test-mbrtowc4.sh: New file.
47887         * tests/test-mbrtowc.c: New file.
47888
47889         New module 'mbrtowc'.
47890         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47891         mbsinit and mbrtowc.
47892         (mbrtowc): New declaration.
47893         * lib/mbrtowc.c: New file.
47894         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47895         * modules/mbrtowc: New file.
47896         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47897         HAVE_MBRTOWC.
47898         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47899         HAVE_MBRTOWC.
47900         * doc/posix-functions/mbrtowc.texi: Document the new module.
47901
47902 2008-12-18  Bruno Haible  <bruno@clisp.org>
47903
47904         New module 'wctob'.
47905         * lib/wchar.in.h (wctob): New declaration.
47906         * lib/wctob.c: New file.
47907         * m4/wctob.m4: New file.
47908         * modules/wctob: New file.
47909         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47910         HAVE_WCTOB.
47911         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47912         * doc/posix-functions/wctob.texi: Document the new module.
47913
47914 2008-12-18  Bruno Haible  <bruno@clisp.org>
47915
47916         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47917         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47918
47919 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47920
47921         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47922         G. Christensen" <tgc@jupiterrise.com>.
47923
47924         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47925         G. Christensen" <tgc@jupiterrise.com>.
47926
47927         * lib/flock.c: Need to include string.h.  Reported by "Tom
47928         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47929         <ebb9@byu.net>.
47930
47931 2008-12-18  Bruno Haible  <bruno@clisp.org>
47932
47933         * m4/locale-ja.m4: New file, from GNU gettext.
47934
47935 2008-12-17  Bruno Haible  <bruno@clisp.org>
47936
47937         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47938         Suggested by Eric Blake.
47939
47940 2008-12-17  Bruno Haible  <bruno@clisp.org>
47941
47942         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47943
47944 2008-12-17  Bruno Haible  <bruno@clisp.org>
47945
47946         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47947         * modules/mbsinit (Depends-on): Add verify.
47948         Suggested by Paul Eggert.
47949
47950 2008-12-17  Bruno Haible  <bruno@clisp.org>
47951
47952         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47953         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47954         gl_FUNC_MBRTOWC.
47955         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47956         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47957         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47958         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47959         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47960         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47961         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47962         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47963         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47964         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47965         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47966         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47967         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47968         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47969         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47970         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47971         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47972         * modules/trim (configure.ac): Likewise.
47973
47974 2008-12-17  Bruno Haible  <bruno@clisp.org>
47975
47976         * modules/btowc-tests: New file.
47977         * tests/test-btowc1.sh: New file.
47978         * tests/test-btowc2.sh: New file.
47979         * tests/test-btowc.c: New file.
47980
47981         New module 'btowc'.
47982         * lib/wchar.in.h (btowc): New declaration.
47983         * lib/btowc.c: New file.
47984         * m4/btowc.m4: New file.
47985         * modules/btowc: New file.
47986         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47987         HAVE_BTOWC.
47988         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47989         * doc/posix-functions/btowc.texi: Document the new module.
47990
47991 2008-12-17  Bruno Haible  <bruno@clisp.org>
47992
47993         New module 'mbsinit'.
47994         * lib/wchar.in.h (mbsinit): New declaration.
47995         * lib/mbsinit.c: New file.
47996         * m4/mbsinit.m4: New file.
47997         * modules/mbsinit: New file.
47998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47999         HAVE_MBSINIT.
48000         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
48001         HAVE_MBSINIT.
48002         * doc/posix-functions/mbsinit.texi: Document the new module.
48003
48004 2008-12-16  Bruno Haible  <bruno@clisp.org>
48005
48006         * lib/unistd.in.h: Add comment.
48007         * tests/test-environ.c: Don't include <stdlib.h>.
48008
48009 2008-12-16  Bruno Haible  <bruno@clisp.org>
48010
48011         * lib/parse-duration.h (parse_duration): Document return value
48012         convention.
48013         * lib/parse-duration.c: Include specification header first. Add
48014         comments.
48015         (_): Remove macro.
48016         (parse_year_month_day, parse_hour_minute_second): Move side effects
48017         outside of strchr call.
48018         (parse_non_iso8601): Move side effects outside of isspace call.
48019         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
48020         call.
48021
48022 2008-12-16  Bruno Haible  <bruno@clisp.org>
48023
48024         * tests/test-parse-duration.sh: Produce no output when the test
48025         succeeds.
48026
48027 2008-12-16  Bruno Haible  <bruno@clisp.org>
48028
48029         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
48030         expressions.
48031
48032 2008-12-15  Bruno Haible  <bruno@clisp.org>
48033
48034         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
48035         * doc/glibc-functions/flistxattr.texi: Likewise.
48036         * doc/glibc-functions/fopencookie.texi: Likewise.
48037         * doc/glibc-functions/fremovexattr.texi: Likewise.
48038         * doc/glibc-functions/fsetxattr.texi: Likewise.
48039         * doc/glibc-functions/getxattr.texi: Likewise.
48040         * doc/glibc-functions/lgetxattr.texi: Likewise.
48041         * doc/glibc-functions/listxattr.texi: Likewise.
48042         * doc/glibc-functions/llistxattr.texi: Likewise.
48043         * doc/glibc-functions/lremovexattr.texi: Likewise.
48044         * doc/glibc-functions/lsetxattr.texi: Likewise.
48045         * doc/glibc-functions/removexattr.texi: Likewise.
48046         * doc/glibc-functions/setxattr.texi: Likewise.
48047         * doc/posix-functions/open_memstream.texi: Likewise.
48048
48049 2008-12-15  Eric Blake  <ebb9@byu.net>
48050
48051         Update doc for cygwin 1.7.
48052         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
48053         functions.
48054         * doc/posix-functions/fchmodat.texi: Likewise.
48055         * doc/posix-functions/fchownat.texi: Likewise.
48056         * doc/posix-functions/fdopendir.texi: Likewise.
48057         * doc/posix-functions/fmemopen.texi: Likewise.
48058         * doc/posix-functions/freeaddrinfo.texi: Likewise.
48059         * doc/posix-functions/fstatat.texi: Likewise.
48060         * doc/posix-functions/futimens.texi: Likewise.
48061         * doc/posix-functions/gai_strerror.texi: Likewise.
48062         * doc/posix-functions/getaddrinfo.texi: Likewise.
48063         * doc/posix-functions/getnameinfo.texi: Likewise.
48064         * doc/posix-functions/if_freenameindex.texi: Likewise.
48065         * doc/posix-functions/if_indextoname.texi: Likewise.
48066         * doc/posix-functions/if_nameindex.texi: Likewise.
48067         * doc/posix-functions/if_nametoindex.texi: Likewise.
48068         * doc/posix-functions/insque.texi: Likewise.
48069         * doc/posix-functions/linkat.texi: Likewise.
48070         * doc/posix-functions/llrint.texi: Likewise.
48071         * doc/posix-functions/llrintf.texi: Likewise.
48072         * doc/posix-functions/llrintl.texi: Likewise.
48073         * doc/posix-functions/lockf.texi: Likewise.
48074         * doc/posix-functions/lrintl.texi: Likewise.
48075         * doc/posix-functions/mkdirat.texi: Likewise.
48076         * doc/posix-functions/mkfifoat.texi: Likewise.
48077         * doc/posix-functions/mknodat.texi: Likewise.
48078         * doc/posix-functions/mq_close.texi: Likewise.
48079         * doc/posix-functions/mq_getattr.texi: Likewise.
48080         * doc/posix-functions/mq_notify.texi: Likewise.
48081         * doc/posix-functions/mq_open.texi: Likewise.
48082         * doc/posix-functions/mq_receive.texi: Likewise.
48083         * doc/posix-functions/mq_send.texi: Likewise.
48084         * doc/posix-functions/mq_setattr.texi: Likewise.
48085         * doc/posix-functions/mq_timedreceive.texi: Likewise.
48086         * doc/posix-functions/mq_timedsend.texi: Likewise.
48087         * doc/posix-functions/mq_unlink.texi: Likewise.
48088         * doc/posix-functions/open_memstream.texi: Likewise.
48089         * doc/posix-functions/openat.texi: Likewise.
48090         * doc/posix-functions/posix_fadvise.texi: Likewise.
48091         * doc/posix-functions/posix_fallocate.texi: Likewise.
48092         * doc/posix-functions/posix_madvise.texi: Likewise.
48093         * doc/posix-functions/posix_memalign.texi: Likewise.
48094         * doc/posix-functions/posix_openpt.texi: Likewise.
48095         * doc/posix-functions/readlinkat.texi: Likewise.
48096         * doc/posix-functions/remque.texi: Likewise.
48097         * doc/posix-functions/renameat.texi: Likewise.
48098         * doc/posix-functions/rintl.texi: Likewise.
48099         * doc/posix-functions/sem_unlink.texi: Likewise.
48100         * doc/posix-functions/shm_open.texi: Likewise.
48101         * doc/posix-functions/shm_unlink.texi: Likewise.
48102         * doc/posix-functions/signgam.texi: Likewise.
48103         * doc/posix-functions/sigset.texi: Likewise.
48104         * doc/posix-functions/stpcpy.texi: Likewise.
48105         * doc/posix-functions/stpncpy.texi: Likewise.
48106         * doc/posix-functions/strerror.texi: Likewise.
48107         * doc/posix-functions/strtod.texi: Likewise.
48108         * doc/posix-functions/symlinkat.texi: Likewise.
48109         * doc/posix-functions/unlinkat.texi: Likewise.
48110         * doc/posix-functions/utimensat.texi: Likewise.
48111         * doc/glibc-functions/bindresvport.texi: Likewise.
48112         * doc/glibc-functions/dn_expand.texi: Likewise.
48113         * doc/glibc-functions/exp10.texi: Likewise.
48114         * doc/glibc-functions/exp10f.texi: Likewise.
48115         * doc/glibc-functions/fgetxattr.texi: Likewise.
48116         * doc/glibc-functions/flistxattr.texi: Likewise.
48117         * doc/glibc-functions/fopencookie.texi: Likewise.
48118         * doc/glibc-functions/freeifaddrs.texi: Likewise.
48119         * doc/glibc-functions/fremovexattr.texi: Likewise.
48120         * doc/glibc-functions/fsetxattr.texi: Likewise.
48121         * doc/glibc-functions/getifaddrs.texi: Likewise.
48122         * doc/glibc-functions/getxattr.texi: Likewise.
48123         * doc/glibc-functions/lgetxattr.texi: Likewise.
48124         * doc/glibc-functions/listxattr.texi: Likewise.
48125         * doc/glibc-functions/llistxattr.texi: Likewise.
48126         * doc/glibc-functions/lremovexattr.texi: Likewise.
48127         * doc/glibc-functions/lsetxattr.texi: Likewise.
48128         * doc/glibc-functions/pow10.texi: Likewise.
48129         * doc/glibc-functions/pow10f.texi: Likewise.
48130         * doc/glibc-functions/rcmd_af.texi: Likewise.
48131         * doc/glibc-functions/removexattr.texi: Likewise.
48132         * doc/glibc-functions/res_init.texi: Likewise.
48133         * doc/glibc-functions/res_mkquery.texi: Likewise.
48134         * doc/glibc-functions/res_query.texi: Likewise.
48135         * doc/glibc-functions/res_querydomain.texi: Likewise.
48136         * doc/glibc-functions/res_send.texi: Likewise.
48137         * doc/glibc-functions/rresvport_af.texi: Likewise.
48138         * doc/glibc-functions/setxattr.texi: Likewise.
48139         * doc/glibc-functions/strcasestr.texi: Likewise.
48140
48141 2008-12-15  Bruno Haible  <bruno@clisp.org>
48142
48143         Fix compilation error on OSF/1 4.0.
48144         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
48145         <sys/time.h>, simply delegate to the system header.
48146         Reported by Daniel Richard G. <oss@teragram.com>.
48147
48148 2008-12-15  Bruno Haible  <bruno@clisp.org>
48149
48150         * doc/posix-functions/openat.texi: Mention the 'openat' module.
48151         * doc/posix-functions/fchmodat.texi: Likewise.
48152         * doc/posix-functions/fchownat.texi: Likewise.
48153         * doc/posix-functions/fdopendir.texi: Likewise.
48154         * doc/posix-functions/fstatat.texi: Likewise.
48155         * doc/posix-functions/mkdirat.texi: Likewise.
48156         * doc/posix-functions/unlinkat.texi: Likewise.
48157
48158 2008-12-14  Bruno Haible  <bruno@clisp.org>
48159
48160         Update doc for POSIX:2008.
48161         * doc/posix-functions/faccessat.texi: New file.
48162         * doc/posix-functions/fchmodat.texi: New file.
48163         * doc/posix-functions/fchownat.texi: New file.
48164         * doc/posix-functions/fdopendir.texi: New file.
48165         * doc/posix-functions/fstatat.texi: New file.
48166         * doc/posix-functions/futimens.texi: New file.
48167         * doc/posix-functions/linkat.texi: New file.
48168         * doc/posix-functions/mkdirat.texi: New file.
48169         * doc/posix-functions/mkfifoat.texi: New file.
48170         * doc/posix-functions/mknodat.texi: New file.
48171         * doc/posix-functions/open_wmemstream.texi: New file.
48172         * doc/posix-functions/openat.texi: New file.
48173         * doc/posix-functions/psiginfo.texi: New file.
48174         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
48175         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
48176         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
48177         * doc/posix-functions/readlinkat.texi: New file.
48178         * doc/posix-functions/renameat.texi: New file.
48179         * doc/posix-functions/strerror_l.texi: New file.
48180         * doc/posix-functions/symlinkat.texi: New file.
48181         * doc/posix-functions/unlinkat.texi: New file.
48182         * doc/posix-functions/utimensat.texi: New file.
48183         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48184
48185 2008-12-14  Bruno Haible  <bruno@clisp.org>
48186
48187         Update doc for POSIX:2008.
48188         * doc/posix-functions/alphasort.texi: Renamed from
48189         doc/glibc-functions/alphasort.texi.
48190         * doc/posix-functions/dirfd.texi: Renamed from
48191         doc/glibc-functions/dirfd.texi.
48192         * doc/posix-functions/dprintf.texi: Renamed from
48193         doc/glibc-functions/dprintf.texi.
48194         * doc/posix-functions/duplocale.texi: Renamed from
48195         doc/glibc-functions/duplocale.texi.
48196         * doc/posix-functions/fexecve.texi: Renamed from
48197         doc/glibc-functions/fexecve.texi.
48198         * doc/posix-functions/fmemopen.texi: Renamed from
48199         doc/glibc-functions/fmemopen.texi.
48200         * doc/posix-functions/freelocale.texi: Renamed from
48201         doc/glibc-functions/freelocale.texi.
48202         * doc/posix-functions/getdate_err.texi: Renamed from
48203         doc/glibc-functions/getdate_err.texi.
48204         * doc/posix-functions/isalnum_l.texi: Renamed from
48205         doc/glibc-functions/isalnum_l.texi.
48206         * doc/posix-functions/isalpha_l.texi: Renamed from
48207         doc/glibc-functions/isalpha_l.texi.
48208         * doc/posix-functions/isblank_l.texi: Renamed from
48209         doc/glibc-functions/isblank_l.texi.
48210         * doc/posix-functions/iscntrl_l.texi: Renamed from
48211         doc/glibc-functions/iscntrl_l.texi.
48212         * doc/posix-functions/isdigit_l.texi: Renamed from
48213         doc/glibc-functions/isdigit_l.texi.
48214         * doc/posix-functions/isgraph_l.texi: Renamed from
48215         doc/glibc-functions/isgraph_l.texi.
48216         * doc/posix-functions/islower_l.texi: Renamed from
48217         doc/glibc-functions/islower_l.texi.
48218         * doc/posix-functions/isprint_l.texi: Renamed from
48219         doc/glibc-functions/isprint_l.texi.
48220         * doc/posix-functions/ispunct_l.texi: Renamed from
48221         doc/glibc-functions/ispunct_l.texi.
48222         * doc/posix-functions/isspace_l.texi: Renamed from
48223         doc/glibc-functions/isspace_l.texi.
48224         * doc/posix-functions/isupper_l.texi: Renamed from
48225         doc/glibc-functions/isupper_l.texi.
48226         * doc/posix-functions/iswalnum_l.texi: Renamed from
48227         doc/glibc-functions/iswalnum_l.texi.
48228         * doc/posix-functions/iswalpha_l.texi: Renamed from
48229         doc/glibc-functions/iswalpha_l.texi.
48230         * doc/posix-functions/iswblank_l.texi: Renamed from
48231         doc/glibc-functions/iswblank_l.texi.
48232         * doc/posix-functions/iswcntrl_l.texi: Renamed from
48233         doc/glibc-functions/iswcntrl_l.texi.
48234         * doc/posix-functions/iswctype_l.texi: Renamed from
48235         doc/glibc-functions/iswctype_l.texi.
48236         * doc/posix-functions/iswdigit_l.texi: Renamed from
48237         doc/glibc-functions/iswdigit_l.texi.
48238         * doc/posix-functions/iswgraph_l.texi: Renamed from
48239         doc/glibc-functions/iswgraph_l.texi.
48240         * doc/posix-functions/iswlower_l.texi: Renamed from
48241         doc/glibc-functions/iswlower_l.texi.
48242         * doc/posix-functions/iswprint_l.texi: Renamed from
48243         doc/glibc-functions/iswprint_l.texi.
48244         * doc/posix-functions/iswpunct_l.texi: Renamed from
48245         doc/glibc-functions/iswpunct_l.texi.
48246         * doc/posix-functions/iswspace_l.texi: Renamed from
48247         doc/glibc-functions/iswspace_l.texi.
48248         * doc/posix-functions/iswupper_l.texi: Renamed from
48249         doc/glibc-functions/iswupper_l.texi.
48250         * doc/posix-functions/iswxdigit_l.texi: Renamed from
48251         doc/glibc-functions/iswxdigit_l.texi.
48252         * doc/posix-functions/isxdigit_l.texi: Renamed from
48253         doc/glibc-functions/isxdigit_l.texi.
48254         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
48255         doc/glibc-functions/mbsnrtowcs.texi.
48256         * doc/posix-functions/mkdtemp.texi: Renamed from
48257         doc/glibc-functions/mkdtemp.texi.
48258         * doc/posix-functions/newlocale.texi: Renamed from
48259         doc/glibc-functions/newlocale.texi.
48260         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
48261         doc/glibc-functions/nl_langinfo_l.texi.
48262         * doc/posix-functions/open_memstream.texi: Renamed from
48263         doc/glibc-functions/open_memstream.texi.
48264         * doc/posix-functions/opterr.texi: Renamed from
48265         doc/glibc-functions/opterr.texi.
48266         * doc/posix-functions/optind.texi: Renamed from
48267         doc/glibc-functions/optind.texi.
48268         * doc/posix-functions/optopt.texi: Renamed from
48269         doc/glibc-functions/optopt.texi.
48270         * doc/posix-functions/psignal.texi: Renamed from
48271         doc/glibc-functions/psignal.texi.
48272         * doc/posix-functions/scandir.texi: Renamed from
48273         doc/glibc-functions/scandir.texi.
48274         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
48275         doc/glibc-functions/sched_get_priority_min.texi.
48276         * doc/posix-functions/signgam.texi: Renamed from
48277         doc/glibc-functions/signgam.texi.
48278         * doc/posix-functions/stpcpy.texi: Renamed from
48279         doc/glibc-functions/stpcpy.texi.
48280         * doc/posix-functions/stpncpy.texi: Renamed from
48281         doc/glibc-functions/stpncpy.texi.
48282         * doc/posix-functions/strcasecmp_l.texi: Renamed from
48283         doc/glibc-functions/strcasecmp_l.texi.
48284         * doc/posix-functions/strcoll_l.texi: Renamed from
48285         doc/glibc-functions/strcoll_l.texi.
48286         * doc/posix-functions/strfmon_l.texi: Renamed from
48287         doc/glibc-functions/strfmon_l.texi.
48288         * doc/posix-functions/strftime_l.texi: Renamed from
48289         doc/glibc-functions/strftime_l.texi.
48290         * doc/posix-functions/strncasecmp_l.texi: Renamed from
48291         doc/glibc-functions/strncasecmp_l.texi.
48292         * doc/posix-functions/strndup.texi: Renamed from
48293         doc/glibc-functions/strndup.texi.
48294         * doc/posix-functions/strnlen.texi: Renamed from
48295         doc/glibc-functions/strnlen.texi.
48296         * doc/posix-functions/strsignal.texi: Renamed from
48297         doc/glibc-functions/strsignal.texi.
48298         * doc/posix-functions/strxfrm_l.texi: Renamed from
48299         doc/glibc-functions/strxfrm_l.texi.
48300         * doc/posix-functions/timer_gettime.texi: Renamed from
48301         doc/glibc-functions/timer_gettime.texi.
48302         * doc/posix-functions/tolower_l.texi: Renamed from
48303         doc/glibc-functions/tolower_l.texi.
48304         * doc/posix-functions/toupper_l.texi: Renamed from
48305         doc/glibc-functions/toupper_l.texi.
48306         * doc/posix-functions/towctrans_l.texi: Renamed from
48307         doc/glibc-functions/towctrans_l.texi.
48308         * doc/posix-functions/towlower_l.texi: Renamed from
48309         doc/glibc-functions/towlower_l.texi.
48310         * doc/posix-functions/towupper_l.texi: Renamed from
48311         doc/glibc-functions/towupper_l.texi.
48312         * doc/posix-functions/uselocale.texi: Renamed from
48313         doc/glibc-functions/uselocale.texi.
48314         * doc/posix-functions/vdprintf.texi: Renamed from
48315         doc/glibc-functions/vdprintf.texi.
48316         * doc/posix-functions/wcpcpy.texi:
48317         Renamed from doc/glibc-functions/wcpcpy.texi.
48318         * doc/posix-functions/wcpncpy.texi: Renamed from
48319         doc/glibc-functions/wcpncpy.texi.
48320         * doc/posix-functions/wcscasecmp.texi: Renamed from
48321         doc/glibc-functions/wcscasecmp.texi.
48322         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
48323         doc/glibc-functions/wcscasecmp_l.texi.
48324         * doc/posix-functions/wcscoll_l.texi: Renamed from
48325         doc/glibc-functions/wcscoll_l.texi.
48326         * doc/posix-functions/wcsdup.texi: Renamed from
48327         doc/glibc-functions/wcsdup.texi.
48328         * doc/posix-functions/wcsncasecmp.texi: Renamed from
48329         doc/glibc-functions/wcsncasecmp.texi.
48330         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
48331         doc/glibc-functions/wcsncasecmp_l.texi.
48332         * doc/posix-functions/wcsnlen.texi: Renamed from
48333         doc/glibc-functions/wcsnlen.texi.
48334         * doc/posix-functions/wcsnrtombs.texi: Renamed from
48335         doc/glibc-functions/wcsnrtombs.texi.
48336         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
48337         doc/glibc-functions/wcsxfrm_l.texi.
48338         * doc/posix-functions/wctrans_l.texi: Renamed from
48339         doc/glibc-functions/wctrans_l.texi.
48340         * doc/posix-functions/wctype_l.texi: Renamed from
48341         doc/glibc-functions/wctype_l.texi.
48342         * doc/gnulib.texi (Function Substitutes): Add these subsections.
48343         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
48344         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
48345         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
48346         these subsections.
48347         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
48348         Remove sections.
48349
48350 2008-12-14  Bruno Haible  <bruno@clisp.org>
48351
48352         Update doc for POSIX:2008.
48353         * doc/posix-functions/*.texi: Update URL of POSIX specification.
48354
48355 2008-12-14  Bruno Haible  <bruno@clisp.org>
48356
48357         Update doc for POSIX:2008.
48358         * doc/pastposix-functions/bcmp.texi: Renamed from
48359         doc/posix-functions/bcmp.texi.
48360         * doc/pastposix-functions/bcopy.texi: Renamed from
48361         doc/posix-functions/bcopy.texi.
48362         * doc/pastposix-functions/bsd_signal.texi: Renamed from
48363         doc/posix-functions/bsd_signal.texi.
48364         * doc/pastposix-functions/bzero.texi: Renamed from
48365         doc/posix-functions/bzero.texi.
48366         * doc/pastposix-functions/ecvt.texi: Renamed from
48367         doc/posix-functions/ecvt.texi.
48368         * doc/pastposix-functions/fcvt.texi: Renamed from
48369         doc/posix-functions/fcvt.texi.
48370         * doc/pastposix-functions/ftime.texi: Renamed from
48371         doc/posix-functions/ftime.texi.
48372         * doc/pastposix-functions/gcvt.texi: Renamed from
48373         doc/posix-functions/gcvt.texi.
48374         * doc/pastposix-functions/getcontext.texi: Renamed from
48375         doc/posix-functions/getcontext.texi.
48376         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
48377         doc/posix-functions/gethostbyaddr.texi.
48378         * doc/pastposix-functions/gethostbyname.texi: Renamed from
48379         doc/posix-functions/gethostbyname.texi.
48380         * doc/pastposix-functions/getwd.texi: Renamed from
48381         doc/posix-functions/getwd.texi.
48382         * doc/pastposix-functions/h_errno.texi: Renamed from
48383         doc/posix-functions/h_errno.texi.
48384         * doc/pastposix-functions/index.texi: Renamed from
48385         doc/posix-functions/index.texi.
48386         * doc/pastposix-functions/makecontext.texi: Renamed from
48387         doc/posix-functions/makecontext.texi.
48388         * doc/pastposix-functions/mktemp.texi: Renamed from
48389         doc/posix-functions/mktemp.texi.
48390         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
48391         doc/posix-functions/pthread_attr_getstackaddr.texi.
48392         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
48393         doc/posix-functions/pthread_attr_setstackaddr.texi.
48394         * doc/pastposix-functions/rindex.texi: Renamed from
48395         doc/posix-functions/rindex.texi.
48396         * doc/pastposix-functions/scalb.texi: Renamed from
48397         doc/posix-functions/scalb.texi.
48398         * doc/pastposix-functions/setcontext.texi: Renamed from
48399         doc/posix-functions/setcontext.texi.
48400         * doc/pastposix-functions/swapcontext.texi: Renamed from
48401         doc/posix-functions/swapcontext.texi.
48402         * doc/pastposix-functions/ualarm.texi: Renamed from
48403         doc/posix-functions/ualarm.texi.
48404         * doc/pastposix-functions/usleep.texi: Renamed from
48405         doc/posix-functions/usleep.texi.
48406         * doc/pastposix-functions/vfork.texi: Renamed from
48407         doc/posix-functions/vfork.texi.
48408         * doc/pastposix-functions/wcswcs.texi: Renamed from
48409         doc/posix-functions/wcswcs.texi.
48410         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
48411         (Function Substitutes): Update.
48412
48413 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48414
48415         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
48416         m4/strerror.m4.
48417
48418 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48419             Bruno Haible  <bruno@clisp.org>
48420
48421         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
48422
48423 2008-12-13  Bruno Haible  <bruno@clisp.org>
48424
48425         * modules/strtoull (Depends-on): Remove unistd.
48426
48427 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48428
48429         * modules/strtoull (Depends-on): Add stdlib.
48430
48431 2008-12-11  Simon Josefsson  <simon@josefsson.org>
48432
48433         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
48434
48435 2008-12-10  Jim Meyering  <meyering@redhat.com>
48436
48437         gl_ASSERT: don't say assertions are disabled when they're not
48438         * m4/assert.m4 (gl_ASSERT): Do not make configure report
48439         "checking whether to enable assertions... no", when they are in
48440         fact enabled.  This is solely a bug in the output of configure.
48441         In spite of saying "no", NDEBUG was not defined in that case.
48442         Also, as noted by Eric Blake, leave assertions enabled upon
48443         --enable-assert=INVALID.
48444
48445 2008-12-10  Bruno Haible  <bruno@clisp.org>
48446
48447         Change MODULES.html to refer to POSIX:2008 where possible.
48448         * MODULES.html.sh (POSIX2008_URL): New variable.
48449         (posix_headers): Remove sys/timeb, ucontext.
48450         (posix2001_headers): New variable.
48451         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48452         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48453         index, makecontext, mktemp, pthread_attr_getstackaddr,
48454         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48455         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48456         (posix2001_functions): New variable.
48457         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48458         otherwise.
48459
48460 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48461
48462         add missing include to parse-duration.c
48463         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48464         * modules/parse-duration (Depends-on): Add xalloc.
48465
48466         fix sed script reading maint.mk
48467         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48468         (syntax-check-rules): Use it.
48469
48470 2008-12-09  Bruno Haible  <bruno@clisp.org>
48471
48472         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48473         MacOS X 10.4/PowerPC.
48474         Reported by Simon Josefsson.
48475
48476 2008-12-08  Jim Meyering  <meyering@redhat.com>
48477
48478         work around mingw's lack of some S_IF definitions
48479         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48480         Reported by Simon Josefsson.
48481
48482 2008-12-08  Bruno Haible  <bruno@clisp.org>
48483
48484         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48485         applied to variables. Needed on MacOS X 10.4/PowerPC.
48486         Reported by Simon Josefsson.
48487
48488 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48489         and Eric Blake  <ebb9@byu.net>
48490
48491         assert: honor --enable-assert
48492         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48493         order to honor --enable-assert, rather than treating it as a
48494         synonym for --disable-assert.
48495
48496 2008-12-08  Jim Meyering  <meyering@redhat.com>
48497
48498         * lib/posixtm.c: Remove now-useless declaration of mktime.
48499
48500         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48501
48502 2008-12-07  Bruno Haible  <bruno@clisp.org>
48503
48504         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48505         test_once): Mark functions as static.
48506         * tests/test-tls.c (test_tls): Likewise.
48507
48508 2008-12-07  Bruno Haible  <bruno@clisp.org>
48509
48510         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48511         iconv_register_autodetect.
48512
48513 2008-12-07  Jim Meyering  <meyering@redhat.com>
48514
48515         posixtm.c: avoid a warning
48516         * lib/posixtm.c (posixtime): Don't initialize tm0.
48517         It's no longer needed to placate gcc4's -Wuninitialized,
48518         and the attempt to placate would elicit a new warning.
48519
48520         unicodeio.c: mark unused parameters
48521         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48522         (fallback_failure_callback): Likewise.
48523
48524 2008-12-07  Bruno Haible  <bruno@clisp.org>
48525
48526         * gnulib-tool (func_create_testdir): When building the tests
48527         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48528         Reported by Simon Josefsson.
48529
48530 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48531
48532         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48533
48534 2008-12-06  Bruno Haible  <bruno@clisp.org>
48535
48536         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48537         Suggested by Eric Blake.
48538
48539 2008-12-06  Bruno Haible  <bruno@clisp.org>
48540
48541         Fix a c-stack test failure on MacOS X.
48542         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48543         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48544         handler for SIGBUS as well.
48545         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48546         install a signal handler for SIGBUS as well.
48547         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48548
48549 2008-12-06  Bruno Haible  <bruno@clisp.org>
48550
48551         Advocacy documentation.
48552         * doc/gnulib-intro.texi (Benefits): New section.
48553         * doc/gnulib.texi: Update.
48554
48555 2008-12-06  Bruno Haible  <bruno@clisp.org>
48556
48557         Document the 'manywarnings' module.
48558         * doc/manywarnings.texi: New file.
48559         * doc/gnulib.texi: Include it.
48560
48561 2008-12-05  Eric Blake  <ebb9@byu.net>
48562
48563         tests: silence some gcc warnings
48564         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48565         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48566         type mismatches.
48567
48568 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48569             Bruno Haible  <bruno@clisp.org>
48570
48571         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48572
48573 2008-11-29  Jim Meyering  <meyering@redhat.com>
48574
48575         unicodeio.c: mark unused parameters
48576         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48577         (fallback_failure_callback): Likewise.
48578
48579         fts: fix a thinko
48580         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48581         (set_stat_type): Return S_IF*-valued "type" directly.
48582         Prompted by James Youngman's spotting a related bug.
48583         Confirmed by further testing through find.
48584
48585         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48586         * lib/fts.c (D_TYPE): Define.
48587         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48588         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48589         (s_ifmt_shift_bits): New function.
48590         (set_stat_type): New function.
48591         (fts_build): When not calling fts_stat, call set_stat_type
48592         to propagate dirent.d_type info to fts_read caller.
48593         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48594         fts_statp->st_mode type information may be valid.
48595
48596 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48597
48598         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48599         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48600         <sds@gnu.org>.
48601
48602 2008-11-20  Bruno Haible  <bruno@clisp.org>
48603
48604         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48605         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48606         INCLUDE_NEXT.
48607         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48608         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48609         * modules/math (Makefile.am): Substitute
48610         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48611         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48612
48613 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48614             Bruno Haible  <bruno@clisp.org>
48615
48616         * lib/stdint.in.h: Define all type macros so that their expansion is
48617         a single typedef'ed token. Fixes a compilation failure in Boost which
48618         does "using ::int8_t;".
48619
48620 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48621
48622         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48623         gl_MANYWARN_ALL_GCC.
48624         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48625         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48626         * modules/manywarnings: New file.
48627         * MODULES.html.sh: Mention manywarnings module.
48628
48629 2008-11-18  Bruno Haible  <bruno@clisp.org>
48630
48631         * doc/gnulib-tool.texi (Unit tests): New section.
48632
48633 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48634
48635         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48636         paths like 'lib/po/foo.po'.
48637
48638 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48639
48640         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48641         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48642
48643 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48644
48645         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48646         parameter works.
48647
48648 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48649
48650         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48651
48652 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48653
48654         * modules/parse-duration-tests: New file.
48655         * tests/test-parse-duration.sh: New file.
48656         * tests/test-parse-duration.c: New file.
48657
48658         New module 'parse-duration'.
48659         * lib/parse-duration.h: New file.
48660         * lib/parse-duration.c: New file.
48661         * modules/parse-duration: New file.
48662
48663 2008-11-17  Bruno Haible  <bruno@clisp.org>
48664
48665         * tests/test-select-out.sh: Comment out the first pipe test.
48666         Reported by Simon Josefsson.
48667
48668 2008-11-17  Bruno Haible  <bruno@clisp.org>
48669
48670         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48671         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48672         gl_HOSTENT.
48673
48674 2008-11-17  Bruno Haible  <bruno@clisp.org>
48675
48676         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48677         -lnetwork and -lnet. Needed for Haiku and BeOS.
48678
48679 2008-11-16  Bruno Haible  <bruno@clisp.org>
48680
48681         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48682
48683 2008-11-16  Bruno Haible  <bruno@clisp.org>
48684
48685         Avoid test failure on Haiku.
48686         * tests/test-fsync.c: Include <errno.h>.
48687         (main): Don't require that fsync (0) fails.
48688
48689 2008-11-15  Bruno Haible  <bruno@clisp.org>
48690
48691         New module 'hostent'.
48692         * modules/hostent: New file.
48693         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48694
48695 2008-11-15  Bruno Haible  <bruno@clisp.org>
48696
48697         New module 'servent'.
48698         * modules/servent: New file.
48699         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48700
48701 2008-11-15  Bruno Haible  <bruno@clisp.org>
48702
48703         Avoid generating same test program with two different rules.
48704         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48705         test-frexp to test-frexp-nolibm.
48706         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48707         test-frexpl to test-frexpl-nolibm.
48708
48709 2008-11-15  Bruno Haible  <bruno@clisp.org>
48710
48711         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48712         $(FREXPL_LIBM).
48713
48714 2008-11-15  Bruno Haible  <bruno@clisp.org>
48715
48716         * lib/netdb.in.h: Activate the definitions also when the system's
48717         <netdb.h> has 'struct addrinfo'.
48718         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48719         EAI_OVERFLOW or AI_NUMERICSERV.
48720         * doc/posix-headers/netdb.texi: Document the problem.
48721
48722 2008-11-15  Bruno Haible  <bruno@clisp.org>
48723
48724         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48725
48726         Make the 'sched' module work on platforms where <sched.h> exists but
48727         is incomplete (such as Haiku).
48728         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48729         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48730         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48731         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48732         HAVE_STRUCT_SCHED_PARAM.
48733         * modules/sched (Depends-on): Add include_next.
48734         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48735         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48736         * doc/posix-headers/sched.texi: Document the issue.
48737
48738 2008-11-13  Jim Meyering  <meyering@redhat.com>
48739
48740         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48741         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48742         test would fail due to the difference in the Report bugs to ...
48743         line.  The expected address is empty, "<>", while the actual
48744         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48745
48746 2008-11-12  Bruno Haible  <bruno@clisp.org>
48747
48748         lstat: don't compile lstat.c on systems lacking lstat
48749         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48750         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48751         Reported by Daniel P. Berrange via Jim Meyering.
48752
48753 2008-11-12  Jim Meyering  <meyering@redhat.com>
48754
48755         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48756
48757 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48758
48759         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48760         instead.
48761
48762 2008-11-12  Bruno Haible  <bruno@clisp.org>
48763
48764         * lib/unicodeio.c: Include unistr.h.
48765         (utf8_wctomb): Remove function.
48766         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48767
48768 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48769
48770         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48771         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48772         <bruno@clisp.org>.
48773         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48774
48775 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48776
48777         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48778         * doc/gnulib.texi: Add section for warnings.
48779
48780 2008-11-11  Bruno Haible  <bruno@clisp.org>
48781
48782         * lib/sockets.h: Add a comment.
48783
48784 2008-11-11  Karl Berry  <karl@gnu.org>
48785
48786         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48787
48788 2008-11-11  Eric Blake  <ebb9@byu.net>
48789
48790         fdl.texi: avoid git symlinks
48791         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48792
48793 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48794
48795         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48796
48797 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48798
48799         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48800         (gl_WARN_ADD): Substitute $2 if literal.
48801
48802 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48803
48804         * m4/warning.m4: Remove.
48805
48806 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48807
48808         * m4/warnings.m4: Almost complete rewrite. :-)
48809
48810 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48811
48812         * modules/warnings: New module.
48813         * m4/warnings.m4: New file.
48814         * MODULES.html.sh: Mention warnings module.
48815         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48816         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48817
48818 2008-11-10  Eric Blake  <ebb9@byu.net>
48819
48820         fdl.texi: make a symlink to the latest version
48821         * doc/standards.texi: Revert today's earlier change.
48822         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48823         * doc/fdl.texi: ...and replace this with a symlink to the newer
48824         fdl-1.3.texi.
48825
48826 2008-11-10  Bruno Haible  <bruno@clisp.org>
48827
48828         * tests/test-select-fd.c (main): Accept the result file name as fourth
48829         argument.
48830         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48831         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48832
48833 2008-11-10  Bruno Haible  <bruno@clisp.org>
48834
48835         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48836         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48837         as autoconf-substituted macros.
48838         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48839         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48840         gl_NETDB_H_DEFAULTS. Set these variables.
48841         * modules/netdb (Makefile.am): Substitute these variables.
48842
48843 2008-11-10  Eric Blake  <ebb9@byu.net>
48844
48845         standards.texi: include correct file for FDL 1.3
48846         * doc/standards.texi (GNU Free Documentation License): Change
48847         include file to pull in FDL 1.3, not 1.2.
48848
48849         fdl.texi: revert accidental change to license
48850         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48851
48852 2008-11-10  Bruno Haible  <bruno@clisp.org>
48853
48854         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48855         cross-compiling guesses also when the native compile gives no result.
48856
48857 2008-11-10  Bruno Haible  <bruno@clisp.org>
48858
48859         * lib/spawni.c (__spawni): Force variable into the stack.
48860
48861 2008-11-10  Bruno Haible  <bruno@clisp.org>
48862
48863         Add support for Haiku.
48864         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48865         glibc and BeOS, but also on Haiku.
48866         * lib/fpurge.c (fpurge): Likewise.
48867         * lib/freadable.c (freadable): Likewise.
48868         * lib/freadahead.c (freadahead): Likewise.
48869         * lib/freading.c (freading): Likewise.
48870         * lib/freadptr.c (freadptr): Likewise.
48871         * lib/freadseek.c (freadptrinc): Likewise.
48872         * lib/fseeko.c (rpl_fseeko): Likewise.
48873         * lib/fseterr.c (fseterr): Likewise.
48874         * lib/fwritable.c (fwritable): Likewise.
48875         * lib/fwriting.c (fwriting): Likewise.
48876         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48877
48878 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48879
48880         * lib/config.charset: Treat Haiku like BeOS.
48881
48882 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48883
48884         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48885         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48886
48887 2008-11-08  Bruno Haible  <bruno@clisp.org>
48888
48889         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48890         AC_CACHE_CHECK.
48891
48892 2008-11-08  Bruno Haible  <bruno@clisp.org>
48893
48894         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48895
48896 2008-11-08  Bruno Haible  <bruno@clisp.org>
48897
48898         * tests/test-select-fd.c: New file.
48899         * tests/test-select-in.sh: New file.
48900         * tests/test-select-out.sh: New file.
48901         * tests/test-select-stdin.c: New file.
48902         * modules/select-tests (Files): Add the new files.
48903         (Depends-on): Add gettimeofday.
48904         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48905         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48906         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48907
48908 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48909             Bruno Haible  <bruno@clisp.org>
48910
48911         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48912
48913 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48914
48915         * build-aux/pmccabe2html: Added support for C++ source files.
48916
48917 2008-11-05  Ben Pfaff  <blp@gnu.org>
48918
48919         Fix lib/close.c build on Windows.
48920         * modules/close (Files): Add lib/w32sock.h.
48921
48922 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48923
48924         Accept Bison's NEWS format.
48925         * build-aux/announce-gen (print_news_deltas): Tweak
48926         $re_prefix.
48927
48928 2008-11-04  Bruno Haible  <bruno@clisp.org>
48929
48930         * modules/random_r (Maintainer): Add glibc.
48931
48932 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48933
48934         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48935         by karl@freefriends.org (Karl Berry).
48936         * doc/alloca.texi: Likewise.
48937         * doc/c-ctype.texi: Likewise.
48938         * doc/c-strcase.texi: Likewise.
48939         * doc/c-strcaseeq.texi: Likewise.
48940         * doc/c-strcasestr.texi: Likewise.
48941         * doc/c-strstr.texi: Likewise.
48942         * doc/c-strtod.texi: Likewise.
48943         * doc/c-strtold.texi: Likewise.
48944         * doc/ctime.texi: Likewise.
48945         * doc/error.texi: Likewise.
48946         * doc/fdl.texi: Likewise.
48947         * doc/gcd.texi: Likewise.
48948         * doc/getdate.texi: Likewise.
48949         * doc/gnulib-intro.texi: Likewise.
48950         * doc/gnulib-tool.texi: Likewise.
48951         * doc/gnulib.texi: Likewise.
48952         * doc/inet_ntoa.texi: Likewise.
48953         * doc/maintain.texi: Likewise.
48954         * doc/make-stds.texi: Likewise.
48955         * doc/quote.texi: Likewise.
48956         * doc/regexprops-generic.texi: Likewise.
48957         * doc/standards.texi: Likewise.
48958         * doc/verify.texi: Likewise.
48959         * doc/visibility.texi: Likewise.
48960         * doc/gnulib.texi (GNU Free Documentation License): Include
48961         fdl-1.3.texi instead of fdl.texi.
48962
48963 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48964
48965         * doc/fdl-1.3.texi: New file, from
48966         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48967         * modules/fdl-1.3: Add.
48968         * MODULES.html.sh: Add fdl-1.3.
48969
48970 2008-11-03  Bruno Haible  <bruno@clisp.org>
48971
48972         Make determination of absolute name of header file work with AIX xlc.
48973         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48974         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48975         preprocessing.
48976         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48977         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48978
48979 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48980
48981         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48982         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48983         <ludo@gnu.org>.
48984
48985 2008-11-02  Bruno Haible  <bruno@clisp.org>
48986
48987         Mark 'strpbrk' obsolete.
48988         * modules/strpbrk (Status, Notice): New sections.
48989         * modules/strtok_r (Depends-on): Add strpbrk.
48990
48991 2008-11-02  Bruno Haible  <bruno@clisp.org>
48992
48993         Mark 'strdup' obsolete.
48994         * modules/strdup (Status, Notice): New sections.
48995         * modules/findprog (Depends-on): Add strdup.
48996         * modules/getaddrinfo (Depends-on): Likewise.
48997         * modules/localename (Depends-on): Likewise.
48998         * modules/relocatable-lib (Depends-on): Likewise.
48999         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
49000         * modules/relocatable-prog (Depends-on): Likewise.
49001         * modules/trim (Depends-on): Likewise.
49002         * modules/unictype/gen-ctype (Depends-on): Likewise.
49003         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49004
49005 2008-11-02  Bruno Haible  <bruno@clisp.org>
49006
49007         Mark 'strcspn' obsolete.
49008         * modules/strcspn (Status, Notice): New sections.
49009
49010 2008-11-02  Bruno Haible  <bruno@clisp.org>
49011
49012         Mark 'rmdir' obsolete.
49013         * modules/rmdir (Status, Notice): New sections.
49014         * modules/clean-temp (Depends-on): Add rmdir.
49015         * modules/openat (Depends-on): Likewise.
49016
49017 2008-11-02  Bruno Haible  <bruno@clisp.org>
49018
49019         Mark 'raise' obsolete.
49020         * modules/raise (Status, Notice): New sections.
49021         (Include): Specify <signal.h>.
49022         * modules/stdio (Depends-on): Add raise.
49023         * modules/write (Depends-on): Likewise.
49024
49025 2008-11-02  Bruno Haible  <bruno@clisp.org>
49026
49027         Mark 'memset' obsolete.
49028         * modules/memset (Status, Notice): New sections.
49029
49030 2008-11-02  Bruno Haible  <bruno@clisp.org>
49031
49032         Mark 'memmove' obsolete.
49033         * modules/memmove (Status, Notice): New sections.
49034         * modules/argp (Depends-on): Add memmove.
49035         * modules/argz (Depends-on): Likewise.
49036         * modules/canonicalize (Depends-on): Likewise.
49037         * modules/canonicalize-lgpl (Depends-on): Likewise.
49038         * modules/fts (Depends-on): Likewise.
49039         * modules/getcwd (Depends-on): Likewise.
49040         * modules/human (Depends-on): Likewise.
49041         * modules/regex (Depends-on): Likewise.
49042         * modules/striconveh (Depends-on): Likewise.
49043         * modules/trim (Depends-on): Likewise.
49044         * modules/unistr/u8-move (Depends-on): Likewise.
49045         * modules/unistr/u16-move (Depends-on): Likewise.
49046         * modules/unistr/u32-move (Depends-on): Likewise.
49047
49048 2008-11-02  Bruno Haible  <bruno@clisp.org>
49049
49050         Mark 'memcpy' obsolete.
49051         * modules/memcpy (Status, Notice): New sections.
49052
49053 2008-11-02  Bruno Haible  <bruno@clisp.org>
49054
49055         Mark 'memcmp' obsolete.
49056         * modules/memcmp (Status, Notice): New sections.
49057         * modules/argmatch (Depends-on): Add memchr.
49058         * modules/backupfile (Depends-on): Likewise.
49059         * modules/c-strcasestr (Depends-on): Likewise.
49060         * modules/crypto/des (Depends-on): Likewise.
49061         * modules/csharpcomp (Depends-on): Likewise.
49062         * modules/fnmatch (Depends-on): Likewise.
49063         * modules/git-merge-changelog (Depends-on): Likewise.
49064         * modules/isnand (Depends-on): Likewise.
49065         * modules/isnand-nolibm (Depends-on): Likewise.
49066         * modules/isnanf (Depends-on): Likewise.
49067         * modules/isnanf-nolibm (Depends-on): Likewise.
49068         * modules/isnanl (Depends-on): Likewise.
49069         * modules/isnanl-nolibm (Depends-on): Likewise.
49070         * modules/mbchar (Depends-on): Likewise.
49071         * modules/memcoll (Depends-on): Likewise.
49072         * modules/quotearg (Depends-on): Likewise.
49073         * modules/regex (Depends-on): Likewise.
49074         * modules/relocatable-prog (Depends-on): Likewise.
49075         * modules/same (Depends-on): Likewise.
49076         * modules/signbit (Depends-on): Likewise.
49077         * modules/strcasestr-simple (Depends-on): Likewise.
49078         * modules/unictype/gen-ctype (Depends-on): Likewise.
49079         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
49080         * modules/uniname/uniname (Depends-on): Likewise.
49081         * modules/unistr/u8-cmp (Depends-on): Likewise.
49082
49083 2008-11-02  Bruno Haible  <bruno@clisp.org>
49084
49085         Mark 'memchr' obsolete.
49086         * modules/memchr (Status, Notice): New sections.
49087         * modules/argp (Depends-on): Add memchr.
49088         * modules/base64 (Depends-on): Likewise.
49089         * modules/c-strcasestr (Depends-on): Likewise.
49090         * modules/chdir-long (Depends-on): Likewise.
49091         * modules/fnmatch (Depends-on): Likewise.
49092         * modules/getsubopt (Depends-on): Likewise.
49093         * modules/git-merge-changelog (Depends-on): Likewise.
49094         * modules/glob (Depends-on): Likewise.
49095         * modules/strcasestr-simple (Depends-on): Likewise.
49096         * modules/strnlen (Depends-on): Likewise.
49097
49098 2008-11-02  Bruno Haible  <bruno@clisp.org>
49099
49100         Mark 'atexit' obsolete.
49101         * modules/atexit (Status, Notice): New sections.
49102         * modules/chdir-long (Depends-on): Add atexit.
49103         * modules/wait-process (Depends-on): Likewise.
49104
49105 2008-11-02  Bruno Haible  <bruno@clisp.org>
49106
49107         * gnulib-tool: New option --with-obsolete.
49108         (func_usage): Document it.
49109         (func_modules_transitive_closure): Drop obsolete dependencies if
49110         incobsolete is not true.
49111         (func_import): Read and save the incobsolete variable to the cache.
49112
49113 2008-11-02  Bruno Haible  <bruno@clisp.org>
49114
49115         * modules/TEMPLATE-EXTENDED: New field 'Status'.
49116         * gnulib-tool: New option --extract-status.
49117         (func_usage): Document it.
49118         (sed_extract_prog): Recognize it.
49119         (func_get_status): New function.
49120
49121 2008-10-30  Simon Josefsson  <simon@josefsson.org>
49122
49123         * modules/sockets (License): Change from LGPL to LGPLv2+.
49124
49125 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49126
49127         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
49128
49129 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49130
49131         * MODULES.html.sh (Support for systems lacking POSIX:2001):
49132         Mention times and sys_times.
49133         * modules/sys_times, modules/sys_times-tests: New modules.
49134         * modules/times, modules/times-tests: Likewise
49135         * m4/sys_times_h.m4: New file.
49136         * lib/sys_times.in.h: Likewise
49137         * lib/times.c: Likewise.
49138         * tests/test-sys_times.c: Likewise.
49139         * tests/test-times.c: Likewise.
49140         * doc/posix-headers/sys_times.texi: Update.
49141         * doc/posix-functions/times.texi: Update.
49142
49143 2008-10-28  Jim Meyering  <meyering@redhat.com>
49144
49145         * modules/tempname (Depends-on): Add lstat.
49146
49147         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
49148
49149 2008-10-28  Simon Josefsson  <simon@josefsson.org>
49150
49151         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
49152         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
49153         using idiom used elsewhere in gnulib.
49154
49155 2008-10-27  Jim Meyering  <meyering@redhat.com>
49156
49157         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
49158
49159 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49160
49161         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
49162         TESTS_ENVIRONMENT, for shell scripts that needs to call built
49163         programs.
49164         * tests/test-argp-2.sh: Use $EXEEXT when needed.
49165
49166 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49167
49168         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
49169
49170 2008-10-27  Bruno Haible  <bruno@clisp.org>
49171
49172         * tests/test-lstat.c: Include <stdio.h>.
49173
49174 2008-10-27  Simon Josefsson  <simon@josefsson.org>
49175
49176         * modules/lstat-tests: New module.
49177         * tests/test-lstat.c: New file.
49178
49179 2008-10-26  Jim Meyering  <meyering@redhat.com>
49180
49181         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
49182
49183 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49184             Bruno Haible  <bruno@clisp.org>
49185
49186         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
49187         * modules/configmake (Include): Add a note that the include must come
49188         after all system headers.
49189         * lib/javaversion.c: Include configmake.h after all other includes.
49190
49191 2008-10-26  Bruno Haible  <bruno@clisp.org>
49192
49193         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
49194         HAVE_STRUCT_RANDOM_DATA to 1.
49195         (gl_STDLIB_H): Simplify.
49196
49197 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49198
49199         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
49200         substitute HAVE_STRUCT_RANDOM_DATA.
49201         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
49202         random_data.
49203         * modules/stdlib (Makefile.am): Substitute
49204         HAVE_STRUCT_RANDOM_DATA.
49205
49206 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49207
49208         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
49209         * doc/gnulib-intro.texi (Copyright): Likewise.
49210
49211 2008-10-26  Simon Josefsson  <simon@josefsson.org>
49212
49213         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
49214         findings.
49215
49216 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
49217             Bruno Haible  <bruno@clisp.org>
49218
49219         * lib/unistd.in.h: Include <winsock2.h>.
49220         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
49221         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
49222         Provide dummy declarations.
49223         (gethostname): Override.
49224         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
49225         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
49226         gl_PREREQ_SYS_H_WINSOCK2.
49227         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
49228         * doc/posix-functions/gethostname.texi: More details.
49229
49230 2008-10-25  Bruno Haible  <bruno@clisp.org>
49231
49232         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49233         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
49234         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
49235
49236         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
49237         here ...
49238         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
49239         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
49240         gl_UNISTD_H_DEFAULTS.
49241
49242 2008-10-25  Eric Blake  <ebb9@byu.net>
49243
49244         signbit: avoid spurious compiler failure
49245         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
49246         declarations inside function.
49247
49248 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49249             Bruno Haible  <bruno@clisp.org>
49250
49251         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
49252         * modules/random_r (Depends-on): Add stdint.
49253
49254 2008-10-24  Bruno Haible  <bruno@clisp.org>
49255
49256         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
49257         Eggert.
49258         * modules/strerror (License): Likewise.
49259
49260 2008-10-24  Jim Meyering  <meyering@redhat.com>
49261
49262         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
49263         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
49264
49265 2008-10-24  Eric Blake  <ebb9@byu.net>
49266
49267         getgroups: fix compilation when getgroups is available
49268         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
49269         but with <config.h> override of getgroups disabled.
49270
49271 2008-10-24  Simon Josefsson  <simon@josefsson.org>
49272
49273         * doc/gnulib.texi (Header files): Add note about C++ problems.
49274         Explained by Bruno Haible <bruno@clisp.org>.
49275
49276 2008-10-23  Bruno Haible  <bruno@clisp.org>
49277
49278         Define a dummy SA_NODEFER macro on Interix.
49279         * lib/signal.in.h (SA_NODEFER): Define fallback.
49280         Reported by Aleksey Cheusov <cheusov@tut.by> via
49281         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
49282
49283 2008-10-23  Bruno Haible  <bruno@clisp.org>
49284
49285         * modules/freadahead (License): Change to LGPLv2+.
49286         Suggested by Simon Josefsson.
49287
49288 2008-10-23  Jim Meyering  <meyering@redhat.com>
49289
49290         random_r: new module
49291         * modules/random_r: New file.
49292         * m4/random_r.m4: New file.
49293         * lib/random_r.c: New file, from glibc.
49294         * modules/random_r-tests: New file.
49295         * tests/test-random_r.c: New file.
49296         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
49297          Declare.
49298         (RAND_MAX): Define.
49299         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
49300         * modules/stdlib: Substitute them, too.
49301         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
49302         * doc/glibc-functions/initstate_r.texi: Mention the new module.
49303         * doc/glibc-functions/random_r.texi: Likewise.
49304         * doc/glibc-functions/setstate_r.texi: Likewise.
49305         * doc/glibc-functions/srandom_r.texi: Likewise.
49306         * config/srclist.txt: Mention it.
49307
49308 2008-10-23  David Lutterkort  <lutter@redhat.com>
49309
49310         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
49311         link requirement
49312
49313 2008-10-23  Jim Meyering  <meyering@redhat.com>
49314
49315         selinux-h: mark parameters of stub functions as intentionally unused
49316         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
49317         * lib/se-context.in.h: Likewise.
49318
49319 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49320
49321         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
49322
49323 2008-10-22  Simon Josefsson  <simon@josefsson.org>
49324
49325         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
49326
49327 2008-10-22  Eric Blake  <ebb9@byu.net>
49328
49329         glthread/thread: avoid compiler warning
49330         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
49331         Add unreachable abort to silence compiler.
49332
49333 2008-10-22  Eric Blake  <ebb9@byu.net>
49334
49335         netdb: also supply struct addrinfo for cygwin 1.5.x
49336         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
49337         older cygwin.
49338         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
49339         cygwin.
49340         * doc/posix-headers/netdb.texi (netdb.h): Document this.
49341
49342 2008-10-22  Bruno Haible  <bruno@clisp.org>
49343
49344         * users.txt: Update entry about pspp.
49345
49346 2008-10-21  Bruno Haible  <bruno@clisp.org>
49347
49348         Simplification.
49349         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
49350         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
49351
49352         Simplification.
49353         * lib/ioctl.c (ioctl): Don't undefine.
49354         * lib/socket.c (socket): Don't undefine.
49355
49356         Remove unused module indicator macros.
49357         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
49358         GNULIB_$1 as a C macro.
49359
49360         * doc/posix-functions/close.texi: Undo last change.
49361         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
49362         Windows platforms.
49363
49364 2008-10-21  Bruno Haible  <bruno@clisp.org>
49365
49366         Add gethostname() declaration to <unistd.h>.
49367         * lib/unistd.in.h (gethostname): New declaration.
49368         * lib/gethostname.c: Include <unistd.h>.
49369         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
49370         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
49371         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
49372         and HAVE_GETHOSTNAME.
49373         * modules/gethostname (Depends-on): Add unistd.
49374         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49375         (Include): Specify <unistd.h>.
49376         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
49377         HAVE_GETHOSTNAME.
49378         * tests/test-gethostname.c: Include <unistd.h> first.
49379
49380 2008-10-21  Bruno Haible  <bruno@clisp.org>
49381
49382         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
49383         * modules/select-tests (Depends-on): Likewise.
49384         Reported by Simon Josefsson.
49385
49386 2008-10-21  Simon Josefsson  <simon@josefsson.org>
49387
49388         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
49389         * lib/accept.c: New file, based on winsock.c.
49390         * lib/bind.c: New file, based on winsock.c.
49391         * lib/connect.c: New file, based on winsock.c.
49392         * lib/getpeername.c: New file, based on winsock.c.
49393         * lib/getsockname.c: New file, based on winsock.c.
49394         * lib/getsockopt.c: New file, based on winsock.c.
49395         * lib/ioctl.c: New file, based on winsock.c.
49396         * lib/listen.c: New file, based on winsock.c.
49397         * lib/recv.c: New file, based on winsock.c.
49398         * lib/recvfrom.c: New file, based on winsock.c.
49399         * lib/send.c: New file, based on winsock.c.
49400         * lib/sendto.c: New file, based on winsock.c.
49401         * lib/setsockopt.c: New file, based on winsock.c.
49402         * lib/shutdown.c: New file, based on winsock.c.
49403         * lib/socket.c: New file, based on winsock.c.
49404         * lib/w32sock.h: New file, based on winsock.c.
49405         * lib/winsock.c: Remove file.
49406         * modules/accept: Likewise.
49407         * modules/bind: Likewise.
49408         * modules/connect: Likewise.
49409         * modules/getpeername: Likewise.
49410         * modules/getsockname: Likewise.
49411         * modules/getsockopt: Likewise.
49412         * modules/ioctl: Likewise.
49413         * modules/listen: Likewise.
49414         * modules/recv: Likewise.
49415         * modules/recvfrom: Likewise.
49416         * modules/send: Likewise.
49417         * modules/sendto: Likewise.
49418         * modules/setsockopt: Likewise.
49419         * modules/shutdown: Likewise.
49420         * modules/socket: Use socket.c instead of winsock.c.
49421         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
49422         * doc/posix-functions/accept.texi: Doc fix.
49423         * doc/posix-functions/bind.texi: Doc fix.
49424         * doc/posix-functions/close.texi: Doc fix.
49425         * doc/posix-functions/connect.texi: Doc fix.
49426         * doc/posix-functions/getpeername.texi: Doc fix.
49427         * doc/posix-functions/getsockname.texi: Doc fix.
49428         * doc/posix-functions/getsockopt.texi: Doc fix.
49429         * doc/posix-functions/ioctl.texi: Doc fix.
49430         * doc/posix-functions/listen.texi: Doc fix.
49431         * doc/posix-functions/recv.texi: Doc fix.
49432         * doc/posix-functions/recvfrom.texi: Doc fix.
49433         * doc/posix-functions/send.texi: Doc fix.
49434         * doc/posix-functions/sendto.texi: Doc fix.
49435         * doc/posix-functions/setsockopt.texi: Doc fix.
49436         * doc/posix-functions/shutdown.texi: Doc fix.
49437         * doc/posix-functions/socket.texi: Doc fix.
49438
49439 2008-10-20  Bruno Haible  <bruno@clisp.org>
49440
49441         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49442         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49443         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49444         as an alias for SIGABRT.
49445         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49446         (sigaction): Map it to SIGABRT.
49447         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49448
49449 2008-10-20  Bruno Haible  <bruno@clisp.org>
49450
49451         * lib/fts.c: Don't include lstat.h.
49452         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49453
49454         Move the lstat() declaration to <sys/stat.h>.
49455         * lib/lstat.h: Remove file.
49456         * lib/sys_stat.in.h: Add special invocation convention.
49457         (lstat): New declaration.
49458         * lib/lstat.c (orig_lstat): New function.
49459         (rpl_lstat): Use orig_lstat instead of lstat.
49460         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49461         AC_C_INLINE. Set REPLACE_LSTAT.
49462         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49463         and REPLACE_LSTAT.
49464         * modules/lstat (Files): Remove lib/lstat.h.
49465         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49466         (Include): Specify <sys/stat.h> instead of lstat.h.
49467         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49468         REPLACE_LSTAT.
49469         * NEWS: Mention the change.
49470
49471 2008-10-20  Bruno Haible  <bruno@clisp.org>
49472
49473         * modules/posix_spawn-tests: New file.
49474         * tests/test-posix_spawn3.c: New file.
49475
49476 2008-10-20  Bruno Haible  <bruno@clisp.org>
49477
49478         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49479         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49480         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49481         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49482         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49483
49484 2008-10-20  Bruno Haible  <bruno@clisp.org>
49485
49486         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49487         of posix_spawn on AIX 5.3.
49488
49489 2008-10-20  Bruno Haible  <bruno@clisp.org>
49490
49491         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49492
49493 2008-10-20  Bruno Haible  <bruno@clisp.org>
49494
49495         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49496         of AC_LANG_PROGRAM.
49497
49498 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49499
49500         * lib/netdb.in.h: Don't define GNU specific constants until they
49501         are supported or needed.  Reported by Bruno Haible
49502         <bruno@clisp.org>.
49503
49504 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49505
49506         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49507
49508 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49509
49510         * lib/getaddrinfo.h: Remove file.
49511         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49512         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49513         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49514         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49515         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49516         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49517         * tests/test-getaddrinfo.c: Likewise.
49518         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49519         * NEWS: Mention change.
49520
49521 2008-10-19  Bruno Haible  <bruno@clisp.org>
49522
49523         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49524
49525 2008-10-19  Bruno Haible  <bruno@clisp.org>
49526
49527         * lib/wait-process.c: Include simply <sys/wait.h>.
49528         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49529         WIFSTOPPED): Remove fallback definitions.
49530         * modules/wait-process (Depends-on): Add sys_wait.
49531
49532         New module 'sys_wait'.
49533         * modules/sys_wait: New file.
49534         * lib/sys_wait.in.h: New file, partially copied from
49535         lib/wait-process.c.
49536         * m4/sys_wait_h.m4: New file.
49537         * doc/posix-headers/sys_wait.texi: Mention the new module.
49538
49539 2008-10-19  Bruno Haible  <bruno@clisp.org>
49540
49541         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49542
49543 2008-10-19  Bruno Haible  <bruno@clisp.org>
49544
49545         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49546         * lib/wait-process.c (WAIT_T): Remove type.
49547         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49548         (wait_subprocess): Update.
49549
49550 2008-10-19  Bruno Haible  <bruno@clisp.org>
49551
49552         New module 'atoll'.
49553         * modules/atoll: New file.
49554         * lib/stdlib.in.h (atoll): New declaration.
49555         * lib/atoll.c: New file, from glibc with modifications.
49556         * m4/atoll.m4: New file.
49557         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49558         HAVE_ATOLL.
49559         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49560         * doc/posix-functions/atoll.texi: Mention the new module.
49561
49562 2008-10-19  Bruno Haible  <bruno@clisp.org>
49563
49564         Add strtoull() declaration to <stdlib.h>.
49565         * lib/stdlib.in.h (strtoull): New declaration.
49566         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49567         Set HAVE_STRTOULL.
49568         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49569         HAVE_STRTOULL.
49570         * modules/strtoull (Depends-on): Add stdlib.
49571         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49572         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49573         HAVE_STRTOULL.
49574
49575 2008-10-19  Bruno Haible  <bruno@clisp.org>
49576
49577         Add strtoll() declaration to <stdlib.h>.
49578         * lib/stdlib.in.h (strtoll): New declaration.
49579         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49580         Set HAVE_STRTOLL.
49581         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49582         HAVE_STRTOLL.
49583         * modules/strtoll (Depends-on): Add stdlib.
49584         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49585         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49586
49587 2008-10-19  Bruno Haible  <bruno@clisp.org>
49588
49589         * modules/bcopy (Depends-on): Add strings.
49590         (Include): Specify <strings.h>.
49591
49592 2008-10-19  Bruno Haible  <bruno@clisp.org>
49593
49594         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49595
49596 2008-10-19  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49599         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49600         mingw.
49601
49602 2008-10-19  Bruno Haible  <bruno@clisp.org>
49603
49604         * lib/atanl.c: Don't include isnanl.h.
49605         * lib/cosl.c: Likewise.
49606         * lib/ldexpl.c: Likewise.
49607         * lib/logl.c: Likewise.
49608         * lib/sinl.c: Likewise.
49609         * lib/sqrtl.c: Likewise.
49610         * lib/tanl.c: Likewise.
49611
49612         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49613         * lib/isnanf.h: Remove file.
49614         * lib/isnand.h: Remove file.
49615         * lib/isnanl.h: Remove file.
49616         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49617         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49618         macros.
49619         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49620         HAVE_ISNANF, don't define it as a C macro.
49621         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49622         HAVE_ISNAND, don't define it as a C macro.
49623         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49624         HAVE_ISNANL, don't define it as a C macro.
49625         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49626         HAVE_ISNAN[FDL].
49627         * modules/isnanf (Files): Remove lib/isnanf.h.
49628         (Depends-on): Add math.
49629         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49630         (Include): Specify <math.h> instead of isnanf.h.
49631         * modules/isnand (Files): Remove lib/isnand.h.
49632         (Depends-on): Add math.
49633         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49634         (Include): Specify <math.h> instead of isnand.h.
49635         * modules/isnanl (Files): Remove lib/isnanl.h.
49636         (Depends-on): Add math.
49637         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49638         (Include): Specify <math.h> instead of isnanl.h.
49639         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49640         HAVE_ISNAN[FDL].
49641         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49642         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49643         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49644         * NEWS: Mention the change.
49645
49646 2008-10-18  Bruno Haible  <bruno@clisp.org>
49647
49648         Add getusershell(), setusershell(), endusershell() declarations to
49649         <unistd.h>.
49650         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49651         declarations.
49652         * lib/getusershell.c: Include unistd.h.
49653         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49654         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49655         HAVE_GETUSERSHELL.
49656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49657         and HAVE_GETUSERSHELL.
49658         * modules/getusershell (Depends-on): Add unistd, extensions.
49659         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49660         (Include): Specify <unistd.h>.
49661         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49662         HAVE_GETUSERSHELL.
49663
49664 2008-10-18  Bruno Haible  <bruno@clisp.org>
49665
49666         Add a getloadavg() declaration to <stdlib.h>.
49667         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49668         getloadavg declaration.
49669         (getloadavg): New declaration.
49670         * lib/getloadavg.c: Include <stdlib.h> first.
49671         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49672         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49673         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49674         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49675         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49676         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49677         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49678         (Include): Specify <stdlib.h>.
49679         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49680         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49681
49682 2008-10-18  Bruno Haible  <bruno@clisp.org>
49683
49684         * lib/dirchownmod.c: Don't include lchmod.h.
49685
49686         Move the lchmod() declaration to <sys/stat.h>.
49687         * lib/lchmod.h: Remove file.
49688         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49689         (lchmod): New declaration, moved here from lib/lchown.h.
49690         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49691         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49692         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49693         and HAVE_LCHMOD.
49694         * modules/lchmod (Files): Remove lib/lchmod.h.
49695         (Depends-on): Add sys_stat, extensions.
49696         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49697         (Include): Specify <sys/stat.h> instead of lchmod.h.
49698         * modules/sys_stat (Depends-on): Add link-warning.
49699         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49700         definition of GL_LINK_WARNING.
49701         * NEWS: Mention the change.
49702
49703 2008-10-18  Bruno Haible  <bruno@clisp.org>
49704
49705         * lib/fchdir.c: Don't include dirfd.h.
49706         * lib/fts.c: Likewise.
49707         * lib/getcwd.c: Likewise.
49708         * lib/glob.c: Likewise.
49709
49710         Move the dirfd() declaration to <dirent.h>.
49711         * lib/dirfd.h: Remove file.
49712         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49713         (dirfd): New declaration.
49714         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49715         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49716         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49717         HAVE_DECL_DIRFD.
49718         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49719         HAVE_DECL_DIRFD.
49720         * modules/dirfd (Files): Remove lib/dirfd.h.
49721         (Depends-on): Add dirent, extensions.
49722         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49723         (Include): Specify <dirent.h> instead of dirfd.h.
49724         * modules/dirent (Depends-on): Add link-warning.
49725         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49726         definition of GL_LINK_WARNING.
49727         * NEWS: Mention the change.
49728
49729 2008-10-18  Bruno Haible  <bruno@clisp.org>
49730
49731         Move the euidaccess() declaration to <unistd.h>.
49732         * lib/euidaccess.h: Remove file.
49733         * lib/unistd.in.h (euidaccess): New declaration.
49734         * lib/euidaccess.c: Don't include euidaccess.h.
49735         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49736         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49738         and HAVE_EUIDACCESS.
49739         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49740         (Depends-on): Add unistd.
49741         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49742         (Include): Specify <unistd.h> instead of euidaccess.h.
49743         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49744         HAVE_EUIDACCESS.
49745         * NEWS: Mention the change.
49746
49747 2008-10-18  Bruno Haible  <bruno@clisp.org>
49748
49749         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49750
49751         Move the getdomainname() declaration to <unistd.h>.
49752         * lib/getdomainname.h: Remove file.
49753         * lib/unistd.in.h (getdomainname): New declaration.
49754         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49755         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49756         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49757         HAVE_GETDOMAINNAME.
49758         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49759         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49760         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49761         (Depends-on): Add unistd, extensions.
49762         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49763         (Includes): Specify <unistd.h> instead of getdomainname.h.
49764         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49765         HAVE_GETDOMAINNAME.
49766         * NEWS: Mention the change.
49767
49768 2008-10-18  Bruno Haible  <bruno@clisp.org>
49769
49770         * modules/dirent: New file.
49771         * m4/dirent_h.m4: New file.
49772         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49773         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49774         * modules/fchdir (Files): Remove lib/dirent.in.h.
49775         (Depends-on): Add dirent.
49776         (Makefile.am): Move rules to modules/dirent.
49777         * doc/posix-headers/dirent.texi: Mention the new module.
49778
49779 2008-10-18  Bruno Haible  <bruno@clisp.org>
49780
49781         Avoid -Wunused-parameter warnings in public gnulib header files.
49782         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49783         macro.
49784         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49785
49786 2008-10-18  Bruno Haible  <bruno@clisp.org>
49787
49788         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49789         * doc/glibc-functions/error.texi: Mention the module 'error'.
49790         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49791         * doc/glibc-functions/getdomainname.texi: Mention the module
49792         'getdomainname'.
49793         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49794         * doc/glibc-functions/getpagesize.texi: Mention the module
49795         'getpagesize'.
49796         * doc/glibc-functions/getusershell.texi: Mention the module
49797         'getusershell'.
49798         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49799         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49800         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49801         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49802         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49803         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49804         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49805         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49806         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49807         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49808         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49809         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49810         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49811         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49812
49813 2008-10-17  Bruno Haible  <bruno@clisp.org>
49814
49815         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49816         HP-UX and IRIX, use -0.0L.
49817         * tests/test-ceill.c (minus_zero): Likewise.
49818         * tests/test-floorl.c (minus_zero): Likewise.
49819         * tests/test-frexpl.c (minus_zero): Likewise.
49820         * tests/test-isnan.c (minus_zerol): Likewise.
49821         * tests/test-isnanl.h (minus_zero): Likewise.
49822         * tests/test-ldexpl.c (minus_zero): Likewise.
49823         * tests/test-roundl.c (minus_zero): Likewise.
49824         * tests/test-signbit.c (minus_zerol): Likewise.
49825         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49826         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49827         * tests/test-truncl.c (minus_zero): Likewise.
49828         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49829         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49830         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49831         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49832
49833 2008-10-17  Bruno Haible  <bruno@clisp.org>
49834
49835         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49836         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49837         that it gets activated only for gcc >= 3.0.
49838         * lib/dirent.in.h: Likewise.
49839         * lib/errno.in.h: Likewise.
49840         * lib/fcntl.in.h: Likewise.
49841         * lib/float.in.h: Likewise.
49842         * lib/iconv.in.h: Likewise.
49843         * lib/inttypes.in.h: Likewise.
49844         * lib/locale.in.h: Likewise.
49845         * lib/math.in.h: Likewise.
49846         * lib/netdb.in.h: Likewise.
49847         * lib/netinet_in.in.h: Likewise.
49848         * lib/search.in.h: Likewise.
49849         * lib/signal.in.h: Likewise.
49850         * lib/spawn.in.h: Likewise.
49851         * lib/stdarg.in.h: Likewise.
49852         * lib/stdint.in.h: Likewise.
49853         * lib/stdio.in.h: Likewise.
49854         * lib/stdlib.in.h: Likewise.
49855         * lib/string.in.h: Likewise.
49856         * lib/strings.in.h: Likewise.
49857         * lib/sys_file.in.h: Likewise.
49858         * lib/sys_ioctl.in.h: Likewise.
49859         * lib/sys_select.in.h: Likewise.
49860         * lib/sys_socket.in.h: Likewise.
49861         * lib/sys_stat.in.h: Likewise.
49862         * lib/sys_time.in.h: Likewise.
49863         * lib/sysexits.in.h: Likewise.
49864         * lib/time.in.h: Likewise.
49865         * lib/unistd.in.h: Likewise.
49866         * lib/wchar.in.h: Likewise.
49867         * lib/wctype.in.h: Likewise.
49868         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49869
49870 2008-10-17  Jim Meyering  <meyering@redhat.com>
49871
49872         ignore-value: don't depend on inline module
49873         * modules/ignore-value (Depends-on): Remove 'inline'.
49874         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49875         Suggestion from Bruno Haible.
49876
49877 2008-10-17  Bruno Haible  <bruno@clisp.org>
49878
49879         New implementation of condition variables for Win32.
49880         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49881         (gl_linked_waitqueue_t): New type.
49882         (gl_cond_t): Use it.
49883         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49884         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49885         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49886         (glthread_cond_init_func, glthread_cond_wait_func,
49887         glthread_cond_timedwait_func, glthread_cond_signal_func,
49888         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49889         Reimplemented on the basis of gl_linked_waitqueue_t.
49890         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49891         gl_waitqueue_t.
49892         (gl_rwlock_t): Update.
49893         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49894
49895 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49896
49897         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49898         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49899
49900 2008-10-17  Jim Meyering  <meyering@redhat.com>
49901
49902         ignore-value: new module
49903         * modules/ignore-value: New file.
49904         * lib/ignore-value.h: New file.
49905         * MODULES.html.sh (Compiler warning management): New section,
49906         just for this module.  More to come.
49907
49908 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49909
49910         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49911         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49912         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49913
49914 2008-10-16  Jim Meyering  <meyering@redhat.com>
49915
49916         openat-die.c: avoid 'no previous prototype' warning
49917         * lib/openat-die.c: Include "openat.h".
49918         Reported by Reuben Thomas <rrt@sc3d.org>.
49919
49920 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49921
49922         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49923         * lib/netdb.in.h: Fix typo.
49924         Reported by Bruno Haible  <bruno@clisp.org>
49925
49926         * lib/netdb.in.h: Include sys/socket.h for platforms without
49927         netdb.h, to get structures like hostent on MinGW.
49928         * modules/netdb (Depends-on): Add sys_socket.
49929
49930 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49931
49932         * modules/netdb, modules/netdb-tests: New file.
49933         * m4/netdb_h.m4: New file.
49934         * lib/netdb.in.h: Add, currently just an empty file pending
49935         definitions.
49936         * tests/test-netdb.c: New file.
49937         * doc/posix-headers/netdb.texi: Mention that we replace it if
49938         needed.
49939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49940         netdb.
49941
49942 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49943
49944         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49945         with code.
49946
49947 2008-10-13  Bruno Haible  <bruno@clisp.org>
49948
49949         * lib/glthread/cond.c (glthread_cond_wait_func,
49950         glthread_cond_timedwait_func): Add a comment.
49951
49952 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49953
49954         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49955         * tests/test-select.c: Likewise,
49956
49957 2008-10-13  Bruno Haible  <bruno@clisp.org>
49958
49959         * lib/glthread/cond.c (glthread_cond_wait_func,
49960         glthread_cond_timedwait_func): Fix variable name.
49961         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49962
49963 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49964
49965         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49966         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49967         struct sockaddr.sa_len.
49968         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49969
49970 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49971
49972         * build-aux/pmccabe2html: Add css and css_url parameters.
49973
49974 2008-10-12  Bruno Haible  <bruno@clisp.org>
49975
49976         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49977         calling aclx_get.
49978         Reported by Rainer Tammer <tammer@tammer.net>.
49979
49980 2008-10-12  Bruno Haible  <bruno@clisp.org>
49981
49982         Use msvcrt aware primitives for creation/termination of Win32 threads.
49983         * lib/glthread/thread.c: Include <process.h>.
49984         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49985         (wrapper_func): Update signature.
49986         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49987
49988 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49989             Bruno Haible  <bruno@clisp.org>
49990
49991         Provide a Win32 implementation of the 'cond' module.
49992         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49993         * lib/glthread/cond.c (glthread_cond_init_func,
49994         glthread_cond_wait_func, glthread_cond_timedwait_func,
49995         glthread_cond_signal_func, glthread_cond_broadcast_func,
49996         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49997         * modules/cond (Dependencies): Add gettimeofday.
49998
49999 2008-10-11  Bruno Haible  <bruno@clisp.org>
50000
50001         Make sleep work on older versions of mingw.
50002         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
50003         only whether it exists.
50004         * doc/posix-functions/sleep.texi: Mention the problem with older
50005         versions of mingw.
50006
50007 2008-10-11  Bruno Haible  <bruno@clisp.org>
50008
50009         New module 'shutdown'.
50010         * modules/shutdown: New file.
50011         * lib/sys_socket.in.h (shutdown): New declaration.
50012         * lib/winsock.c (shutdown): New function.
50013         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
50014         GNULIB_SHUTDOWN.
50015         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
50016         * doc/posix-functions/shutdown.texi: Document the new module.
50017
50018 2008-10-11  Jim Meyering  <meyering@redhat.com>
50019
50020         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
50021
50022 2008-10-11  Bruno Haible  <bruno@clisp.org>
50023
50024         New module 'fclose'.
50025         * modules/fclose: New file.
50026         * lib/stdio.in.h (fclose): New declaration.
50027         * lib/fclose.c: New file.
50028         * m4/fclose.m4: New file.
50029         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
50030         REPLACE_FCLOSE.
50031         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
50032         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
50033         REPLACE_FCLOSE.
50034         * modules/close (Depends-on): fclose.
50035         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
50036
50037 2008-10-11  Bruno Haible  <bruno@clisp.org>
50038
50039         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
50040         set errno and don't call _close.
50041
50042 2008-10-10  Bruno Haible  <bruno@clisp.org>
50043
50044         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
50045         ACL, not afterwards. Fixes test failure on Cygwin.
50046
50047 2008-10-09  Ben Pfaff  <blp@gnu.org>
50048
50049         * build-aux/announce-gen: Fix gnulib version related part of usage
50050         message.  Die with a useful error message if no tarballs are
50051         found.
50052
50053 2008-10-10  Jim Meyering  <meyering@redhat.com>
50054
50055         bootstrap: use git's --depth=N option only if it's supported
50056         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
50057         recognize the --depth option.  Reported by Pádraig Brady.
50058
50059 2008-10-09  Bruno Haible  <bruno@clisp.org>
50060
50061         New module 'ioctl'.
50062         * modules/ioctl: New file.
50063         * lib/sys_socket.in.h (ioctl): Remove declaration.
50064         * lib/winsock.c: Include <sys/ioctl.h>.
50065         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
50066         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
50067         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
50068         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
50069         * doc/posix-functions/ioctl.texi: Mention the new module.
50070
50071 2008-10-09  Bruno Haible  <bruno@clisp.org>
50072
50073         New module 'sys_ioctl'.
50074         * lib/sys_ioctl.in.h: New file.
50075         * m4/sys_ioctl_h.m4: New file.
50076         * modules/sys_ioctl: New file.
50077         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
50078
50079 2008-10-09  Bruno Haible  <bruno@clisp.org>
50080
50081         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
50082         * lib/winsock.c: Include <stdarg.h>.
50083         (rpl_ioctl): Change to second argument 'int' and then varargs.
50084
50085 2008-10-09  Bruno Haible  <bruno@clisp.org>
50086
50087         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
50088         when the sys_socket module is present and the system has <winsock2.h>.
50089
50090 2008-10-09  Bruno Haible  <bruno@clisp.org>
50091
50092         * doc/posix-functions/close.texi: Mention module 'close' instead of
50093         module 'sys_socket'.
50094
50095 2008-10-09  Bruno Haible  <bruno@clisp.org>
50096
50097         * doc/glibc-headers/sys_ioctl.texi: New file.
50098         * doc/gnulib.texi: Include it.
50099
50100 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50101             Bruno Haible  <bruno@clisp.org>
50102
50103         Combine the two replacements of 'close'.
50104         * lib/sys_socket.in.h (close): Define to a reminder to include
50105         <unistd.h>.
50106         (_gl_close_fd_maybe_socket): New declaration.
50107         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
50108         * lib/winsock.c (close): Remove undefinition.
50109         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
50110         needed for the gnulib module 'close'.
50111         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
50112         define to an error symbol or to a warning, if suitable.
50113         * lib/close.c: Include <sys/socket.h>.
50114         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
50115         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
50116         UNISTD_H_HAVE_WINSOCK2_H.
50117         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
50118         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50119         UNISTD_H_HAVE_WINSOCK2_H.
50120         * modules/sys_socket (Files): Add m4/unistd_h.m4.
50121         (configure.ac): Set a module indicator.
50122         (Makefile.am): Substitute GNULIB_CLOSE.
50123         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
50124         * modules/poll-tests (Depends-on): Add close.
50125         * modules/select-tests (Depends-on): Likewise.
50126
50127 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50128             Bruno Haible  <bruno@clisp.org>
50129
50130         New module 'close'.
50131         * modules/close: New file.
50132         * lib/unistd.in.h (close): Move declaration out of the
50133         FCHDIR_REPLACEMENT scope.
50134         (_gl_unregister_fd): New declaration.
50135         * lib/close.c: New file.
50136         * lib/fchdir.c (rpl_close): Remove function.
50137         * m4/close.m4: New file.
50138         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50139         close.
50140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
50141         REPLACE_CLOSE.
50142         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
50143         REPLACE_CLOSE.
50144         * modules/fchdir (Depends-on): Add close.
50145
50146 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50147             Bruno Haible  <bruno@clisp.org>
50148
50149         * lib/fcntl.in.h (open): Simplify conditionals.
50150         (_gl_register_fd): New declaration.
50151         * lib/fchdir.c (rpl_open): Remove function.
50152         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
50153         also.
50154         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
50155         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
50156         open.
50157
50158 2008-10-09  Jim Meyering  <meyering@redhat.com>
50159
50160         GNUmakefile: use the more name-space-friendly "_version"
50161         * top/GNUmakefile (_dummy): Update.
50162         (_version): Rename from "version".
50163
50164 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50165             Bruno Haible  <bruno@clisp.org>
50166
50167         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
50168         rpl_close.
50169         (_gl_register_fd): New function, extracted from rpl_open.
50170         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
50171         (rpl_open, rpl_opendir): Use _gl_register_fd.
50172
50173 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
50174
50175         Fix organization of 'open' replacement.
50176         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
50177         (gl_FUNC_OPEN): Use it.
50178         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
50179
50180 2008-10-08  Bruno Haible  <bruno@clisp.org>
50181
50182         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
50183
50184 2008-10-08  Simon Josefsson  <simon@josefsson.org>
50185
50186         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
50187         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
50188         listen).
50189
50190 2008-10-08  Eric Blake  <ebb9@byu.net>
50191
50192         GNUmakefile: add 'make version' target
50193         * top/GNUmakefile (_curr-ver): Split version update rules...
50194         (version): ...into a target.
50195
50196 2008-10-07  Bruno Haible  <bruno@clisp.org>
50197
50198         Use a more portable replacement expression for -0.0L.
50199         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
50200         instead of -0.0L. Fix m4 quotation.
50201
50202         * tests/test-signbit.c: Include <float.h>.
50203         (minus_zero): New variable.
50204         (test_signbitl): Use minus_zero instead of -zero.
50205         * modules/signbit-tests (Depends-on): Add float.
50206
50207         * tests/test-ceill.c: Include <float.h>.
50208         (zero): Remove variable.
50209         (minus_zero): New variable.
50210         (main): Use minus_zero instead of -zero.
50211         * modules/ceill-tests (Depends-on): Add float.
50212
50213         * tests/test-floorl.c: Include <float.h>.
50214         (zero): Remove variable.
50215         (minus_zero): New variable.
50216         (main): Use minus_zero instead of -zero.
50217         * modules/floorl-tests (Depends-on): Add float.
50218
50219         * tests/test-roundl.c: Include <float.h>.
50220         (zero): Remove variable.
50221         (minus_zero): New variable.
50222         (main): Use minus_zero instead of -zero.
50223         * modules/roundl-tests (Depends-on): Add float.
50224
50225         * tests/test-truncl.c: Include <float.h>.
50226         (zero): Remove variable.
50227         (minus_zero): New variable.
50228         (main): Use minus_zero instead of -zero.
50229         * modules/truncl-tests (Depends-on): Add float.
50230
50231         * tests/test-frexpl.c (zero): Remove variable.
50232         (minus_zero): New variable.
50233         (main): Use minus_zero instead of -zero.
50234         * modules/frexpl-tests (Depends-on): Add float.
50235
50236         * tests/test-isnan.c (zerol): Remove variable.
50237         (minus_zerol): New variable.
50238         (test_long_double): Use minus_zerol instead of -zerol.
50239         * modules/isnan-tests (Depends-on): Add float.
50240
50241         * tests/test-isnanl.h (zero): Remove variable.
50242         (minus_zero): New variable.
50243         (main): Use minus_zero instead of -zero.
50244         * modules/isnanl-nolibm-tests (Depends-on): Add float.
50245         * modules/isnanl-tests (Depends-on): Add float.
50246
50247         * tests/test-ldexpl.c (zero): Remove variable.
50248         (minus_zero): New variable.
50249         (main): Use minus_zero instead of -zero.
50250         * modules/ldexpl-tests (Depends-on): Add float.
50251
50252         * tests/test-snprintf-posix.h (zerol): Remove variable.
50253         (minus_zerol): New variable.
50254         (test_function): Use minus_zerol instead of -zerol.
50255         * modules/snprintf-posix-tests (Depends-on): Add float.
50256         * modules/vsnprintf-posix-tests (Depends-on): Add float.
50257
50258         * tests/test-sprintf-posix.h (zerol): Remove variable.
50259         (minus_zerol): New variable.
50260         (test_function): Use minus_zerol instead of -zerol.
50261         * modules/sprintf-posix-tests (Depends-on): Add float.
50262         * modules/vsprintf-posix-tests (Depends-on): Add float.
50263
50264         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
50265         (minus_zerol): New variable.
50266         (test_function): Use minus_zerol instead of -zerol.
50267         * modules/vasnprintf-posix-tests (Depends-on): Add float.
50268
50269         * tests/test-vasprintf-posix.c (zerol): Remove variable.
50270         (minus_zerol): New variable.
50271         (test_function): Use minus_zerol instead of -zerol.
50272         * modules/vasprintf-posix-tests (Depends-on): Add float.
50273
50274 2008-10-07  Simon Josefsson  <simon@josefsson.org>
50275
50276         * MODULES.html.sh (Support for building documentation): Mention
50277         pmccabe2html.  Sort entries.
50278
50279         Add pmccabe2html module, from gnupdf.
50280         * build-aux/pmccabe.css: New file.
50281         * build-aux/pmccabe2html: New file.
50282         * m4/pmccabe2html.m4: New file.
50283         * modules/pmccabe2html: New file.
50284
50285 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
50286
50287         flock: new module
50288         * MODULES.html.sh: Add to list of modules.
50289         * lib/flock.c: flock implementation for Windows and Unix systems
50290         which have fcntl.
50291         * doc/glibc-functions/flock.texi: Update documentation.
50292         * lib/sys_file.in.h: <sys/file.h> header file.
50293         * m4/flock.m4: M4 macros.
50294         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
50295         * modules/flock: flock module.
50296         * modules/flock-tests: flock tests module.
50297         * modules/sys_file: sys/file.h module.
50298         * tests/test-flock.c: test suite for flock.
50299
50300 2008-10-06  Jim Meyering  <meyering@redhat.com>
50301
50302         bootstrap: check for LT_INIT more portably still ;-)
50303         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
50304         Spotted by Bruno Haible.
50305
50306 2008-10-06  Eric Blake  <ebb9@byu.net>
50307
50308         test-signbit: avoid tripping Irix cc bug on -0.0L
50309         * tests/test-signbit.c (minus_zerol): Delete, and replace with
50310         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
50311         entire testsuite consistent and avoids an Irix 6.2 bug.
50312
50313 2008-10-05  Bruno Haible  <bruno@clisp.org>
50314             Jim Meyering  <jim@meyering.net>
50315
50316         Add an option for ignoring EPIPE during close_stdout.
50317         * lib/closeout.h: Include <stdbool.h>.
50318         (close_stdout_set_ignore_EPIPE): New declaration.
50319         * lib/closeout.c: Include <stdbool.h>.
50320         (ignore_EPIPE): New variable.
50321         (close_stdout_set_ignore_EPIPE): New function.
50322         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
50323         * lib/close-stream.c (close_stream): Mention the possible EPIPE
50324         failure.
50325         * modules/closeout (Depends-on): Add stdbool.
50326
50327 2008-10-05  Bruno Haible  <bruno@clisp.org>
50328
50329         * modules/accept: New file.
50330         * modules/bind: New file.
50331         * modules/connect: New file.
50332         * modules/getpeername: New file.
50333         * modules/getsockname: New file.
50334         * modules/getsockopt: New file.
50335         * modules/listen: New file.
50336         * modules/recv: New file.
50337         * modules/recvfrom: New file.
50338         * modules/send: New file.
50339         * modules/sendto: New file.
50340         * modules/setsockopt: New file.
50341         * modules/socket: New file.
50342         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
50343         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50344         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
50345         the particular module is requested. Add a link warning when the
50346         particular module is not requested.
50347         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
50348         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
50349         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
50350         the particular module is requested.
50351         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
50352         gl_SYS_SOCKET_H_DEFAULTS): New macros.
50353         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
50354         * modules/sys_socket (Depends-on): Add link-warning.
50355         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
50356         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
50357         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
50358         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
50359         GL_LINK_WARNING.
50360         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
50361         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
50362         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
50363         * doc/posix-functions/getpeername.texi: Mention the new module
50364         'getpeername'.
50365         * doc/posix-functions/getsockname.texi: Mention the new module
50366         'getsockname'.
50367         * doc/posix-functions/getsockopt.texi: Mention the new module
50368         'getsockopt'.
50369         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
50370         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
50371         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
50372         * doc/posix-functions/send.texi: Mention the new module 'send'.
50373         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
50374         * doc/posix-functions/setsockopt.texi: Mention the new module
50375         'setsockopt'.
50376         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
50377         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
50378         listen, connect, accept.
50379         * modules/select-tests (Depends-on): Likewise.
50380
50381 2008-10-05  Bruno Haible  <bruno@clisp.org>
50382
50383         * lib/winsock.c (strerror): Remove unused #undef.
50384         (rpl_close): Remove unused local variable.
50385
50386         * modules/sys_socket (Depends-on); Add errno.
50387
50388 2008-10-05  Bruno Haible  <bruno@clisp.org>
50389
50390         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
50391         (select): Add a link warning when the 'select' module is not used.
50392         * modules/sys_select (Depends-on): Add link-warning.
50393         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
50394         Suggested by Paolo Bonzini.
50395
50396 2008-10-05  Jim Meyering  <meyering@redhat.com>
50397
50398         bootstrap: check for LT_INIT more portably
50399         * build-aux/bootstrap: Avoid using grep -E, since it's not
50400         portable enough.  Suggestion from Bruno Haible.
50401
50402 2008-10-05  Bruno Haible  <bruno@clisp.org>
50403
50404         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
50405         as being fixed by gnulib.
50406
50407 2008-10-05  Bruno Haible  <bruno@clisp.org>
50408
50409         * modules/select-tests: New file, mostly copied from
50410         modules/sys_select-tests.
50411         * tests/test-select.c: New file, mostly copied from
50412         tests/test-sys_select.c.
50413         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
50414         * modules/sys_select-tests (Depends-on): Remove all dependencies.
50415         (Makefile.am): Remove test_sys_select_LDADD.
50416
50417         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
50418         to an undefined symbol, for an error message.
50419         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
50420         (gl_SYS_SELECT_H_DEFAULTS): New macro.
50421         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
50422         winsock-select.c here.
50423         * modules/sys_select (Files): Remove lib/winsock-select.c.
50424         (Depends-on): Remove alloca.
50425         (Makefile.am): Substitute GNULIB_SELECT.
50426         * modules/select: New file.
50427         * doc/posix-functions/select.texi: Update.
50428
50429 2008-10-05  Bruno Haible  <bruno@clisp.org>
50430
50431         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
50432         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
50433         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
50434         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
50435         getdtablesize.
50436         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
50437         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
50438
50439 2008-10-05  Bruno Haible  <bruno@clisp.org>
50440
50441         * modules/getdtablesize-tests: New file.
50442         * tests/test-getdtablesize.c: New file.
50443
50444         New module 'getdtablesize'.
50445         * lib/unistd.in.h (getdtablesize): New declaration.
50446         * lib/getdtablesize.c: New file.
50447         * m4/getdtablesize.m4: New file.
50448         * modules/getdtablesize: New file.
50449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50450         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50451         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50452         HAVE_GETDTABLESIZE.
50453         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50454
50455 2008-10-05  Bruno Haible  <bruno@clisp.org>
50456
50457         * modules/sched (Makefile.am): Fix typo.
50458         Reported by Simon Josefsson.
50459
50460 2008-10-05  Jim Meyering  <meyering@redhat.com>
50461
50462         bootstrap: check for LT_INIT, too
50463         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50464         are deprecated.  Suggestion from Ralf Wildenhues.
50465
50466 2008-10-05  Bruno Haible  <bruno@clisp.org>
50467
50468         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50469         overriding them by ours.
50470         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50471
50472 2008-10-05  Jim Meyering  <meyering@redhat.com>
50473
50474         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50475         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50476         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50477
50478 2008-10-04  Bruno Haible  <bruno@clisp.org>
50479
50480         * modules/dup2 (License): Change to LGPLv2+.
50481         * modules/sleep (License): Likewise.
50482         * modules/perror (License): Likewise.
50483         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50484         Blake.
50485         * modules/signal (License): Likewise.
50486         * modules/sigprocmask (License): Likewise.
50487         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50488         Meyering.
50489
50490 2008-10-04  Bruno Haible  <bruno@clisp.org>
50491
50492         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50493         Reported by Rainer Tammer <tammer@tammer.net>.
50494
50495 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50496             Bruno Haible  <bruno@clisp.org>
50497
50498         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50499         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50500         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50501
50502 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50503
50504         filevercmp: new module
50505         * lib/filevercmp.h: New function filevercmp comparing version strings.
50506         * lib/filevercmp.c: Implementation of filevercmp function.
50507         * modules/filevercmp: Module metadata.
50508         * tests/test-filevercmp.c: Unit test for new module.
50509         * modules/filevercmp-tests: Unit test metadata.
50510         * MODULES.html.sh: Add filevercmp module.
50511
50512 2008-10-03  Bruno Haible  <bruno@clisp.org>
50513
50514         * lib/c-ctype.h: Add comment.
50515         Reported by Jim Meyering.
50516
50517 2008-10-02  Bruno Haible  <bruno@clisp.org>
50518
50519         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50520
50521 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50522
50523         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50524         name of bootstrap.conf accordingly.
50525
50526 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50527
50528         * build-aux/bootstrap: Install git-merge-changelog configuration
50529         items into .gitconfig if needed.
50530
50531 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50532
50533         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50534         git repository, and initialize/update it accordingly.
50535
50536 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50537
50538         * modules/fsync-tests: New file.
50539         * tests/test-fsync.c: New file.
50540
50541         New module 'fsync'.
50542         * lib/fsync.c: New file.
50543         * m4/fsync.m4: New file.
50544         * modules/fsync: New file.
50545         * lib/unistd.in.h (fsync): New declaration.
50546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50547         GNULIB_FSYNC and HAVE_FSYNC.
50548         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50549         * MODULES.html.sh (posix_functions): Add fsync.
50550         * doc/posix-functions/fsync.texi: Mention the new module.
50551
50552 2008-10-02  Jim Meyering  <meyering@redhat.com>
50553
50554         fts.c: sync with similar code from coreutils' remove.c
50555         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50556         Guard also with "#if defined __linux__", since for now at least,
50557         this code is Linux-kernel-specific.
50558
50559 2008-10-02  Jim Meyering  <meyering@redhat.com>
50560
50561         fts: bug fixes
50562         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50563         Include <sys/vfs.h>, not <sys/statfs.h>.
50564
50565         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50566         Include <sys/vfs.h>, not <sys/statfs.h>.
50567
50568 2008-10-01  Bruno Haible  <bruno@clisp.org>
50569
50570         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50571         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50572         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50573         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50574         * doc/posix-functions/posix_spawnp.texi: Likewise.
50575         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50576         whether posix_spawn actually works.
50577         * m4/pipe.m4 (gl_PIPE): Likewise.
50578         * modules/execute (Files): Add m4/posix_spawn.m4.
50579         * modules/pipe (Files): Add m4/posix_spawn.m4.
50580         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50581
50582 2008-10-01  Jim Meyering  <meyering@redhat.com>
50583
50584         remove trailing spaces
50585         * NEWS: Likewise.
50586         * lib/poll.c (poll): Likewise.
50587         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50588         * lib/winsock.c (rpl_close): Likewise.
50589         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50590         * modules/yield: Likewise.
50591         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50592         * tests/test-sys_select.c (connect_to_socket): Likewise.
50593
50594         fts.c: adjust a new interface to be more generally useful
50595         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50596         (fts_build): Adjust caller.
50597
50598 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50599
50600         * modules/cond-tests: New file.
50601         * tests/test-cond.c: New file.
50602
50603 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50604             Bruno Haible  <bruno@clisp.org>
50605
50606         * modules/cond (Dependencies): Add errno, time.
50607         * lib/glthread/cond.h: Include <time.h>.
50608         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50609         across platforms.
50610
50611 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50612             Bruno Haible  <bruno@clisp.org>
50613
50614         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50615
50616 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50617             Bruno Haible  <bruno@clisp.org>
50618
50619         * modules/tls-tests (Depends-on): Add thread, yield.
50620         (configure.ac): Remove all checks.
50621         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50622         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50623         gl_thread_self): Remove definitions. Include glthread/thread.h and
50624         glthread/yield.h instead.
50625         (test_tls): Pass an additional NULL argument to gl_thread_join.
50626
50627 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50628             Bruno Haible  <bruno@clisp.org>
50629
50630         * modules/lock-tests (Depends-on): Add thread, yield.
50631         (configure.ac): Remove all checks.
50632         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50633         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50634         gl_thread_self): Remove definitions. Include glthread/thread.h and
50635         glthread/yield.h instead.
50636         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50637         additional NULL argument to gl_thread_join.
50638
50639 2008-09-30  Bruno Haible  <bruno@clisp.org>
50640
50641         Fix the Win32 implementation of the 'thread' module.
50642         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50643         pointer type.
50644         (gl_thread_self): Invoke gl_thread_self_func.
50645         (gl_thread_self_func): New declaration.
50646         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50647         (do_init_self_key, init_self_key): New functions.
50648         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50649         Remove some fields.
50650         (running_threads, running_lock): Remove variables.
50651         (get_current_thread_handle): New function.
50652         (gl_thread_self_func, wrapper_func, glthread_create_func,
50653         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50654         simplified.
50655
50656 2008-09-30  Bruno Haible  <bruno@clisp.org>
50657
50658         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50659         files.
50660
50661 2008-09-30  Jim Meyering  <meyering@redhat.com>
50662
50663         fts.m4: correct the test for statfs.f_type
50664         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50665         when checking for statfs.f_type.
50666
50667 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50668
50669         tests: avoid some compiler warnings
50670         * tests/test-memchr.c (main): Pass NULL indirectly.
50671         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50672
50673 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
50674
50675         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50676         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50677         exactly specified dayshifts.
50678         (dayshift): New rule.
50679         (rel): Add dayshift.
50680         (relative_time_table) [tomorrow, yesterday, today, now]:
50681         Use tDAY_SHIFT in place of tDAY_UNIT.
50682         * tests/test-getdate.c: Add tests for now-disallowed countable
50683         dayshifts, e.g., "4 yesterday ago".
50684
50685 2008-09-29  Bruno Haible  <bruno@clisp.org>
50686
50687         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50688         * tests/test-posix_spawn1.in.sh: Renamed from
50689         tests/test-posix_spawn.in.sh.
50690         * tests/test-posix_spawn2.c: New file.
50691         * tests/test-posix_spawn2.in.sh: New file.
50692         * modules/posix_spawnp-tests (Files): Update.
50693         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50694
50695 2008-09-29  Bruno Haible  <bruno@clisp.org>
50696
50697         Propagate effects of putenv/setenv/unsetenv to child processes.
50698         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50699         * lib/pipe.c (create_pipe): Likewise.
50700
50701 2008-09-29  Bruno Haible  <bruno@clisp.org>
50702
50703         Enable use of shell scripts as executables in mingw.
50704         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50705         run the program as a shell script.
50706         * lib/pipe.c (create_pipe): Likewise.
50707         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50708         resulting array.
50709
50710 2008-09-29  Eric Blake  <ebb9@byu.net>
50711
50712         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50713
50714 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50715
50716         * doc/posix-functions/accept.texi: Update mingw problems.
50717         * doc/posix-functions/bind.texi: Update mingw problems.
50718         * doc/posix-functions/close.texi: Update mingw problems.
50719         * doc/posix-functions/connect.texi: Update mingw problems.
50720         * doc/posix-functions/getpeername.texi: Update mingw problems.
50721         * doc/posix-functions/getsockname.texi: Update mingw problems.
50722         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50723         * doc/posix-functions/ioctl.texi: Update mingw problems.
50724         * doc/posix-functions/listen.texi: Update mingw problems.
50725         * doc/posix-functions/recv.texi: Update mingw problems.
50726         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50727         * doc/posix-functions/select.texi: Update mingw problems.
50728         * doc/posix-functions/send.texi: Update mingw problems.
50729         * doc/posix-functions/sendto.texi: Update mingw problems.
50730         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50731         * doc/posix-functions/socket.texi: Update mingw problems.
50732
50733 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50734             Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/sys_select.in.h: Include sys/time.h.
50737         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50738         * modules/sys_select: Depend on sys_time.
50739         * tests/test-sys_select.c: Test that sys/select.h defines struct
50740         timeval fully.
50741
50742 2008-09-29  Bruno Haible  <bruno@clisp.org>
50743
50744         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50745         * lib/sys_select.in.h: Likewise.
50746
50747 2008-09-29  Bruno Haible  <bruno@clisp.org>
50748
50749         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50750
50751 2008-09-29  Bruno Haible  <bruno@clisp.org>
50752
50753         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50754         Set LIBSOCKET instead of augmenting LIBS.
50755         * modules/sockets (Link): New section.
50756         * modules/sockets-tests (test_sockets_LDADD): New variable.
50757         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50758         * modules/poll-tests (test_poll_LDADD): New variable.
50759         * NEWS: Document the change.
50760
50761 2008-09-29  Bruno Haible  <bruno@clisp.org>
50762
50763         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50764         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50765         ARPA_INET_H directly.
50766         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50767
50768 2008-09-28  Bruno Haible  <bruno@clisp.org>
50769
50770         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50771         from gl_HEADER_SYS_SOCKET.
50772         (gl_HEADER_SYS_SOCKET): Invoke it.
50773         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50774
50775 2008-09-28  Bruno Haible  <bruno@clisp.org>
50776
50777         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50778         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50779         Needed on OSF/1 4.0.
50780
50781 2008-09-28  Bruno Haible  <bruno@clisp.org>
50782
50783         Override open more carefully.
50784         * lib/open.c (orig_open): New function.
50785         (rpl_open): Use orig_open instead of open.
50786         * lib/fcntl.in.h: Add special invocation convention.
50787         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50788         (gl_FUNC_OPEN): Invoke it.
50789
50790         Override freopen more carefully.
50791         * lib/freopen.c (orig_freopen): New function.
50792         (rpl_freopen): Use orig_freopen instead of freopen.
50793         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50794         (gl_FUNC_FREOPEN): Invoke it.
50795
50796         Override fopen more carefully.
50797         * lib/fopen.c (orig_fopen): New function.
50798         (rpl_fopen): Use orig_fopen instead of fopen.
50799         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50800         (gl_FUNC_FOPEN): Invoke it.
50801         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50802
50803 2008-09-28  Bruno Haible  <bruno@clisp.org>
50804
50805         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50806         SIGPIPE.
50807
50808 2008-09-28  Bruno Haible  <bruno@clisp.org>
50809
50810         * tests/test-sigaction.c (handler, main): Disable the check whether
50811         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50812         glibc systems with LinuxThreads.
50813
50814 2008-09-28  Bruno Haible  <bruno@clisp.org>
50815
50816         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50817
50818         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50819         with AIX xlc.
50820         * lib/fcntl.in.h (open): Likewise.
50821         Reported by Rainer Tammer <tammer@tammer.net>.
50822
50823 2008-09-28  Bruno Haible  <bruno@clisp.org>
50824
50825         * modules/posix_spawnp-tests: New file.
50826         * tests/test-posix_spawn.c: New file.
50827         * tests/test-posix_spawn.in.sh: New file.
50828
50829         New module 'posix_spawnp'.
50830         * modules/posix_spawnp: New file.
50831         * lib/spawnp.c: New file, from GNU libc with modifications.
50832         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50833
50834         New module 'posix_spawn'.
50835         * modules/posix_spawn: New file.
50836         * lib/spawn.c: New file, from GNU libc with modifications.
50837         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50838
50839         New module 'posix_spawnattr_destroy'.
50840         * modules/posix_spawnattr_destroy: New file.
50841         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50842         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50843         module.
50844
50845         New module 'posix_spawnattr_setsigmask'.
50846         * modules/posix_spawnattr_setsigmask: New file.
50847         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50848         modifications.
50849         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50850         new module.
50851
50852         New module 'posix_spawnattr_getsigmask'.
50853         * modules/posix_spawnattr_getsigmask: New file.
50854         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50855         modifications.
50856         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50857         new module.
50858
50859         New module 'posix_spawnattr_setsigdefault'.
50860         * modules/posix_spawnattr_setsigdefault: New file.
50861         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50862         modifications.
50863         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50864         new module.
50865
50866         New module 'posix_spawnattr_getsigdefault'.
50867         * modules/posix_spawnattr_getsigdefault: New file.
50868         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50869         modifications.
50870         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50871         new module.
50872
50873         New module 'posix_spawnattr_setschedpolicy'.
50874         * modules/posix_spawnattr_setschedpolicy: New file.
50875         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50876         modifications.
50877         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50878         new module.
50879
50880         New module 'posix_spawnattr_getschedpolicy'.
50881         * modules/posix_spawnattr_getschedpolicy: New file.
50882         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50883         modifications.
50884         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50885         new module.
50886
50887         New module 'posix_spawnattr_setschedparam'.
50888         * modules/posix_spawnattr_setschedparam: New file.
50889         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50890         modifications.
50891         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50892         new module.
50893
50894         New module 'posix_spawnattr_getschedparam'.
50895         * modules/posix_spawnattr_getschedparam: New file.
50896         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50897         modifications.
50898         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50899         new module.
50900
50901         New module 'posix_spawnattr_setpgroup'.
50902         * modules/posix_spawnattr_setpgroup: New file.
50903         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50904         modifications.
50905         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50906         module.
50907
50908         New module 'posix_spawnattr_getpgroup'.
50909         * modules/posix_spawnattr_getpgroup: New file.
50910         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50911         modifications.
50912         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50913         module.
50914
50915         New module 'posix_spawnattr_setflags'.
50916         * modules/posix_spawnattr_setflags: New file.
50917         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50918         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50919         module.
50920
50921         New module 'posix_spawnattr_getflags'.
50922         * modules/posix_spawnattr_getflags: New file.
50923         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50924         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50925         module.
50926
50927         New module 'posix_spawnattr_init'.
50928         * modules/posix_spawnattr_init: New file.
50929         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50930         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50931         module.
50932
50933         New module 'posix_spawn_file_actions_destroy'.
50934         * modules/posix_spawn_file_actions_destroy: New file.
50935         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50936         modifications.
50937         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50938         the new module.
50939
50940         New module 'posix_spawn_file_actions_addopen'.
50941         * modules/posix_spawn_file_actions_addopen: New file.
50942         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50943         modifications.
50944         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50945         the new module.
50946
50947         New module 'posix_spawn_file_actions_adddup2'.
50948         * modules/posix_spawn_file_actions_adddup2: New file.
50949         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50950         modifications.
50951         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50952         the new module.
50953
50954         New module 'posix_spawn_file_actions_addclose'.
50955         * modules/posix_spawn_file_actions_addclose: New file.
50956         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50957         modifications.
50958         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50959         the new module.
50960
50961         New module 'posix_spawn_file_actions_init'.
50962         * modules/posix_spawn_file_actions_init: New file.
50963         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50964         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50965         new module.
50966
50967         New module 'posix_spawn-internal'.
50968         * modules/posix_spawn-internal: New file.
50969         * lib/spawn_int.h: New file, from GNU libc with modifications.
50970         * lib/spawni.c: New file, from GNU libc with modifications.
50971         * m4/posix_spawn.m4: New file.
50972
50973         New module 'spawn'.
50974         * modules/spawn: New file.
50975         * lib/spawn.in.h: New file, from GNU libc with modifications.
50976         * m4/spawn_h.m4: New file.
50977         * doc/posix-headers/spawn.texi: Mention the new module.
50978
50979 2008-09-28  Bruno Haible  <bruno@clisp.org>
50980
50981         * modules/sched-tests: New file.
50982         * tests/test-sched.c: New file.
50983
50984         New module 'sched'.
50985         * modules/sched: New file.
50986         * lib/sched.in.h: New file.
50987         * m4/sched_h.m4: New file.
50988         * doc/posix-headers/sched.texi: Mention the new module.
50989
50990 2008-09-27  Eric Blake  <ebb9@byu.net>
50991
50992         Fix previous patch, and tweak references to $0.
50993         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50994         (func_version, func_gnulib_dir): Don't call this program
50995         gnulib-tool.
50996         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50997         with using $0 in function.
50998         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50999         (func_fatal_error): Reuse the name the user invoked us with.
51000
51001 2008-09-27  Bruno Haible  <bruno@clisp.org>
51002
51003         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
51004         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
51005         (gl_ICONV_H): Not here.
51006         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
51007         instead of assigning ICONV_H directly.
51008
51009         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
51010         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
51011         WCHAR_H directly.
51012
51013 2008-09-27  Bruno Haible  <bruno@clisp.org>
51014
51015         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
51016         * modules/arpa_inet (Depends-on): Add link-warning.
51017         (Makefile.am): Insert the definition of GL_LINK-WARNING.
51018         * modules/unistd (Makefile.am): Likewise.
51019
51020 2008-09-26  Bruno Haible  <bruno@clisp.org>
51021
51022         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
51023         variables.
51024         (func_version): Essentially copied from gnulib-tool.
51025         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
51026         func_readlink): Copied from gnulib-tool.
51027
51028 2008-09-26  Bruno Haible  <bruno@clisp.org>
51029
51030         * gnulib-tool (func_version): Change directory to $gnulib_dir before
51031         invoking git-version-gen.
51032
51033 2008-09-26  Bruno Haible  <bruno@clisp.org>
51034
51035         * posix-modules: Update to directory names changed on 2008-01-19.
51036         Remove commas in output before splitting into words. No more need to
51037         avoid 'ftruncate' since 2007-02-19.
51038
51039 2008-09-26  Bruno Haible  <bruno@clisp.org>
51040
51041         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
51042
51043 2008-09-26  Bruno Haible  <bruno@clisp.org>
51044
51045         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
51046         * modules/fwriteerror (Depends-on): Add errno.
51047
51048 2008-09-26  Bruno Haible  <bruno@clisp.org>
51049
51050         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
51051         * tests/test-vc-list-files-cvs.sh: Likewise.
51052
51053 2008-09-26  Bruno Haible  <bruno@clisp.org>
51054
51055         * doc/posix-headers/sys_resource.texi: Reorder items.
51056
51057 2008-09-26  Jim Meyering  <meyering@redhat.com>
51058
51059         fts: tweak inode comparison function
51060         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
51061         inode numbers, as documented.
51062
51063         fts: sort dirent entries on inode number before traversing
51064         This avoids a quadratic, seek-related performance penalty when
51065         operating on a directory containing many entries (measurable at 10k;
51066         3.5 hours at 2 million entries with a cold cache) on certain types
51067         of file systems, including ext3 and ext4, but not tmpfs.
51068         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
51069         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
51070         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
51071         (fs_handles_readdir_ordered_dirents_efficiently): New function.
51072         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
51073         (fts_build): Set the stat.st_ino member from D_INO.
51074         If it is likely to be useful, sort dirent entries on inode number.
51075
51076         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
51077         and the struct statfs.f_type member.
51078         * modules/fts (Depends-on): Add d-ino.
51079
51080 2008-09-26  Bruno Haible  <bruno@clisp.org>
51081
51082         * modules/sigpipe-die (Depends-on): Add sigpipe.
51083
51084         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
51085         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
51086         and GNULIB_STDIO_H_SIGPIPE are set.
51087         * lib/stdio-write.c: New file.
51088         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
51089         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51090         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51091         REPLACE_STDIO_WRITE_FUNCS.
51092         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
51093         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51094         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51095         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51096         * modules/stdio (Files): Add lib/stdio-write.c.
51097         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
51098         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
51099         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
51100         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
51101         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
51102         REPLACE_FPRINTF_POSIX.
51103         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
51104         REPLACE_PRINTF_POSIX.
51105         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
51106         REPLACE_VFPRINTF_POSIX.
51107         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
51108         REPLACE_VPRINTF_POSIX.
51109         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
51110         SIGPIPE issue.
51111         * doc/posix-functions/fputc.texi: Likewise.
51112         * doc/posix-functions/fputs.texi: Likewise.
51113         * doc/posix-functions/fwrite.texi: Likewise.
51114         * doc/posix-functions/printf.texi: Likewise.
51115         * doc/posix-functions/putc.texi: Likewise.
51116         * doc/posix-functions/putchar.texi: Likewise.
51117         * doc/posix-functions/puts.texi: Likewise.
51118         * doc/posix-functions/vfprintf.texi: Likewise.
51119         * doc/posix-functions/vprintf.texi: Likewise.
51120
51121         * modules/safe-write (Depends-on): Add write.
51122
51123         * modules/sigpipe-tests: New file.
51124         * tests/test-sigpipe.c: New file.
51125         * tests/test-sigpipe.sh: New file.
51126
51127         * modules/write: New file.
51128         * lib/unistd.in.h: Include <sys/types.h>.
51129         (write): New declaration.
51130         * lib/write.c: New file.
51131         * m4/write.m4: New file.
51132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51133         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
51134         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
51135         GNULIB_WRITE, REPLACE_WRITE.
51136         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
51137         and the SIGPIPE issue.
51138
51139         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
51140         (raise): New declaration.
51141         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
51142         (ext_signal): New function.
51143         (rpl_raise): New function.
51144         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
51145         GNULIB_SIGNAL_H_SIGPIPE.
51146         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
51147         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
51148
51149         * modules/sigpipe: New file.
51150         * m4/sigpipe.m4: New file.
51151
51152 2008-09-25  Derek Price  <derek@ximbiot.com>
51153             Bruno Haible  <bruno@clisp.org>
51154
51155         * gnulib-tool (func_import): Report all license incompatibilities, not
51156         just the first one.
51157
51158 2008-09-25  Bruno Haible  <bruno@clisp.org>
51159
51160         * gnulib-tool (func_import): When computing the edits, consider not
51161         only the Makefile.ams that exist but also those that will be generated.
51162
51163 2008-09-25  Simon Josefsson  <simon@josefsson.org>
51164
51165         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
51166         fixes gnulib-tool --test warning about duplicate dependency.
51167
51168 2008-09-25  Bruno Haible  <bruno@clisp.org>
51169
51170         * gnulib-tool: Don't ask the user to perform edits in the generated
51171         Makefile.ams.
51172         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
51173         apply to the Makefile.am being generated.
51174         (func_emit_tests_Makefile_am): Execute edits that apply to the
51175         Makefile.am being generated.
51176         (func_import): Setup list of Makefile.am edits before emitting the
51177         Makefile.ams, not at the end.
51178         (func_create_testdir): Update.
51179         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51180
51181 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51182
51183         * gnulib-tool (func_import): Store the --tests-base option in the
51184         comment in gnulib-cache.m4.
51185
51186 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
51187
51188         * NEWS: Document increased portability that sys_select now provides.
51189
51190         * lib/sys_select.in.h: Install select wrapper.
51191         * lib/sys_socket.in.h: Use more descriptive name when there is no
51192         select wrapper.
51193         * lib/winsock-select.c: New.
51194         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
51195         Require gl_HEADER_SYS_SOCKET.
51196         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
51197         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
51198         * tests/test-sys_select.c: Add functional tests.
51199
51200 2008-09-24  Eric Blake  <ebb9@byu.net>
51201
51202         open, fopen: close fd leak in last patch
51203         * lib/open.c (rpl_open): Close fd before returning error.
51204         * lib/fopen.c (rpl_fopen): Close fd before returning error.
51205         * doc/posix-functions/open.texi (open): Document that Irix also
51206         has the bug.
51207         * doc/posix-functions/fopen.texi (fopen): Likewise.
51208         Reported by Paolo Bonzini.
51209
51210 2008-09-24  Bruno Haible  <bruno@clisp.org>
51211
51212         Ensure that a filename ending in a slash cannot be used to access a
51213         non-directory.
51214         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
51215         to check whether it's really a directory.
51216         * lib/fopen.c: Include fcntl.h, unistd.h.
51217         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
51218         and fdopen().
51219         * modules/fopen (Depends-on): Add unistd.
51220         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
51221         * tests/test-fopen.c (main): Likewise.
51222         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
51223         * doc/posix-functions/fopen.texi: Likewise.
51224         Reported by Eric Blake.
51225
51226 2008-09-23  Eric Blake  <ebb9@byu.net>
51227
51228         c-stack: avoid compiler optimizations when provoking overflow
51229         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
51230         recursion harder to optimize, to ensure a stack overflow occurs.
51231         * tests/test-c-stack.c (recurse): Likewise.
51232         Borrowed from libsigsegv.
51233
51234         c-stack: work around Irix sigaltstack bug
51235         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
51236         whether sigaltstack uses wrong end of stack_t (copied in part from
51237         libsigsegv).
51238         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
51239         Irix bug, without requiring an over-allocation.
51240         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
51241         bug.
51242
51243         fopen: document mingw bug on directories
51244         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
51245         not allowing a stream visiting a directory, even though reading
51246         from such a stream is not portable.
51247
51248 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51249
51250         * lib/poll.c: Rewrite.
51251         * modules/poll: Depend on alloca.
51252
51253 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51254
51255         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
51256         instead define prototypes for a full set of wrappers.  Ensure
51257         that Cygwin does not use the compatibility code, which is only
51258         for MinGW.
51259         * lib/winsock.c: New.
51260         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
51261         * modules/sys_socket: Add lib/winsock.c.
51262
51263         * modules/poll-tests: Add errno and perror.
51264         * tests/test-poll.c: Use ioctl, not ioctlsocket.
51265
51266 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
51267
51268         * tests/test-poll.c: Downgrade minimum needed Winsock version.
51269
51270 2008-09-23  Bruno Haible  <bruno@clisp.org>
51271
51272         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
51273         * doc/glibc-functions/*: Likewise.
51274
51275 2008-09-23  Simon Josefsson  <simon@josefsson.org>
51276
51277         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
51278         success.
51279
51280 2008-09-22  Eric Blake  <ebb9@byu.net>
51281             Bruno Haible  <bruno@clisp.org>
51282
51283         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
51284         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
51285         supply %A but mishandle pseudo-NaN.
51286         Reported by Simon Josefsson.
51287
51288 2008-09-21  Bruno Haible  <bruno@clisp.org>
51289
51290         * tests/test-lock.c (main): Tweak skip message.
51291         * tests/test-tls.c (main): Likewise.
51292
51293 2008-09-21  Bruno Haible  <bruno@clisp.org>
51294
51295         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
51296         whether 'struct sigaction' has sa_sigaction here...
51297         (gl_PREREQ_SIG_HANDLER_H): ... not here.
51298         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
51299
51300 2008-09-21  Bruno Haible  <bruno@clisp.org>
51301
51302         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
51303         section.
51304         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
51305         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
51306         the new section.
51307         (Support for obsolete systems lacking POSIX:2001): New section.
51308         (String handling <string.h>): Move strdup to the new section.
51309         Suggested by Simon Josefsson and Paolo Bonzini.
51310
51311 2008-09-21  Bruno Haible  <bruno@clisp.org>
51312
51313         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
51314         exponents in %e and %g results on 'long double'. Needed for mingw's
51315         improved *printf functions.
51316         * tests/test-vasprintf-posix.c (test_function): Likewise.
51317         * tests/test-snprintf-posix.h (test_function): Likewise.
51318         * tests/test-sprintf-posix.h (test_function): Likewise.
51319         Reported by Eric Blake.
51320
51321 2008-09-21  Bruno Haible  <bruno@clisp.org>
51322
51323         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
51324         * tests/test-sprintf-posix.h (test_function): Likewise.
51325
51326 2008-09-21  Bruno Haible  <bruno@clisp.org>
51327
51328         * modules/getpass (Depends-on): Add strdup-posix.
51329
51330         New module 'strdup-posix'.
51331         * modules/strdup-posix: New file.
51332         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
51333         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
51334         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
51335         REPLACE_STRDUP.
51336         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
51337         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
51338         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
51339         strdup-posix.
51340
51341         * modules/strdup (Depends-on): Remove malloc-posix.
51342
51343 2008-09-20  Bruno Haible  <bruno@clisp.org>
51344
51345         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
51346         Wildenhues.
51347
51348 2008-09-20  Bruno Haible  <bruno@clisp.org>
51349
51350         Ensure that wint_t gets defined on IRIX 5.3.
51351         * lib/wchar.in.h (wint_t): Define if not defined by the system.
51352         * lib/wctype.in.h (wint_t): Likewise.
51353         (__wctype_wint_t): Remove type.
51354         (isw*): Use wint_t instead of __wctype_wint_t.
51355         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
51356         * modules/wchar (Files): Add m4/wint_t.m4.
51357         (Makefile.am): Substitute HAVE_WINT_T.
51358         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
51359         * tests/test-wctype.c: Check that wint_t is defined.
51360         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
51361         * doc/posix-headers/wctype.texi: Likewise.
51362         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51363
51364 2008-09-18  Bruno Haible  <bruno@clisp.org>
51365
51366         * gnulib-tool (func_exit): Update comment.
51367
51368 2008-09-18  Simon Josefsson  <simon@josefsson.org>
51369
51370         * modules/getaddrinfo (Depends-on): Remove strdup, this module
51371         assumes strdup exists and does not depend on strdup to return
51372         ENOMEM on out of memory conditions.
51373
51374 2008-09-18  Bruno Haible  <bruno@clisp.org>
51375
51376         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
51377         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
51378         digits for the exponent.
51379
51380 2008-09-18  Jim Meyering  <meyering@redhat.com>
51381             Bruno Haible  <bruno@clisp.org>
51382
51383         * lib/vasnprintf.c (decimal_point_char): Define also if
51384         NEED_PRINTF_INFINITE_LONG_DOUBLE.
51385
51386 2008-09-16  Bruno Haible  <bruno@clisp.org>
51387         and Eric Blake  <ebb9@byu.net>
51388
51389         vasnprintf: support Irix 5.3
51390         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
51391         that mishandle long double infinity.
51392         Reported by Tom G. Christensen.
51393
51394 2008-09-16  Bruno Haible  <bruno@clisp.org>
51395
51396         * doc/glibc-functions/scandir.texi: Mention the function is missing on
51397         Solaris 9.
51398         * doc/glibc-functions/alphasort.texi: Likewise.
51399         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
51400
51401 2008-09-16  Jim Meyering  <meyering@redhat.com>
51402
51403         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
51404         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
51405         a umask modification leak out of a subshell.  Otherwise, the
51406         opensolaris /bin/sh would be accepted and thus cause unwarranted
51407         failures in the coreutils test suite.
51408
51409 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
51410
51411         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
51412         to succeed.
51413
51414 2008-09-16  Jim Meyering  <meyering@redhat.com>
51415
51416         avoid spurious test failure when library is built without ACL support
51417         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
51418         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
51419         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
51420         * tests/test-copy-acl.sh: Likewise.
51421
51422 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51423
51424         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
51425         based on character occurrence counts.
51426
51427 2008-09-15  Eric Blake  <ebb9@byu.net>
51428
51429         tests: avoid some compiler warnings
51430         * tests/test-memchr.c (main): Pass NULL indirectly.
51431         * tests/test-closein.c (main): Avoid unused variable.
51432
51433 2008-09-15  Bruno Haible  <bruno@clisp.org>
51434
51435         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
51436         are missing on OpenBSD 4.0 individually.
51437         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51438
51439 2008-09-15  Bruno Haible  <bruno@clisp.org>
51440
51441         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51442         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51443         * doc/posix-functions/perror.texi: Likewise.
51444         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51445         is missing.
51446         Reported by Eric Blake.
51447
51448         * lib/errno.in.h: Use replacement values >= 2000.
51449         Reported by Eric Blake.
51450
51451 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51452
51453         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51454         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51455         limit.
51456         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51457         compareseq was aborted.
51458
51459 2008-09-14  Bruno Haible  <bruno@clisp.org>
51460
51461         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51462         yvec_edit_count.
51463         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51464         (fstrcmp_bounded): Simplify result computation accordingly.
51465
51466 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51467
51468         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51469         (fstrcmp): Define in terms of fstrcmp_bounded.
51470         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51471         lower_bound argument.
51472         Return quickly if the result is certainly < lower_bound.
51473         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51474
51475 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51476
51477         * lib/diffseq.h (EARLY_ABORT): New macro.
51478         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51479         evaluates to true.
51480
51481 2008-09-14  Bruno Haible  <bruno@clisp.org>
51482
51483         * modules/perror-tests: New file.
51484         * tests/test-perror.sh: New file.
51485         * tests/test-perror.c: New file.
51486
51487         New module 'perror'.
51488         * lib/stdio.in.h (perror): New declaration.
51489         * lib/perror.c: New file.
51490         * m4/perror.m4: New file.
51491         * modules/perror: New file.
51492         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51493         * doc/posix-functions/perror.texi: Mention the perror module.
51494         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51495         REPLACE_PERROR.
51496         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51497         REPLACE_PERROR.
51498
51499 2008-09-14  Bruno Haible  <bruno@clisp.org>
51500
51501         * modules/stdio (Makefile.am): Reorder to match the order in
51502         lib/stdio.in.h.
51503         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51504
51505 2008-09-13  Bruno Haible  <bruno@clisp.org>
51506
51507         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51508
51509 2008-09-13  Bruno Haible  <bruno@clisp.org>
51510
51511         Extend strerror to cover the added errno values.
51512         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51513         (rpl_strerror): Provide error messages for the added errno values and
51514         for the WSA* values.
51515         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51516         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51517         strerror.
51518         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51519         * modules/strerror (Depends-on): Add errno.
51520         * doc/posix-functions/strerror.texi: Document the change.
51521         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51522         and EOVERFLOW.
51523
51524 2008-09-13  Bruno Haible  <bruno@clisp.org>
51525
51526         * modules/EOVERFLOW: Remove file.
51527         * m4/eoverflow.m4: Remove file.
51528         * modules/EOVERFLOW-tests: Remove file.
51529         * tests/test-EOVERFLOW.c: Remove file.
51530         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51531         * modules/ftell (Depends-on): Likewise.
51532         * modules/getdelim (Depends-on): Likewise.
51533         * modules/getugroups (Depends-on): Likewise.
51534         * modules/poll (Depends-on): Likewise.
51535         * modules/snprintf (Depends-on): Likewise.
51536         * modules/sprintf-posix (Depends-on): Likewise.
51537         * modules/vasnprintf (Depends-on): Likewise.
51538         * modules/vasprintf (Depends-on): Likewise.
51539         * modules/vfprintf-posix (Depends-on): Likewise.
51540         * modules/vsnprintf (Depends-on): Likewise.
51541         * modules/vsprintf-posix (Depends-on): Likewise.
51542         * modules/xvasprintf (Depends-on): Likewise.
51543         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51544         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51545         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51546         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51547         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51548         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51549         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51550         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51551         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51552         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51553         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51554         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51555         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51556         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51557         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51558         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51559         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51560         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51561         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51562         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51563         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51564         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51565         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51566         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51567         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51568         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51569         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51570         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51571         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51572         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51573         * MODULES.html.sh: Remove EOVERFLOW.
51574         * NEWS: Mention the change.
51575
51576 2008-09-13  Bruno Haible  <bruno@clisp.org>
51577
51578         * modules/errno-tests: New file.
51579         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51580
51581         * lib/errno.in.h: New file.
51582         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51583         * modules/errno: New file.
51584         * doc/posix-headers/errno.texi: Update documentation.
51585         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51586
51587 2008-09-13  Bruno Haible  <bruno@clisp.org>
51588
51589         * tests/test-poll.c: Use #if for native Windows, rather than testing
51590         __MSVCRT__.
51591
51592 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51593             Bruno Haible  <bruno@clisp.org>
51594
51595         * lib/glob.c: Don't include <pwd.h> on native Windows.
51596         (WINDOWS32): New macro.
51597         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51598
51599 2008-09-13  Bruno Haible  <bruno@clisp.org>
51600
51601         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51602         (ETIMEDOUT): Remove macro.
51603         (glthread_cond_timedwait_multithreaded): New declaration.
51604         (glthread_cond_timedwait): Use it.
51605         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51606         (glthread_cond_timedwait_multithreaded): New function.
51607
51608 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51609
51610         * modules/poll-tests: Do not check for io.h.
51611         * tests/test-poll.c: Check for __MSVCRT__ instead.
51612
51613 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51614
51615         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51616         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51617         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51618
51619 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51620
51621         * modules/poll-tests: New.
51622         * tests/test-poll.c: New.
51623
51624 2008-09-12  Eric Blake  <ebb9@byu.net>
51625
51626         frexp: test for NetBSD failure on -0.0
51627         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51628         not all, bugs from NetBSD 3.0 have been fixed.
51629         * doc/posix-functions/frexp.texi (frexp): Document bug.
51630         Reported by Thomas Klausner.
51631
51632         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51633         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51634         literal -0.0.
51635         Reported by Jonathan C. Patschke <jp@centtech.com>.
51636
51637 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51638
51639         * lib/glthread/cond.h: Use dummy implementation also if
51640         USE_WIN32_THREADS.
51641
51642 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51643
51644         * modules/fnmatch-posix (License): Change to LGPLv2+.
51645         * modules/fnmatch-gnu (License): Likewise.
51646
51647 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51648
51649         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51650
51651 2008-09-11  Jim Meyering  <meyering@redhat.com>
51652
51653         * users.txt: Add gtk-vnc.
51654
51655 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51656
51657         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51658         rotate amounts.
51659
51660         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51661         required for 16-bit and 8-bit rotates.
51662         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51663         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51664         UINT8_MAX instead of hard-coded constants.
51665         Suggested by Paul Eggert.
51666
51667 2008-09-07  Bruno Haible  <bruno@clisp.org>
51668
51669         * tests/test-striconveh.c (main): Check behaviour when converting from
51670         UTF-7.
51671
51672         Make striconveh work better with stateful encodings.
51673         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51674         that iconv does not increment the inptr when returning -1/EINVAL.
51675
51676 2008-09-07  Bruno Haible  <bruno@clisp.org>
51677
51678         * build-aux/config.rpath: Update according to libtool-2.2.6.
51679         * build-aux/config.libpath: Likewise.
51680
51681 2008-09-06  Bruno Haible  <bruno@clisp.org>
51682
51683         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51684         * lib/freadptr.c (freadptr): Likewise.
51685         * lib/freadseek.c (freadptrinc): Likewise.
51686         Reported by Simon Josefsson.
51687
51688 2008-09-06  Bruno Haible  <bruno@clisp.org>
51689
51690         * modules/freadptr (License): Change to LGPLv2+.
51691         * modules/freadseek (License): Likewise.
51692         Suggested by Eric Blake.
51693
51694         * modules/memchr2 (License): Change to LGPLv2+.
51695         Approved by Eric Blake.
51696
51697 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51698             Bruno Haible  <bruno@clisp.org>
51699
51700         Make gnulib-tool work with native 'sed' on AIX.
51701         * gnulib-tool (sed_noop): New variable.
51702         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51703         func_add_or_update, func_create_testdir): Use it to initialize sed
51704         script variables.
51705         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51706
51707 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51708             Bruno Haible  <bruno@clisp.org>
51709
51710         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51711         also works after #include directives.
51712
51713 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
51714
51715         getdate.y: reject an out-of-range timezone value
51716         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51717         the range [-24...+24].  When specified with only one or two digits,
51718         * tests/test-getdate.c: Tests for the fix.
51719         * doc/getdate.texi: Document this change.
51720
51721 2008-09-03  Bruno Haible  <bruno@clisp.org>
51722
51723         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51724
51725 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51726
51727         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51728         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51729         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51730         Blake <ebb9@byu.net>.
51731
51732         * tests/test-bitrotate.c: Add more test vectors.
51733
51734 2008-09-02  Eric Blake  <ebb9@byu.net>
51735
51736         vasnprintf-posix: handle large precision via %.*d
51737         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51738         when handling it ourselves.
51739         * tests/test-vasnprintf-posix.c (test_function): Add test.
51740         * tests/test-snprintf-posix.h (test_function): Likewise.
51741         * tests/test-sprintf-posix.h (test_function): Likewise.
51742         * tests/test-vasprintf-posix.c (test_function): Likewise.
51743         Reported by Alain Guibert.
51744
51745 2008-09-01  Eric Blake  <ebb9@byu.net>
51746
51747         c-stack: make configure-time check more robust
51748         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51749         successful sigaction call.
51750         Reported by Tom G. Christensen.
51751
51752 2008-09-01  Bruno Haible  <bruno@clisp.org>
51753
51754         New module 'findprog-lgpl'.
51755         * modules/findprog-lgpl: New file.
51756         * lib/findprog-lgpl.c: New file.
51757         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51758         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51759         to decide whether to use strdup or xstrdup, concatenated_filename or
51760         xconcatenated_filename.
51761
51762 2008-09-01  Bruno Haible  <bruno@clisp.org>
51763
51764         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51765         'xconcat-filename' (GPL).
51766         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51767         (License): Change to LGPLv2+.
51768         * modules/xconcat-filename: New file.
51769         * lib/concat-filename.h (concatenated_filename): Change specification.
51770         (xconcatenated_filename): New declaration.
51771         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51772         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51773         memory situations.
51774         * lib/xconcat-filename.c: New file.
51775         * NEWS: Mention the change.
51776         * lib/findprog.c: Include concat-filename.h, not filename.h.
51777         (find_in_path): Use xconcatenated_filename instead of
51778         concatenated_filename.
51779         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51780         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51781         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51782         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51783         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51784         instead of concatenated_filename.
51785         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51786         (execute_java_class): Use xconcatenated_filename instead of
51787         concatenated_filename.
51788         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51789         * modules/javacomp (Depends-on): Likewise.
51790         * modules/javaexec (Depends-on): Likewise.
51791
51792 2008-09-01  Bruno Haible  <bruno@clisp.org>
51793
51794         Split module 'filename' into 'filename' and 'concat-filename'.
51795         * modules/filename: Keep only lib/filename.h.
51796         (License): Change to LGPLv2+.
51797         * modules/concat-filename: New file, extracted from modules/filename.
51798         * lib/filename.h (concatenated_filename): Remove declaration.
51799         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51800         * lib/concat-filename.c: Include concat-filename.h.
51801         * NEWS: Mention the change.
51802
51803 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51804
51805         * lib/bitrotate.h (rotl8, rotr8): Add.
51806
51807         * modules/bitrotate (configure.ac): Need
51808         AC_REQUIRE([AC_C_INLINE]).
51809         (Description): Mention stdint.h.  Reported by Bruno Haible
51810         <bruno@clisp.org>.
51811
51812         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51813         Paolo Bonzini <bonzini@gnu.org>.
51814
51815 2008-08-31  Bruno Haible  <bruno@clisp.org>
51816
51817         Assume Solaris specific bi-arch conventions on Solaris systems.
51818         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51819         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51820         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51821         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51822         like acl_libdirstem.
51823         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51824         acl_libdirstem.
51825         * NEWS: Mention the change.
51826         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51827
51828 2008-08-31  Jim Meyering  <meyering@redhat.com>
51829
51830         * lib/strftime.h: Add comments describing the two added arguments.
51831
51832         remove duplicate #include directives
51833         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51834         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51835
51836 2008-08-31  Bruno Haible  <bruno@clisp.org>
51837
51838         New module 'sigpipe-die'.
51839         * modules/sigpipe-die: New file.
51840         * lib/sigpipe-die.h: New file.
51841         * lib/sigpipe-die.c: New file.
51842         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51843
51844 2008-08-31  Bruno Haible  <bruno@clisp.org>
51845
51846         Don't override previously installed signal handlers.
51847         * lib/fatal-signal.c (saved_sigactions): New variable.
51848         (uninstall_handlers): Reset the signal to the saved handler, not
51849         to SIG_DFL (except when ignored).
51850         (install_handlers): Save the previous handlers.
51851
51852 2008-08-30  Bruno Haible  <bruno@clisp.org>
51853
51854         * gnulib-tool (func_reset_sigpipe): New function.
51855         (func_get_automake_snippet, func_modules_transitive_closure,
51856         func_import): Invoke it before a join command that reads from stdin,
51857         to avoid "echo: write error: Broken pipe" error messages on stderr.
51858         Reported by Sam Steingold <sds@gnu.org>.
51859
51860 2008-08-30  Bruno Haible  <bruno@clisp.org>
51861
51862         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51863         Code copied from m4/open.m4.
51864         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51865         access and the filename ends in a slash. Code copied from lib/open.c.
51866         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51867         * tests/test-fopen.c (main): Check against bug with trailing slash.
51868
51869 2008-08-29  Bruno Haible  <bruno@clisp.org>
51870
51871         Avoid some "gcc -pedantic" warnings.
51872         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51873         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51874         * lib/dirent.in.h: Likewise.
51875         * lib/fcntl.in.h: Likewise.
51876         * lib/float.in.h: Likewise.
51877         * lib/iconv.in.h: Likewise.
51878         * lib/inttypes.in.h: Likewise.
51879         * lib/locale.in.h: Likewise.
51880         * lib/math.in.h: Likewise.
51881         * lib/netinet_in.in.h: Likewise.
51882         * lib/search.in.h: Likewise.
51883         * lib/signal.in.h: Likewise.
51884         * lib/stdarg.in.h: Likewise.
51885         * lib/stdint.in.h: Likewise.
51886         * lib/stdio.in.h: Likewise.
51887         * lib/stdlib.in.h: Likewise.
51888         * lib/string.in.h: Likewise.
51889         * lib/strings.in.h: Likewise.
51890         * lib/sys_select.in.h: Likewise.
51891         * lib/sys_socket.in.h: Likewise.
51892         * lib/sys_stat.in.h: Likewise.
51893         * lib/sys_time.in.h: Likewise.
51894         * lib/sysexits.in.h: Likewise.
51895         * lib/time.in.h: Likewise.
51896         * lib/unistd.in.h: Likewise.
51897         * lib/wchar.in.h: Likewise.
51898         * lib/wctype.in.h: Likewise.
51899         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51900         * modules/fchdir (Makefile.am): Likewise.
51901         * modules/fcntl (Makefile.am): Likewise.
51902         * modules/float (Makefile.am): Likewise.
51903         * modules/iconv_open (Makefile.am): Likewise.
51904         * modules/inttypes (Makefile.am): Likewise.
51905         * modules/locale (Makefile.am): Likewise.
51906         * modules/math (Makefile.am): Likewise.
51907         * modules/netinet_in (Makefile.am): Likewise.
51908         * modules/search (Makefile.am): Likewise.
51909         * modules/signal (Makefile.am): Likewise.
51910         * modules/stdarg (Makefile.am): Likewise.
51911         * modules/stdint (Makefile.am): Likewise.
51912         * modules/stdio (Makefile.am): Likewise.
51913         * modules/stdlib (Makefile.am): Likewise.
51914         * modules/string (Makefile.am): Likewise.
51915         * modules/strings (Makefile.am): Likewise.
51916         * modules/sys_select (Makefile.am): Likewise.
51917         * modules/sys_socket (Makefile.am): Likewise.
51918         * modules/sys_stat (Makefile.am): Likewise.
51919         * modules/sys_time (Makefile.am): Likewise.
51920         * modules/sysexits (Makefile.am): Likewise.
51921         * modules/time (Makefile.am): Likewise.
51922         * modules/unistd (Makefile.am): Likewise.
51923         * modules/wchar (Makefile.am): Likewise.
51924         * modules/wctype (Makefile.am): Likewise.
51925         Reported by Reuben Thomas <rrt@sc3d.org>.
51926
51927 2008-08-29  Bruno Haible  <bruno@clisp.org>
51928
51929         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51930         any more.
51931
51932 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51933
51934         * MODULES.html.sh (Misc): Add bitrotate.
51935
51936         * modules/bitrotate: New file.
51937
51938         * lib/bitrotate.h: New file.
51939
51940         * modules/bitrotate-tests: New file.
51941
51942         * tests/test-bitrotate.c: New file.
51943
51944         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51945         on the bitrotate module.
51946
51947         * lib/arctwo.c: Use new bitrotate module.
51948
51949 2008-08-29  Jim Meyering  <meyering@redhat.com>
51950
51951         bootstrap: merge changes from coreutils
51952         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51953         of copied files.  Remove a kludge, now that this is fixed.
51954         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51955         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51956         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51957
51958 2008-08-29  Bruno Haible  <bruno@clisp.org>
51959
51960         * MODULES.html.sh: Remove --cvs-urls option.
51961
51962 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51963
51964         maint.mk: adjust to file name change
51965         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51966
51967 2008-08-28  Jim Meyering  <meyering@redhat.com>
51968
51969         * modules/getndelim2 (License): Relicense to LGPLv2+.
51970         Approved by Richard Stallman for the version of 1995, and by
51971         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51972
51973 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51974
51975         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51976         dummy if one is not available.  Do not touch them if
51977         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51978         (getc_maybe_unlocked): New.
51979         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51980
51981 2008-08-26  Eric Blake  <ebb9@byu.net>
51982
51983         doc/INSTALL: resync from autoconf
51984         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51985         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51986         moving...
51987         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51988         * INSTALL: Regenerate.
51989         * INSTALL.ISO: New file.
51990         * INSTALL.UTF-8: Likewise.
51991
51992 2008-08-26  Jim Meyering  <meyering@redhat.com>
51993
51994         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51995         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51996         these definitions conditional, so that they may be overridden, too.
51997
51998 2008-08-26  Bruno Haible  <bruno@clisp.org>
51999
52000         Generate INSTALL file variants with prettier quotes.
52001         * doc/Makefile (INSTALL_PRELUDE): New macro.
52002         (INSTALL): Use it.
52003         (INSTALL.ISO, INSTALL.UTF-8): New rules.
52004
52005 2008-08-26  Bruno Haible  <bruno@clisp.org>
52006
52007         Run makeinfo in an English locale.
52008         * doc/Makefile (MAKEINFO): New variable.
52009
52010 2008-08-26  Bruno Haible  <bruno@clisp.org>
52011
52012         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
52013         Suggested by Eric Blake.
52014
52015 2008-08-25  Bruno Haible  <bruno@clisp.org>
52016
52017         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
52018
52019 2008-08-25  Eric Blake  <ebb9@byu.net>
52020
52021         c-stack: test that stack overflow can be caught
52022         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
52023         that platform allows handling stack overflow; at least OS/2 EMX
52024         has sigaltstack, but crashes before transferring control to
52025         handler on stack overflow.
52026         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
52027         check for HAVE_STACK_OVERFLOW_HANDLING.
52028         Reported by Elbert Pol.
52029
52030 2008-08-25  Bruno Haible  <bruno@clisp.org>
52031
52032         * doc/posix-functions/strftime.texi: Fix description of strftime
52033         module.
52034
52035 2008-08-24  Bruno Haible  <bruno@clisp.org>
52036
52037         * tests/uniwidth/test-uc_width2.c: New file.
52038         * tests/uniwidth/test-uc_width2.sh: New file.
52039         * modules/uniwidth/width-tests (Files): Add the new files.
52040         (TESTS): Add uniwidth/test-uc_width2.sh.
52041         (TESTS_ENVIRONMENT): New variable.
52042         (check_PROGRAMS): Add test-uc_width2.
52043         (test_uc_width2_SOURCES): New variable.
52044
52045         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
52046         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
52047         not 0x00AB.
52048         Reported by Alexander V. Lukyanov <lav@netis.ru>.
52049
52050 2008-08-22  Eric Blake  <ebb9@byu.net>
52051
52052         test-lock, test-tls: mention why a test is skipped
52053         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
52054         skipped.
52055         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
52056
52057         count-one-bits: relax license
52058         * modules/count-one-bits (License): Relicense to LGPLv2+.
52059         Suggested by Ludovic Courtès, approved by Ben Pfaff.
52060
52061 2008-08-22  Andreas Schwab  <schwab@suse.de>
52062
52063         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
52064         Remove spurious space in assignment.
52065
52066 2008-08-21  Simon Josefsson  <simon@josefsson.org>
52067
52068         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
52069         Paul Eggert <eggert@CS.UCLA.EDU>.
52070
52071 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
52072
52073         * modules/gettext: Add m4/threadlib.m4.
52074
52075 2008-08-19  Eric Blake  <ebb9@byu.net>
52076
52077         test-c-stack: fix compilation failure on FreeBSD 5.0
52078         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
52079         headers before <sys/resource.h>.
52080         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
52081         the bug.
52082         Reported by Nelson H. F. Beebe.
52083
52084         strverscmp: migrate from "strverscmp.h" to <string.h>
52085         * modules/string (Makefile.am): Add new hooks.
52086         * modules/strverscmp (Files): Remove strverscmp.h.
52087         (Depends-on): Add string.
52088         (configure.ac): Add indicator.
52089         (Include): Mention new header.
52090         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
52091         defaults.
52092         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
52093         results.
52094         * lib/strverscmp.h: Delete.
52095         * lib/string.in.h (strverscmp): Provide declaration, when needed.
52096         * tests/test-strverscmp.c (includes): Adjust client.
52097         * lib/check-version.c (includes): Likewise.
52098         * NEWS: Document the change.
52099
52100         strverscmp: add unit test
52101         * modules/strverscmp-tests: New file.
52102         * tests/test-strverscmp.c: Likewise.
52103
52104 2008-08-19  Simon Josefsson  <simon@josefsson.org>
52105
52106         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
52107         regarding Windows crypto stuff, from Mono.
52108
52109 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
52110
52111         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
52112         if present, for intel RND.  Return error on failures.
52113
52114 2008-08-18  Ben Pfaff  <blp@gnu.org>
52115
52116         gitlog-to-changelog: give better diagnostic for failed pipe-open
52117         * build-aux/gitlog-to-changelog: Improve error message: suggest
52118         that the version of Git may be too old.
52119
52120 2008-08-18  Simon Josefsson  <simon@josefsson.org>
52121
52122         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
52123         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
52124
52125 2008-08-18  Bruno Haible  <bruno@clisp.org>
52126
52127         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
52128         pthread_in_use().
52129
52130 2008-08-18  Bruno Haible  <bruno@clisp.org>
52131
52132         * lib/glthread/threadlib.c: Include <pthread.h>.
52133
52134 2008-08-18  Bruno Haible  <bruno@clisp.org>
52135
52136         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
52137         glthread_recursive_lock_* macros.
52138         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
52139         Fix syntax error.
52140
52141 2008-08-18  Bruno Haible  <bruno@clisp.org>
52142
52143         * lib/glthread/thread.c: Avoid forcing a context switch right after
52144         thread creation.
52145
52146 2008-08-17  Bruno Haible  <bruno@clisp.org>
52147
52148         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
52149         * lib/glthread/thread.h: Provide Win32 specific implementation.
52150         * modules/thread (Files): Add lib/glthread/thread.c.
52151         (Depends-on): Add lock.
52152         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
52153
52154 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52155
52156         New module 'yield'.
52157         * modules/yield: New file.
52158         * lib/glthread/yield.h: New file.
52159         * m4/yield.m4: New file.
52160         * MODULES.html.sh (Multithreading): Add yield.
52161
52162 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52163
52164         New module 'thread'.
52165         * modules/thread: New file.
52166         * lib/glthread/thread.h: New file.
52167         * m4/thread.m4: New file.
52168         * MODULES.html.sh (Multithreading): Add thread.
52169
52170 2008-08-17  Bruno Haible  <bruno@clisp.org>
52171
52172         * lib/glthread/lock.h: Include <stdlib.h> always.
52173         * lib/glthread/tls.h: Likewise.
52174         * lib/glthread/cond.h: Likewise.
52175
52176 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52177
52178         New module 'cond'.
52179         * modules/cond: New file.
52180         * lib/glthread/cond.h: New file.
52181         * lib/glthread/cond.c: New file.
52182         * m4/cond.m4: New file.
52183         * MODULES.html.sh (Multithreading): Add cond.
52184
52185 2008-08-16  Eric Blake  <ebb9@byu.net>
52186
52187         c-stack: fix regression on Irix 5.3 from 2008-06-21
52188         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
52189         sa_sigaction...
52190         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
52191         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
52192         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
52193         * modules/signal (Makefile.am): Use the value.
52194         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
52195         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
52196         * doc/posix-headers/signal.texi (signal.h): Document this
52197         portability issue.
52198         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
52199         Reported by Tom G. Christensen.
52200
52201 2008-08-17  Bruno Haible  <bruno@clisp.org>
52202
52203         New module 'threadlib'.
52204         * modules/threadlib: New file.
52205         * lib/glthread/threadlib.c: New file, extracted from
52206         lib/glthread/lock.c.
52207         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
52208         functions.
52209         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
52210         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
52211         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
52212         macros.
52213         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
52214         (gl_DISABLE_THREADS): Remove macro.
52215         * modules/lock (Files): Remove build-aux/config.rpath.
52216         (Depends-on): Remove havelib. Add threadlib.
52217         (configure.ac-early): Remove section.
52218         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
52219         * modules/tls (Depends-on): Remove lock. Add threadlib.
52220         (Link): New section, copied from threadlib.
52221         * MODULES.html.sh (Multithreading): Add threadlib.
52222
52223 2008-08-14  Bruno Haible  <bruno@clisp.org>
52224
52225         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
52226         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
52227         glthread_rwlock_unlock, glthread_rwlock_destroy,
52228         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
52229         glthread_recursive_lock_destroy): Define as macros always.
52230         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
52231         glthread_lock_lock.
52232         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
52233         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
52234         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
52235         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
52236         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
52237         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
52238         (glthread_recursive_lock_lock_func): Renamed from
52239         glthread_recursive_lock_lock.
52240         (glthread_recursive_lock_unlock_func): Renamed from
52241         glthread_recursive_lock_unlock.
52242         (glthread_recursive_lock_destroy_func): Renamed from
52243         glthread_recursive_lock_destroy.
52244
52245 2008-08-14  Bruno Haible  <bruno@clisp.org>
52246
52247         * lib/glthread/lock.h: Renamed from lib/lock.h.
52248         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
52249         * lib/glthread/tls.h: Renamed from lib/tls.h.
52250         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
52251         * lib/fstrcmp.c: Update includes.
52252         * lib/strsignal.c: Update includes.
52253         * modules/lock (Files, Makefile.am): Update.
52254         (Include): Change to "glthread/lock.h".
52255         * modules/tls (Files, Makefile.am): Update.
52256         (Include): Change to "glthread/tls.h".
52257         * tests/test-lock.c: Update includes.
52258         * tests/test-tls.c: Update includes.
52259         * NEWS: Mention the renamed header files.
52260
52261 2008-08-11  Jim Meyering  <meyering@redhat.com>
52262
52263         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
52264
52265 2008-08-11  Eric Blake  <ebb9@byu.net>
52266
52267         test-c-stack: avoid C99-ism
52268         * tests/test-c-stack.c (main): Fix whitespace, move declaration
52269         before statement.
52270         Reported by Alain Guibert.
52271
52272 2008-08-10  Jim Meyering  <meyering@redhat.com>
52273
52274         ensure that return value of uinttostr et al are not ignored
52275         * lib/inttostr.h (__GNUC_PREREQ): Define.
52276         (__attribute_warn_unused_result__): Define.
52277         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
52278
52279 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
52280
52281         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
52282         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
52283
52284 2008-08-07  Jim Meyering  <meyering@redhat.com>
52285
52286         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
52287
52288         * modules/mkstemp (License): Relicense under LGPLv2+.
52289         * modules/tempname (License): Likewise.
52290
52291 2008-08-06  Bruno Haible  <bruno@clisp.org>
52292
52293         * lib/poll.c (poll): Further micro-optimization.
52294
52295 2008-08-06  Jim Meyering  <meyering@redhat.com>
52296
52297         inet_pton.c: use locale-independent tolower
52298         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
52299         (inet_pton6): Use c_tolower rather than tolower.
52300         * modules/inet_pton (Depends-on): Add c-ctype.
52301
52302 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
52303
52304         * lib/poll.c (poll): Avoid division when timeout is 0, cache
52305         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
52306
52307 2008-08-06  Jim Meyering  <meyering@redhat.com>
52308
52309         * modules/inet_pton (License): Relicense under LGPLv2+.
52310
52311 2008-08-03  Bruno Haible  <bruno@clisp.org>
52312
52313         Additional non-aborting API for lock and tls.
52314         * lib/lock.h: Include <errno.h>.
52315         (glthread_lock_init): New macro/function.
52316         (gl_lock_init): Define as wrapper around glthread_lock_init.
52317         (glthread_lock_lock): New macro/function.
52318         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
52319         (glthread_lock_unlock): New macro/function.
52320         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
52321         (glthread_lock_destroy): New macro/function.
52322         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
52323         (glthread_rwlock_init): New macro/function.
52324         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
52325         (glthread_rwlock_rdlock): New macro/function.
52326         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
52327         (glthread_rwlock_wrlock): New macro/function.
52328         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
52329         (glthread_rwlock_unlock): New macro/function.
52330         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
52331         (glthread_rwlock_destroy): New macro/function.
52332         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
52333         (glthread_recursive_lock_init): New macro/function.
52334         (gl_recursive_lock_init): Define as wrapper around
52335         glthread_recursive_lock_init.
52336         (glthread_recursive_lock_lock): New macro/function.
52337         (gl_recursive_lock_lock): Define as wrapper around
52338         glthread_recursive_lock_lock.
52339         (glthread_recursive_lock_unlock): New macro/function.
52340         (gl_recursive_lock_unlock): Define as wrapper around
52341         glthread_recursive_lock_unlock.
52342         (glthread_recursive_lock_destroy): New macro/function.
52343         (gl_recursive_lock_destroy): Define as wrapper around
52344         glthread_recursive_lock_destroy.
52345         (glthread_once): New macro/function.
52346         (gl_once): Define as wrapper around glthread_once.
52347         Update function declarations.
52348         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
52349         glthread_rwlock_init. Return error code.
52350         (glthread_rwlock_rdlock_multithreaded): Renamed from
52351         glthread_rwlock_rdlock. Return error code.
52352         (glthread_rwlock_wrlock_multithreaded): Renamed from
52353         glthread_rwlock_wrlock. Return error code.
52354         (glthread_rwlock_unlock_multithreaded): Renamed from
52355         glthread_rwlock_unlock. Return error code.
52356         (glthread_rwlock_destroy_multithreaded): Renamed from
52357         glthread_rwlock_destroy. Return error code.
52358         (glthread_recursive_lock_init_multithreaded): Renamed from
52359         glthread_recursive_lock_init. Return error code.
52360         (glthread_recursive_lock_lock_multithreaded): Renamed from
52361         glthread_recursive_lock_lock. Return error code.
52362         (glthread_recursive_lock_unlock_multithreaded): Renamed from
52363         glthread_recursive_lock_unlock. Return error code.
52364         (glthread_recursive_lock_destroy_multithreaded): Renamed from
52365         glthread_recursive_lock_destroy. Return error code.
52366         (glthread_once_call): Make static.
52367         (glthread_once_multithreaded): Renamed from glthread_once.
52368         * lib/tls.h: Include <errno.h>.
52369         (glthread_tls_key_init): New macro/function.
52370         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
52371         (glthread_tls_set): New macro/function.
52372         (gl_tls_set): Define as wrapper around glthread_tls_set.
52373         (glthread_tls_key_destroy): New macro/function.
52374         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
52375         Update function declarations.
52376         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
52377         glthread_tls_get.
52378         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52379
52380 2008-08-04  Eric Blake  <ebb9@byu.net>
52381
52382         gnumakefile: use space, not TAB, outside of targets
52383         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
52384
52385 2008-08-02  Jim Meyering  <meyering@redhat.com>
52386
52387         getdate.y: avoid locale-dependent date parsing failure
52388         In Turkish locales, getdate would fail to recognize keywords
52389         containing a lowercase "i".  The solution is not to rely on
52390         locale-sensitive case-conversion.
52391         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
52392         (lookup_word): Use c_toupper in place of toupper.
52393         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
52394         Reported by Vefa Bicakci <bicave@superonline.com> in
52395         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
52396         * modules/getdate (Depends-on): Add c-ctype.
52397
52398 2008-08-02  Bruno Haible  <bruno@clisp.org>
52399
52400         * gnulib-tool (func_import): When updating or creating a .gitignore
52401         file, prepend each added line with a slash, and ignore leading slashes
52402         from the existing lines.
52403         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52404
52405 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52406
52407         Portability fix for GNU make 3.79.1.
52408         * top/GNUmakefile: Avoid 'else COND', which older GNU make
52409         versions do not understand.
52410
52411 2008-08-01  Bruno Haible  <bruno@clisp.org>
52412
52413         Work around bug of HP-UX 10.20 cc with -0.0 literal.
52414         * tests/test-isnanf.h (zero): New variable.
52415         (main): Avoid literal -0.0f.
52416         * tests/test-isnand.h (zero): New variable.
52417         (main): Avoid literal -0.0.
52418         * tests/test-isnanl.h (zero): New variable.
52419         (main): Avoid literal -0.0L.
52420         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
52421         (test_float, test_double, test_long_double): Avoid literals -0.0f,
52422         -0.0, -0.0L.
52423         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
52424         (test_signbitd): Avoid literal -0.0.
52425         (test_signbitl): Avoid literal -0.0L.
52426         * tests/test-ceilf1.c (zero): New variable.
52427         (main): Avoid literal -0.0f.
52428         * tests/test-ceill.c (zero): New variable.
52429         (main): Avoid literal -0.0L.
52430         * tests/test-floorf1.c (zero): New variable.
52431         (main): Avoid literal -0.0f.
52432         * tests/test-floorl.c (zero): New variable.
52433         (main): Avoid literal -0.0L.
52434         * tests/test-roundf1.c (zero): New variable.
52435         (main): Avoid literal -0.0f.
52436         * tests/test-round1.c (zero): New variable.
52437         (main): Avoid literal -0.0.
52438         * tests/test-roundl.c (zero): New variable.
52439         (main): Avoid literal -0.0L.
52440         * tests/test-truncf1.c (zero): New variable.
52441         (main): Avoid literal -0.0f.
52442         * tests/test-trunc1.c (zero): New variable.
52443         (main): Avoid literal -0.0.
52444         * tests/test-truncl.c (zero): New variable.
52445         (main): Avoid literal -0.0L.
52446         * tests/test-frexp.c (zero): New variable.
52447         (main): Avoid literal -0.0.
52448         * tests/test-frexpl.c (zero): New variable.
52449         (main): Avoid literal -0.0L.
52450         * tests/test-ldexpl.c (zero): New variable.
52451         (main): Avoid literal -0.0L.
52452         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52453         (zerod, zerol): New variables.
52454         (test_function): Avoid literals -0.0, -0.0L.
52455         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52456         (zerod, zerol): New variables.
52457         (test_function): Avoid literals -0.0, -0.0L.
52458         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52459         (zerod, zerol): New variables.
52460         (test_function): Avoid literals -0.0, -0.0L.
52461         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52462         (zerod, zerol): New variables.
52463         (test_function): Avoid literals -0.0, -0.0L.
52464         * tests/test-strtod.c (zero): New variable.
52465         (main): Avoid literal -0.0.
52466         Reported by Jonathan C. Patschke <jp@centtech.com>.
52467
52468 2008-07-31  Jim Meyering  <meyering@redhat.com>
52469
52470         sha256.h: correct definition of SHA224_DIGEST_SIZE
52471         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52472         Reported by Paulie Pena IV <paulie4@gmail.com>.
52473         Define as 224 / 8, rather than as a literal.
52474         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52475         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52476         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52477
52478 2008-07-31  Bruno Haible  <bruno@clisp.org>
52479
52480         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52481         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52482         Reported by Jonathan Patschke <jp@centtech.com>.
52483
52484 2008-07-31  Bruno Haible  <bruno@clisp.org>
52485
52486         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52487         Reported by Paolo Bonzini <bonzini@gnu.org>.
52488
52489 2008-07-30  Eric Blake  <ebb9@byu.net>
52490
52491         test-strtod: allow compilation without -lm
52492         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52493         Reported by Dennis Clarke <blastwave@gmail.com>.
52494
52495 2008-07-28  Jim Meyering  <meyering@redhat.com>
52496
52497         bootstrap: work also when there are no .po files in po/
52498         * build-aux/bootstrap (update_po_files): Complete the change
52499         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52500
52501 2008-07-27  Jim Meyering  <meyering@redhat.com>
52502
52503         * users.txt: Add zile.
52504
52505 2008-07-26  Ben Pfaff  <blp@gnu.org>
52506
52507         Add missing dependencies on new m4/exponent[fdl].m4 files.
52508         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52509         * modules/isnand-nolibm: Add m4/exponentd.m4.
52510         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52511         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52512         m4/isnan[fdl].m4, because the macros actually used moved.
52513         Reported by Jim Meyering.
52514
52515 2008-07-14  Ben Pfaff  <blp@gnu.org>
52516
52517         Add isinf module.
52518         * lib/isinf.c: New file.
52519         * lib/math.in.h: Define isinf macro if we have decided to replace
52520         it.
52521         * m4/isinf.m4: New file.
52522         * m4/math_h.m4: Initialize and substitute variables for isinf
52523         module.
52524         * modules/isinf: New file.
52525         * modules/isinf-tests: New file.
52526         * modules/math: Add substitutions for new module.
52527         * tests/test-isinf.c: New file.
52528         * doc/posix-functions/isinf.texi: Mention new module.
52529         * MODULES.html.sh: Mention new module.
52530
52531 2008-07-14  Ben Pfaff  <blp@gnu.org>
52532
52533         Factor out some macros for use by additional modules.
52534         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52535         exponentf.m4.
52536         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52537         exponentd.m4.
52538         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52539         file exponentl.m4.
52540         * m4/exponentf.m4: New file.
52541         * m4/exponentd.m4: New file.
52542         * m4/exponentl.m4: New file.
52543         * modules/isnanf: Use new file m4/exponentf.m4.
52544         * modules/isnand: Use new file m4/exponentd.m4.
52545         * modules/isnanl: Use new file m4/exponentl.m4.
52546
52547 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52548
52549         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52550         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52551         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52552         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52553
52554         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52555         readlink on platforms without PATH_MAX.
52556
52557 2008-07-21  Eric Blake  <ebb9@byu.net>
52558
52559         Warn, not fail, on stale version.
52560         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52561
52562         Don't allow installation with stale devel version number.
52563         * top/GNUmakefile (_is-install-target): New macro.
52564         (_curr-ver): Forbid installation with stale version number.
52565
52566 2008-07-20  Bruno Haible  <bruno@clisp.org>
52567
52568         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52569         TESTS_ENVIRONMENT.
52570         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52571
52572 2008-07-20  Bruno Haible  <bruno@clisp.org>
52573
52574         * lib/c-stack.h (c_stack_action): Add documentation.
52575         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52576
52577 2008-07-20  Bruno Haible  <bruno@clisp.org>
52578
52579         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52580         * modules/readlink (License): Likewise.
52581
52582 2008-07-17  Eric Blake  <ebb9@byu.net>
52583
52584         * modules/c-stack (Link): Fix typo.
52585
52586         Make c-stack use libsigsegv, when available.
52587         * modules/c-stack (Depends-on): Add libsigsegv.
52588         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52589         needed.
52590         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52591         (segv_handler, overflow_handler, c_stack_action)
52592         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52593         implementation when libsigsegv is available, but only when using
52594         the library is necessary.
52595         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52596         comment, explaining why XSI check fails on Linux.
52597         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52598         * tests/test-c-stack2.sh: Tweak skip message.
52599         * NEWS: Document new link-time requirements.
52600
52601 2008-07-16  Eric Blake  <ebb9@byu.net>
52602
52603         c-stack: Expose false positives when not using libsigsegv.
52604         * modules/c-stack-tests (Files): Expand test.
52605         * tests/test-c-stack.c (main): Add means to conditionally trigger
52606         non-overflow SIGSEGV.
52607         * tests/test-c-stack2.sh: New file.
52608
52609 2008-07-14  Bruno Haible  <bruno@clisp.org>
52610
52611         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52612         Reported by Eric Blake.
52613
52614 2008-07-14  Sam Steingold  <sds@gnu.org>
52615             Bruno Haible  <bruno@clisp.org>
52616
52617         New module libsigsegv.
52618         * modules/libsigsegv: New file.
52619         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52620         modifications.
52621         * MODULES.html.sh (Signal handling): New section.
52622
52623 2008-07-14  Bruno Haible  <bruno@clisp.org>
52624
52625         * modules/unictype/ctype-* (Description): Add the word "function".
52626         Improves the resulting doc in MODULES.html.
52627
52628 2008-07-12  Ben Pfaff  <blp@gnu.org>
52629
52630         Add longlong module.
52631         * modules/longlong: New file.
52632
52633 2008-07-12  Bruno Haible  <bruno@clisp.org>
52634
52635         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52636         to empty.
52637
52638 2008-07-10  Ben Pfaff  <blp@gnu.org>
52639
52640         Add isnan module.
52641         * doc/posix-functions/isnan.texi: Mention new module.
52642         * lib/math.in.h: Define isnan macro if we have decided to replace
52643         it.
52644         * m4/isnan.m4: New file.
52645         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52646         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52647         also.
52648         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52649         redundancy.
52650         * m4/math_h.m4: Initialize and substitute variables for isnan
52651         module.
52652         * modules/isnan: New file.
52653         * modules/isnan-tests: New file.
52654         * modules/math: Add substitutions for new module.
52655         * tests/test-isnan.c: New file.
52656         * MODULES.html.sh: Mention new module.
52657
52658 2008-07-10  Ben Pfaff  <blp@gnu.org>
52659
52660         Add isnanf module.
52661         * lib/isnanf.m4: New file.
52662         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52663         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52664         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52665         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52666         * modules/isnanf: New file.
52667         * modules/isnanf-tests: New file.
52668         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52669         files.
52670         * tests/test-isnanf-nolibm.c: factored most of its contents into
52671         new file tests/test-isnanf.h.
52672         * tests/test-isnanf.h: New file.
52673         * tests/test-isnanf.c: New file.
52674         * MODULES.html.sh: Mention new module.
52675         * doc/glibc-functions/isnanf.texi: Mention new module.
52676
52677 2008-07-10  Ben Pfaff  <blp@gnu.org>
52678
52679         Add isnand module.
52680         * lib/isnand.h: New file.
52681         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52682         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52683         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52684         functionality also.
52685         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52686         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52687         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52688         * modules/isnand: New file.
52689         * modules/isnand-tests: New file.
52690         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52691         files.
52692         * tests/test-isnand-nolibm.c: factored most of its contents into
52693         new file tests/test-isnand.h.
52694         * tests/test-isnand.h: New file.
52695         * tests/test-isnand.c: New file.
52696         * MODULES.html.sh: Mention new module.
52697
52698 2008-07-10  Ben Pfaff  <blp@gnu.org>
52699
52700         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52701         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52702         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52703         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52704         * modules/isnanf-nolibm: Update references to renamed files.
52705         * modules/isnand-nolibm: Likewise.
52706         * modules/isnanf-nolibm-tests: Likewise.
52707         * modules/isnand-nolibm-tests: Likewise.
52708         * lib/frexp.c: Likewise.
52709         * lib/isfinite.c: Likewise.
52710         * lib/signbitd.c: Likewise.
52711         * lib/signbitf.c: Likewise.
52712         * lib/vasnprintf.c: Likewise.
52713         * tests/test-ceilf1.c: Likewise.
52714         * tests/test-ceilf2.c: Likewise.
52715         * tests/test-floorf1.c: Likewise.
52716         * tests/test-floorf2.c: Likewise.
52717         * tests/test-frexp.c: Likewise.
52718         * tests/test-round1.c: Likewise.
52719         * tests/test-round2.c: Likewise.
52720         * tests/test-roundf1.c: Likewise.
52721         * tests/test-strtod.c: Likewise.
52722         * tests/test-trunc1.c: Likewise.
52723         * tests/test-trunc2.c: Likewise.
52724         * tests/test-truncf1.c: Likewise.
52725         * tests/test-truncf2.c: Likewise.
52726         * NEWS: Mention the renamed header files.
52727
52728 2008-07-11  Jim Meyering  <meyering@redhat.com>
52729
52730         vc-list-files: make the last-resort awk code more portable
52731         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52732         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52733         does not support it.
52734
52735 2008-07-10  Eric Blake  <ebb9@byu.net>
52736
52737         Work with tar's bootstrap.
52738         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52739         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52740         an m4 comment.
52741
52742 2008-07-09  Jim Meyering  <meyering@redhat.com>
52743
52744         posix-shell.m4: fix typo that made this test malfunction
52745         * m4/posix-shell.m4: Remove capitalization in variable name.
52746
52747 2008-07-08  Bruno Haible  <bruno@clisp.org>
52748
52749         * m4/onceonly.m4: Update comments.
52750         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52751
52752 2008-07-04  Jim Meyering  <meyering@redhat.com>
52753
52754         * users.txt: Add vc-dwim.
52755         (bison, coreutils): Use the gitweb URL.
52756
52757 2008-07-03  Jim Meyering  <meyering@redhat.com>
52758
52759         * users.txt: Add libffcall.  From Sam Steingold.
52760
52761 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52762
52763         getdate.y: do not ignore TZ with relative day, month or year offset
52764         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52765         relative-date-handling, since otherwise, the latter would clobber the
52766         sole output (an updated Start value) of the tz-handling block.
52767         * tests/test-getdate.c: Tests for the fix
52768
52769 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52770
52771         Recognize 'foo_LIBRARIES += libgnu.a'.
52772         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52773         makefile snippet has already specified an installation location,
52774         also using '+='.
52775
52776 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52777
52778         getdate.y: factor out common actions
52779         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52780         Use them in place of open-coded actions.
52781
52782 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52783
52784         Add self-test for getdate module.
52785         * modules/getdate-tests: New file.
52786         * tests/test-getdate.c: New file.
52787
52788 2008-06-29  Bruno Haible  <bruno@clisp.org>
52789
52790         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52791         .gitignore.
52792         Reported by Sylvain Beucler <beuc@beuc.net>.
52793
52794 2008-06-29  Bruno Haible  <bruno@clisp.org>
52795
52796         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52797         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52798
52799 2008-06-29  Bruno Haible  <bruno@clisp.org>
52800
52801         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52802         EXTRA_DIST.
52803         Reported by Sylvain Beucler <beuc@beuc.net>.
52804
52805 2008-06-26  Jim Meyering  <meyering@redhat.com>
52806
52807         make several modules depend on the "open" module
52808         This provides slightly increased consistency when opening-for-write
52809         the name of a non-directory spelled with a trailing slash.
52810         * modules/chdir-safer: Likewise.
52811         * modules/chown: Likewise.
52812         * modules/clean-temp: Likewise.
52813         * modules/copy-file: Likewise.
52814         * modules/fchdir: Likewise.
52815         * modules/fcntl-safer: Likewise.
52816         * modules/pipe: Likewise.
52817         * modules/utime: Likewise.
52818         Prompted by Eric Blake and Bruno Haible.
52819
52820 2008-06-24  Andreas Schwab  <schwab@suse.de>
52821
52822         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52823         literals can be used as initializers for global variables.
52824
52825 2008-06-23  Eric Blake  <ebb9@byu.net>
52826
52827         Make gnulib-cache.m4 easier to diff.
52828         * gnulib-tool (func_import): Allow newlines when reading cached
52829         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52830
52831 2008-06-23  Bruno Haible  <bruno@clisp.org>
52832
52833         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52834         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52835         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52836         m4/signalblocking.m4.
52837         (gl_PREREQ_SIGACTION): Don't invoke it.
52838         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52839         gl_PREREQ_SIG_HANDLER_H.
52840         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52841         Don't check for sigaction here.
52842
52843 2008-06-23  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52846         (install_handlers): Don't set the SA_RESETHAND flag.
52847
52848 2008-06-23  Bruno Haible  <bruno@clisp.org>
52849
52850         * m4/sigaction.m4: Comment fixes.
52851         * lib/signal.in.h: Likewise.
52852
52853 2008-06-23  Eric Blake  <ebb9@byu.net>
52854
52855         Fix typo.
52856         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52857
52858         Avoid SA_ namespace.
52859         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52860         Reported by Ralf Wildenhues.
52861
52862         Avoid test failure due to SA_RESTORER.
52863         * tests/test-sigaction.c (SA_MASK): New macro.
52864         (main): Avoid failing due to extension flags being set.
52865         Reported by Jim Meyering.
52866
52867         Revert use of sig-handler.h in sigprocmask.c.
52868         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52869         it requires the existence of struct sigaction.
52870         * lib/sigprocmask.c (handler_t): Restore typedef.
52871         (rpl_signal, old_handlers): Use local type.
52872
52873 2008-06-22  Bruno Haible  <bruno@clisp.org>
52874
52875         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52876         conditionally.
52877         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52878
52879 2008-06-22  Bruno Haible  <bruno@clisp.org>
52880
52881         * doc/posix-functions/siginterrupt.texi: Move note.
52882
52883         * lib/signal.in.h (SA_RESTART): New macro.
52884         * lib/sigaction.c: Update comment.
52885
52886         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52887
52888         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52889         (gl_PREREQ_SIGPROCMASK): Invoke it.
52890         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52891
52892         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52893
52894         * lib/sigprocmask.c: Update a comment.
52895
52896 2008-06-21  Eric Blake  <ebb9@byu.net>
52897
52898         Use sigaction module rather than signal().
52899         * modules/c-stack (Depends-on): Add sigaction.
52900         * modules/fatal-signal (Depends-on): Likewise.
52901         * modules/nanosleep (Depends-on): Likewise.
52902         * modules/sigprocmask (Files): Add sig-handler.h.
52903         * modules/sigaction (Files): Likewise.
52904         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52905         Eggert.
52906         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52907         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52908         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52909         (init_fatal_signals): Likewise.
52910         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52911         (siginterrupt): Delete fallback.
52912         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52913         instead.
52914         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52915         siginterrupt.
52916
52917         New module sigaction, for mingw.
52918         * modules/sigaction: New module...
52919         * modules/sigaction-tests: ...and its test.
52920         * m4/sigaction.m4: New file.
52921         * lib/sigaction.c: Likewise.
52922         * tests/test-sigaction.c: Likewise.
52923         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52924         * modules/signal (Makefile.am): Likewise.
52925         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52926         needed.
52927         * doc/posix-headers/signal.texi (signal.h): Mention provided
52928         types.
52929         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52930         that sigaction is preferable.
52931         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52932         module.
52933         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52934         sigaction.
52935
52936         Improve robustness of sigprocmask by overriding signal.
52937         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52938         is in use.
52939         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52940         (SIGKILL, SIGSTOP): Provide fallbacks.
52941         (rpl_signal): Implement.
52942         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52943         signal can be called inside handlers.
52944
52945         Fix nanosleep module on mingw.
52946         * modules/nanosleep (Depends-on): Add sys_select.
52947         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52948
52949         Fix licensing of sigprocmask.
52950         * modules/raise (License): Relicense as LGPL.
52951
52952 2008-06-21  Bruno Haible  <bruno@clisp.org>
52953
52954         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52955         result if it contains question marks.
52956         Reported by Michael Geng <linux@michaelgeng.de>.
52957
52958 2008-06-19  Bruno Haible  <bruno@clisp.org>
52959
52960         Fix CVS-ism.
52961         * doc/gnulib.texi: Include updated-stamp.texi.
52962         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52963         (updated-stamp.texi): New rule.
52964         (gnulib.info): Depend on it.
52965         * doc/.gitignore: Add updated-stamp.texi.
52966         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52967
52968 2008-06-19  Bruno Haible  <bruno@clisp.org>
52969
52970         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52971         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52972
52973 2008-06-19  Eric Blake  <ebb9@byu.net>
52974
52975         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52976         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52977         Reported by Stepan Kasal.
52978
52979 2008-06-18  Bruno Haible  <bruno@clisp.org>
52980
52981         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52982         Reported by Eric Blake.
52983
52984 2008-06-18  Eric Blake  <ebb9@byu.net>
52985
52986         Work around cygwin 1.5.25 strsignal bug.
52987         * tests/test-strsignal.c: Allow for const char *.
52988         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52989
52990 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52991
52992         * users.txt: Update URL to article and add author/date
52993         information.
52994
52995 2008-06-17  Bruno Haible  <bruno@clisp.org>
52996
52997         New macro gl_DISABLE_THREADS.
52998         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52999         if the user did not pass --enable-threads or --disable-threads option.
53000         (gl_DISABLE_THREADS): New macro.
53001         Reported by Eric Blake <ebb9@byu.net>.
53002
53003 2008-06-17  Bruno Haible  <bruno@clisp.org>
53004
53005         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
53006         when the macro ignores it.
53007         Based on a patch by Eric Blake <ebb9@byu.net>.
53008
53009 2008-06-17  Bruno Haible  <bruno@clisp.org>
53010
53011         * modules/tls (License): Change to LGPLv2+.
53012         Reported by Eric Blake.
53013
53014 2008-06-17  Eric Blake  <ebb9@byu.net>
53015
53016         Simplify c-stack prerequisites.
53017         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
53018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
53019         no longer requires <ucontext.h> to exist.  Optimize setrlimit
53020         check.
53021         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
53022         <sys/resource.h>.
53023
53024         Move c-stack test into testsuite.
53025         * modules/c-stack-tests: New file.
53026         * lib/c-stack.c [DEBUG]: Move test program...
53027         * tests/test-c-stack.c: ...into this new file.  Skip rather than
53028         fail test if sigaltstack is lacking.
53029         * tests/test-c-stack.sh: New driver file.
53030
53031 2008-06-16  Eric Blake  <ebb9@byu.net>
53032
53033         Use raise module consistently.
53034         * modules/fatal-signal (Depends-on): Add raise.
53035         * modules/sigprocmask (Depends-on): Likewise.
53036         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
53037         * lib/sigprocmask.c (sigprocmask): Likewise.
53038         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
53039         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
53040
53041         Fix compliance bug in sigpending.
53042         * lib/sigprocmask.c (sigpending): Return pending array via
53043         parameter, not return value.
53044
53045 2008-06-14  Eric Blake  <ebb9@byu.net>
53046
53047         Improve obstack-printf test code.
53048         * tests/test-obstack-printf.c (test_function): Fix comment, and
53049         simplify usage of obstack_* in macros.  Add a test for coverage.
53050         Reported by Bruno Haible.
53051
53052 2008-06-14  Bruno Haible  <bruno@clisp.org>
53053
53054         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
53055         array size as a constant, not as a const variable.
53056         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
53057         AC_USE_SYSTEM_EXTENSIONS.
53058         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
53059         Test whether the obstack_printf function actually exists.
53060         * modules/obstack-printf (Depends-on): Add extensions.
53061         (Include): Remove obstack.h.
53062         * modules/obstack-printf-posix (Depends-on): Add extensions.
53063         (Include): Remove obstack.h.
53064
53065 2008-06-13  Eric Blake  <ebb9@byu.net>
53066
53067         Add obstack-printf and obstack-printf-posix modules.
53068         * modules/obstack-printf: New file.
53069         * modules/obstack-printf-posix: Likewise.
53070         * MODULES.html.sh (Misc): Mention them.
53071         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
53072         Likewise.
53073         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
53074         Likewise.
53075         * modules/stdio (Makefile.am): Accomodate new modules.
53076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53077         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
53078         Declare.
53079         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
53080         functions.
53081         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
53082         (gl_REPLACE_OBSTACK_PRINTF): New macros
53083         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
53084         * tests/test-obstack-printf.c: New file.
53085         * modules/obstack-printf-tests: Likewise.
53086         * modules/obstack-printf-posix-tests: Likewise.
53087
53088 2008-06-11  Bruno Haible  <bruno@clisp.org>
53089
53090         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
53091         * lib/open.c: Include errno.h.
53092         (open): Fail when attempting to write to a file that has a trailing
53093         slash.
53094         * tests/test-open.c (main): Test against trailing slash bug.
53095         * doc/posix-functions/open.texi: Mention the trailing slash bug.
53096
53097 2008-06-10  Bruno Haible  <bruno@clisp.org>
53098
53099         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
53100         for $? to work inside the trap command, with various /bin/sh-s.
53101         * tests/test-vc-list-files-cvs.sh: Likewise.
53102
53103 2008-06-10  Bruno Haible  <bruno@clisp.org>
53104
53105         * lib/acl-internal.h: Don't include gettext.h here.
53106         * lib/set-mode-acl.c: Include gettext.h here.
53107         * lib/copy-acl.c: Likewise.
53108
53109 2008-06-10  Bruno Haible  <bruno@clisp.org>
53110
53111         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
53112         * lib/wait-process.c (wait_subprocess): Likewise.
53113         * lib/execute.h (execute): Add termsigp argument.
53114         * lib/execute.c (execute): Likewise.
53115         * lib/csharpcomp.c (compile_csharp_using_pnet,
53116         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
53117         * lib/csharpexec.c (execute_csharp_using_pnet,
53118         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
53119         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
53120         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
53121         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
53122         is_jikes_present): Update.
53123         * lib/javaexec.c (execute_java_class): Update.
53124         * lib/javaversion.c (execute_and_read_line): Update.
53125         * NEWS: Document the changes.
53126         Reported by Eric Blake.
53127
53128 2008-06-10  Eric Blake  <ebb9@byu.net>
53129
53130         Add missing include.
53131         * tests/test-strstr.c (includes): Add <signal.h>.
53132         * tests/test-strcasestr.c (includes): Likewise.
53133         * tests/test-memmem.c (includes): Likewise.
53134
53135 2008-06-10  Bruno Haible  <bruno@clisp.org>
53136
53137         * lib/wait-process.c (wait_subprocess): Add an assertion.
53138
53139 2008-06-10  Bruno Haible  <bruno@clisp.org>
53140
53141         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
53142
53143 2008-06-10  Bruno Haible  <bruno@clisp.org>
53144
53145         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
53146         using alarm().
53147         * tests/test-strcasestr.c (main): Likewise.
53148         * tests/test-strstr.c (main): Likewise.
53149
53150 2008-06-09  Bruno Haible  <bruno@clisp.org>
53151
53152         Work around the Solaris 10 ACE ACLs ABI change.
53153         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
53154         declare if ACL_NO_TRIVIAL is present.
53155         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
53156         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
53157         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
53158         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
53159         define if ACL_NO_TRIVIAL is present.
53160         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
53161         and use the current ABI.
53162         (file_has_acl): Use same #if condition as elsewhere.
53163         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
53164         in use, and use the current ABI.
53165         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
53166         Reported by Jim Meyering.
53167
53168 2008-06-09  Eric Blake  <ebb9@byu.net>
53169
53170         Work around environments that (stupidly) ignore SIGALRM.
53171         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
53172         before using alarm().
53173         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53174         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
53175         Reported by Ian Beckwith <ianb@erislabs.net>.
53176
53177         Produce autobuild blurb earlier in log.
53178         * modules/autobuild (configure.ac-early): Move AB_INIT here.
53179
53180 2008-06-09  Jim Meyering  <meyering@redhat.com>
53181         and OndÅ™ej Vašík  <ovasik@redhat.com>
53182
53183         utimens.c: correct kernel bug work-around
53184         OndÅ™ej Vašík found that the invalid return value of 280 indicates
53185         failure, not success, and the kernel bug we're trying to work
53186         around affects not just the utimensat call, but also the fallback
53187         futimens call.
53188         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
53189         not success.
53190         [HAVE_FUTIMENS]: Use the same work-around, here.
53191
53192 2008-06-09  Jim Meyering  <meyering@redhat.com>
53193
53194         add more guards around definition of ACE_-related code
53195         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
53196         ALLOW and ACE_OWNER are also defined.
53197
53198 2008-06-08  Bruno Haible  <bruno@clisp.org>
53199
53200         * lib/acl-internal.h: Add me as co-author.
53201         * lib/file-has-acl.c: Likewise.
53202         * lib/set-mode-acl.c: Likewise.
53203         * lib/copy-acl.c: Likewise.
53204
53205 2008-06-08  Bruno Haible  <bruno@clisp.org>
53206
53207         Add support for AIX ACLs.
53208         * lib/acl-internal.h (acl_nontrivial): New declaration.
53209         * lib/file-has-acl.c (acl_nontrivial): New function.
53210         (file_has_acl): Add implementation using AIX 4 ACL API.
53211         * lib/set-mode-acl.c (qset_acl): Likewise.
53212         * lib/copy-acl.c (qcopy_acl): Likewise.
53213
53214 2008-06-08  Bruno Haible  <bruno@clisp.org>
53215
53216         Add support for HP-UX ACLs.
53217         * lib/acl-internal.h (acl_nontrivial): New declaration.
53218         * lib/file-has-acl.c (acl_nontrivial): New function.
53219         (file_has_acl): Add implementation using HP-UX 11 ACL API.
53220         * lib/set-mode-acl.c (qset_acl): Likewise.
53221         * lib/copy-acl.c (qcopy_acl): Likewise.
53222
53223 2008-06-08  Bruno Haible  <bruno@clisp.org>
53224
53225         Add support for Cygwin ACLs.
53226         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
53227         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
53228         the chmod_or_fchmod call.
53229         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
53230
53231 2008-06-08  Bruno Haible  <bruno@clisp.org>
53232
53233         Fix bug with setuid modes in Solaris 10+ code.
53234         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
53235         succeeded, when the mode contains some special bits.
53236
53237 2008-06-08  Bruno Haible  <bruno@clisp.org>
53238
53239         Add support for Solaris 7..10 ACLs.
53240         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
53241         declarations.
53242         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
53243         functions.
53244         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
53245         * lib/set-mode-acl.c (qset_acl): Likewise.
53246         * lib/copy-acl.c (qcopy_acl): Likewise.
53247
53248 2008-06-08  Bruno Haible  <bruno@clisp.org>
53249
53250         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
53251         declaration.
53252         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
53253         (acl_access_nontrivial): Remove MacOS X case.
53254         (file_has_acl): Use acl_extended_nontrivial.
53255         * lib/copy-acl.c (qcopy_acl): Likewise.
53256
53257 2008-06-08  Bruno Haible  <bruno@clisp.org>
53258
53259         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
53260
53261 2008-06-08  Jim Meyering  <meyering@redhat.com>
53262
53263         * modules/acl (Maintainer): Add Bruno Haible.
53264
53265 2008-06-07  Bruno Haible  <bruno@clisp.org>
53266
53267         Improve support for Tru64 ACLs.
53268         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
53269         ACL on OSF/1.
53270
53271 2008-06-07  Bruno Haible  <bruno@clisp.org>
53272
53273         Add support for MacOS X ACLs.
53274         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
53275         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
53276         * lib/set-mode-acl.c (qset_acl): Likewise.
53277         * lib/copy-acl.c (qcopy_acl): Likewise.
53278
53279 2008-06-07  Bruno Haible  <bruno@clisp.org>
53280
53281         Fix memory leak introduced on 2008-05-22.
53282         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
53283         use.
53284
53285 2008-06-07  Bruno Haible  <bruno@clisp.org>
53286
53287         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
53288         to construct an empty ACL.
53289
53290 2008-06-07  Bruno Haible  <bruno@clisp.org>
53291
53292         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
53293         precisely.
53294         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
53295
53296 2008-06-07  Bruno Haible  <bruno@clisp.org>
53297
53298         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
53299         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
53300
53301 2008-06-07  Bruno Haible  <bruno@clisp.org>
53302
53303         * doc/posix-functions/_setjmp.texi: Explain the use of this function
53304         regardless of POSIX.
53305         * doc/posix-functions/_longjmp.texi: Likewise.
53306         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
53307         SystemV platform in this case.
53308
53309 2008-06-06  Eric Blake  <ebb9@byu.net>
53310
53311         Document abort() bugs.
53312         * doc/posix-functions/abort.texi (abort): Mention anomalies.
53313
53314         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
53315         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
53316         sigsetjmp.
53317         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
53318         siglongjmp, but only as a macro.
53319         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
53320         is obsolete.
53321         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
53322
53323         Tweak documentation to cover cygwin argz bugs.
53324         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
53325         argz bug fix; no code change needed since no cygwin releases
53326         occurred between the last fix and the bug being tested.
53327         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
53328         module and recently fixed cygwin bugs.
53329         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
53330         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
53331         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
53332         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
53333         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
53334         Likewise.
53335         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
53336         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
53337         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
53338         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
53339         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
53340         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
53341         Likewise.
53342
53343         Avoid gcc warning on cygwin.
53344         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
53345         !ACL_NO_TRIVIAL]: Avoid unused variable.
53346
53347 2008-06-05  Eric Blake  <ebb9@byu.net>
53348
53349         Be tolerant of UNKNOWN version in gnulib-tool test dir.
53350         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
53351         git-version-gen fails to come up with a version.
53352         Reported by Simon Josefsson.
53353
53354 2008-06-05  Jim Meyering  <meyering@redhat.com>
53355             Paul Eggert  <eggert@cs.ucla.edu>
53356
53357         utimens.c: work around a probable Linux kernel bug
53358         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
53359         appears to be a kernel bug that causes utimensat to return 280
53360         instead of 0, indicating success.
53361
53362 2008-06-04  Bruno Haible  <bruno@clisp.org>
53363
53364         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
53365         2008-06-01 commit.
53366
53367 2008-06-04  Bruno Haible  <bruno@clisp.org>
53368
53369         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
53370         * lib/file-has-acl.c (acl_access_nontrivial): New function.
53371         (file_has_acl): Use it. Save errno afterwards.
53372         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
53373
53374 2008-06-03  Bruno Haible  <bruno@clisp.org>
53375
53376         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
53377         draft code. Simplify #ifs.
53378         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
53379         Put Solaris code after POSIX-draft code. Fix comments regarding
53380         Solaris 10, HP-UX. Mention Cygwin.
53381         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
53382
53383 2008-06-03  Eric Blake  <ebb9@byu.net>
53384
53385         Provide fallback for older kernels.
53386         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
53387         Provide runtime fallback if kernel lacks support.
53388         Reported by Mike Frysinger.
53389
53390 2008-06-02  Bruno Haible  <bruno@clisp.org>
53391
53392         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
53393         it exists.
53394
53395 2008-06-02  Bruno Haible  <bruno@clisp.org>
53396
53397         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
53398         * lib/copy-acl.c (qcopy_acl): Update comment.
53399
53400 2008-06-02  Bruno Haible  <bruno@clisp.org>
53401
53402         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
53403         like ACL APIs.
53404
53405 2008-06-02  Bruno Haible  <bruno@clisp.org>
53406
53407         * tests/test-file-has-acl.sh: Use different code for Cygwin.
53408         * tests/test-set-mode-acl.sh: Likewise.
53409         * tests/test-copy-acl.sh: Likewise.
53410         * tests/test-copy-file.sh: Likewise.
53411
53412 2008-06-02  Bruno Haible  <bruno@clisp.org>
53413
53414         * tests/test-file-has-acl.sh: Remove unused code.
53415
53416 2008-06-01  Bruno Haible  <bruno@clisp.org>
53417
53418         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
53419         (copy_acl): Just a wrapper around qcopy_acl that emits the error
53420         messages.
53421         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
53422
53423 2008-06-01  Bruno Haible  <bruno@clisp.org>
53424
53425         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
53426         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
53427         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
53428         APIs.
53429         * modules/acl-tests (configure.ac): Remove tests now contained in
53430         m4/acl.m4.
53431
53432 2008-06-02  Jim Meyering  <meyering@redhat.com>
53433
53434         announce-gen: use a better key-server host name
53435         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
53436         it may be more consistently reliable.  Suggested by Werner Koch
53437         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
53438
53439 2008-06-01  Bruno Haible  <bruno@clisp.org>
53440
53441         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53442         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53443
53444 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53445
53446         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53447
53448 2008-06-01  Bruno Haible  <bruno@clisp.org>
53449
53450         New ACL tests.
53451         * tests/test-file-has-acl.sh: New file.
53452         * tests/test-file-has-acl.c: New file.
53453         * tests/test-set-mode-acl.sh: New file.
53454         * tests/test-set-mode-acl.c: New file.
53455         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53456         * tests/test-copy-acl.c: New file.
53457         * modules/acl-tests: New file, based on modules/copy-file-tests.
53458         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53459         (Depends-on): Add acl-tests.
53460         (configure.ac): Remove checks.
53461         (Makefile.am): Don't create test-sameacls program here any more.
53462
53463 2008-06-01  Bruno Haible  <bruno@clisp.org>
53464
53465         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53466         * tests/test-sameacls.c: Include progname.h.
53467         (main): Invoke set_program_name. Portability fixes for MacOS X,
53468         Solaris, HP-UX.
53469
53470 2008-06-01  Bruno Haible  <bruno@clisp.org>
53471
53472         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53473         function.
53474         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53475
53476 2008-06-01  Bruno Haible  <bruno@clisp.org>
53477
53478         * modules/rpmatch (Depends-on): Add strdup.
53479
53480 2008-06-01  Bruno Haible  <bruno@clisp.org>
53481
53482         * lib/pipe.c: Include unistd-safer.h.
53483         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53484         * modules/pipe (Depends-on): Add unistd-safer.
53485
53486 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53487
53488         * modules/autobuild (configure.ac): Call AB_INIT.
53489
53490 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53491
53492         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53493         Suggested by Bruno Haible <bruno@clisp.org>.
53494
53495 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53496
53497         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53498         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53499         <bruno@clisp.org>.
53500
53501 2008-05-29  Eric Blake  <ebb9@byu.net>
53502
53503         Prefer new POSIX 200x interfaces over futimesat.
53504         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53505         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53506         when available.
53507         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53508
53509 2008-05-28  Bruno Haible  <bruno@clisp.org>
53510
53511         * modules/stpcpy (License): Change to LGPLv2+.
53512         Requested by David Lutterkort <dlutter@redhat.com>.
53513
53514 2008-05-27  Bruno Haible  <bruno@clisp.org>
53515
53516         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53517         current mingw.
53518         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53519
53520 2008-05-27  Bruno Haible  <bruno@clisp.org>
53521
53522         * modules/iconv_open (Link): New section, from module 'iconv'.
53523         * modules/striconv (Link): Likewise.
53524         * modules/striconveh (Link): Likewise.
53525         * modules/xstriconv (Link): Likewise.
53526         * modules/unicodeio (Link): Likewise.
53527         * modules/propername (Link): Likewise.
53528         Reported by Jim Meyering.
53529
53530 2008-05-26  Jim Meyering  <meyering@redhat.com>
53531
53532         sha256: do not artificially restrict buffer length to be < 2^32
53533         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53534         uint32_t to size_t.
53535         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53536         to match.
53537
53538         avoid unaligned access errors, e.g., on sparc
53539         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53540         direct access through a possibly-unaligned uint64* pointer.
53541         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53542         direct access through a possibly-unaligned uint32* pointer.
53543         Prompted by this patch from Tom "spot" Callaway:
53544         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53545
53546         sha512.c: fix typo in comment
53547         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53548
53549 2008-05-25  Bruno Haible  <bruno@clisp.org>
53550
53551         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53552         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53553         (Makefile.am): Update lib_SOURCES.
53554
53555 2008-05-25  Bruno Haible  <bruno@clisp.org>
53556
53557         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53558
53559 2008-05-25  Jim Meyering  <meyering@redhat.com>
53560
53561         useless-if-before-free: freed expr may have white-space differences
53562         * build-aux/useless-if-before-free: Recognize cases in which the
53563         freed expression differs from the tested one in embedded white
53564         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53565         $1 was used, so we can't make any regexp shy.  Improved tests now
53566         detect this.
53567
53568         useless-if-before-free: accept white space in the expression.
53569         * build-aux/useless-if-before-free: For now, any white space
53570         in the expression must be identical in the free argument.
53571
53572         useless-if-before-free: efficiency tweak
53573         * build-aux/useless-if-before-free: Make the expression-matching
53574         regexp "shy".
53575         Make the *outer* regexp shy, not the expr-matching one.
53576
53577         update code-in-comment to accept cast of free arg
53578         * build-aux/useless-if-before-free: Update regexp.
53579
53580 2008-05-25  Bruno Haible  <bruno@clisp.org>
53581
53582         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53583         * modules/copy-file-tests (Files, Makefile.am): Update.
53584         * tests/test-copy-file.c (func_test_copy): Update.
53585
53586 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53587
53588         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53589
53590 2008-05-23  Bruno Haible  <bruno@clisp.org>
53591
53592         Improve support for ACLs on OSF/1.
53593         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53594         Remove fallback for unknown flavors of ACLs.
53595
53596 2008-05-22  Bruno Haible  <bruno@clisp.org>
53597
53598         Add support for ACLs on OSF/1.
53599         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53600         replacements.
53601         (acl_free_text): New macro fallback.
53602         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53603         acl_free.
53604         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53605         acl_free_text function. Require AC_C_INLINE.
53606
53607 2008-05-22  Bruno Haible  <bruno@clisp.org>
53608
53609         Make copy_acl work on MacOS X 10.5.
53610         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53611         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53612         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53613         If MODE_INSIDE_ACL, don't assume that every system has the same text
53614         representation for ACLs as FreeBSD.
53615         * lib/copy-acl.c (copy_acl): Add support for platforms with
53616         !MODE_INSIDE_ACL.
53617         * lib/file-has-acl.c (file_has_acl): Likewise.
53618         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53619         FreeBSD, MacOS X, or IRIX, respectively.
53620
53621 2008-05-22  Bruno Haible  <bruno@clisp.org>
53622
53623         * lib/acl.h: Don't include <sys/acl.h>.
53624         (GETACLCNT): Move fallback to lib/acl-internal.h.
53625         * lib/acl-internal.h: Include <sys/acl.h> here.
53626         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53627
53628 2008-05-22  Bruno Haible  <bruno@clisp.org>
53629
53630         Split off copy_acl function to separate file.
53631         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53632         * lib/acl.c (copy_acl): Moved function to separate file.
53633         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53634         * modules/acl (Files): Add lib/copy-acl.c.
53635         (Makefiles.am): Augment lib_SOURCES.
53636
53637 2008-05-22  Bruno Haible  <bruno@clisp.org>
53638
53639         * modules/copy-file-tests: New file.
53640         * tests/test-copy-file.sh: New file.
53641         * tests/test-copy-file.c: New file.
53642         * tests/test-copy-file-sameacls.c: New file.
53643
53644 2008-05-22  Eric Blake  <ebb9@byu.net>
53645
53646         Avoid gcc warning.
53647         * tests/test-memcmp.c (main): Pass NULL indirectly.
53648
53649 2008-05-21  Bruno Haible  <bruno@clisp.org>
53650
53651         Add reference doc about ACLs.
53652         * doc/acl-resources.txt: New file.
53653         * doc/acl-cygwin.txt: New file.
53654
53655 2008-05-21  Bruno Haible  <bruno@clisp.org>
53656
53657         Avoid one more warning from gcc.
53658         * lib/vasnprintf.c (IF_LINT): Update comments.
53659         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53660
53661 2008-05-21  Jim Meyering  <meyering@redhat.com>
53662
53663         avoid a warning from gcc
53664         * lib/vasnprintf.c (IF_LINT): Define.
53665         (scale10_round_decimal_long_double):
53666         Use it to avoid a "may be used uninitialized" warning.
53667         (scale10_round_decimal_double): Likewise.
53668
53669 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53670
53671         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53672         declared.
53673
53674 2008-05-20  Bruno Haible  <bruno@clisp.org>
53675
53676         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53677         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53678
53679 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53680
53681         * modules/memcmp-tests: New file.
53682         * tests/test-memcmp.c: New file.
53683
53684 2008-05-19  Bruno Haible  <bruno@clisp.org>
53685
53686         * modules/propername (Notice, configure.ac): Put quoted "..." into
53687         --keyword option.
53688         * lib/propername.h: Update comments accordingly.
53689         Reported by Eric Blake.
53690
53691 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53692
53693         * modules/getpass-gnu (Depends-on): Add fseeko.
53694
53695 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53696
53697         * modules/base64-tests: New file.
53698
53699 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53700
53701         * lib/base64.c (base64_decode_ctx): If a decode context structure
53702         was passed in use it to ignore newlines.  If a context structure
53703         was _not_ passed in, continue to treat newlines as garbage (this
53704         is the historical behavior).  Formerly base64_decode.
53705         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53706         takes a decode context structure.
53707         * lib/base64.h (base64_decode): Macro for four-argument calls.
53708         (base64_decode_alloc): Likewise.
53709         * lib/base64.c (base64_decode_ctx): If a decode context structure
53710         was passed in use it to ignore newlines.  If a context structure
53711         was _not_ passed in, continue to treat newlines as garbage (this
53712         is the historical behavior).  Formerly base64_decode.
53713         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53714         takes a decode context structure.
53715         * lib/base64.h (base64_decode): Macro for four-argument calls.
53716         (base64_decode_alloc): Likewise.
53717
53718 2008-05-19  Jim Meyering  <meyering@redhat.com>
53719
53720         avoid a warning from gcc
53721         * lib/trim.c (IF_LINT): Define.
53722         (trim2): Use it to avoid a "may be used uninitialized" warning.
53723
53724         Fix doc typo.
53725         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53726
53727 2008-05-19  Bruno Haible  <bruno@clisp.org>
53728
53729         * doc/glibc-functions/getpass.texi: Document limits of other
53730         implementations.
53731
53732 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53733             Bruno Haible <bruno@clisp.org>
53734
53735         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53736
53737 2008-05-18  Bruno Haible  <bruno@clisp.org>
53738
53739         * modules/propername: New file, from GNU gettext.
53740         * lib/propername.h: New file, from GNU gettext.
53741         * lib/propername.c: New file, from GNU gettext.
53742         * MODULES.html.sh (Internationalization functions): Add propername.
53743
53744 2008-05-16  Jim Meyering  <meyering@redhat.com>
53745             Bruno Haible  <bruno@clisp.org>
53746
53747         Avoid some warnings from "gcc -Wshadow".
53748         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53749
53750 2008-05-15  Eric Blake  <ebb9@byu.net>
53751
53752         Extend previous patch to cygwin 1.7.0.
53753         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53754         fast implementation in cygwin >= 1.7.0.
53755         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53756         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53757
53758 2008-05-15  Bruno Haible  <bruno@clisp.org>
53759
53760         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53761         implementation in glibc >= 2.9.
53762         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53763         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53764
53765 2008-05-15  Bruno Haible  <bruno@clisp.org>
53766
53767         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53768         (Unicode string functions): Add unilbrk/*.
53769         Reported by Karl Berry.
53770
53771 2008-05-15  Eric Blake  <ebb9@byu.net>
53772
53773         Fix violation of <stdbool.h> replacement in regex.
53774         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53775         * lib/regexec.c (re_search_internal): Likewise.
53776         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53777
53778 2008-05-15  Jim Meyering  <meyering@redhat.com>
53779
53780         avoid distracting test output when git or cvs is not found
53781         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53782         * tests/test-vc-list-files-git.sh: Likewise.
53783
53784 2008-05-15  Eric Blake  <ebb9@byu.net>
53785
53786         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53787         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53788         glibc version.
53789         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53790         * doc/posix-functions/strstr.texi (strstr): Likewise.
53791         * lib/str-two-way.h (MAX): Sychronize with glibc.
53792
53793 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53794
53795         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53796         opr.ctx_type.
53797         (calc_first): Initialize constraint field.
53798         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53799         Fix grammar.
53800         (duplicate_node): Merge constraint field for all node types.
53801         (calc_eclosure_iter): Look at constraint field for all node types.
53802         * lib/regex_internal.c (create_cd_newstate): Don't look at
53803         opr.ctx_type.
53804
53805 2008-05-14  Bruno Haible  <bruno@clisp.org>
53806
53807         Help GCC to do better code generation.
53808         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53809         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53810         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53811         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53812         Declare with attribute 'malloc' if supported.
53813
53814 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53815
53816         use "echo STR|wc -c" rather than unportable "expr length STR"
53817         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53818         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53819
53820 2008-05-14  Jim Meyering  <meyering@redhat.com>
53821
53822         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53823         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53824         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53825         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53826         via Collin Lasse.
53827
53828 2008-05-14  Eric Blake  <ebb9@byu.net>
53829
53830         Avoid quadratic growth in gl_LIBSOURCES.
53831         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53832         Suggested by Bruno Haible.
53833
53834         Test xmemdup0.
53835         * modules/xmemdup0-tests: New file.
53836         * tests/test-xmemdup0.c: Likewise.
53837
53838 2008-05-13  Eric Blake  <ebb9@byu.net>
53839
53840         Split xmemdup0 into its own module.
53841         * modules/xmemdup0: New file.
53842         * lib/xmemdup0.h: Likewise.
53843         * lib/xmemdup0.c: Likewise.
53844         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53845         * lib/xalloc.h (xmemdup0): Remove.
53846         * lib/xmalloc.c (xmemdup0): Likewise.
53847
53848 2008-05-13  Eric Blake  <ebb9@byu.net>
53849             Bruno Haible  <bruno@clisp.org>
53850
53851         Reduce number of forks required during autoconf.
53852         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53853         and gl_LIBSOURCES_DIR.
53854         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53855         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53856         m4_syscmd per file.
53857         <m4_foreach_w>: Move...
53858         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53859
53860 2008-05-13  Eric Blake  <ebb9@byu.net>
53861
53862         * gnulib-tool: Fix various comment typos.
53863
53864 2008-05-12  Bruno Haible  <bruno@clisp.org>
53865
53866         Tailor the linebreaking algorithm.
53867         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53868
53869 2008-05-12  Bruno Haible  <bruno@clisp.org>
53870
53871         Update to Unicode 5.0.0.
53872         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53873         LBP_JV, LBP_JT. Redistribute values.
53874         (unilbrk_table): Change size.
53875         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53876         Unicode TR#14 rev. 22.
53877         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53878         LBP_JV, LBP_JT. Redistribute values.
53879         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53880         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53881         Update.
53882         * lib/unilbrk/lbrkprop1.h: Regenerated.
53883         * lib/unilbrk/lbrkprop2.h: Regenerated.
53884         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53885         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53886         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53887         Likewise.
53888         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53889         Likewise.
53890         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53891         result.
53892         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53893         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53894         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53895         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53896         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53897         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53898
53899 2008-05-11  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53902
53903 2008-05-11  Bruno Haible  <bruno@clisp.org>
53904
53905         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53906         * modules/unilbrk/gen-lbrk: New file.
53907
53908 2008-05-11  Bruno Haible  <bruno@clisp.org>
53909
53910         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53911         * m4/sha512.m4 (gl_SHA512): Likewise.
53912
53913 2008-05-11  Jim Meyering  <meyering@redhat.com>
53914
53915         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53916         * modules/crypto/sha256: New file.
53917         * modules/crypto/sha512: Likewise.
53918         * lib/sha256.c: Likewise.
53919         * lib/sha256.h: Likewise.
53920         * lib/sha512.c: Likewise.
53921         * lib/sha512.h: Likewise.
53922         * lib/u64.h: Likewise.
53923         * m4/sha256.m4: Likewise.
53924         * m4/sha512.m4: Likewise.
53925         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53926
53927 2008-05-10  Bruno Haible  <bruno@clisp.org>
53928
53929         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53930         (Input/Output <stdio.h>): Add xprintf.
53931         (Signal handling <signal.h>): Add strsignal.
53932         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53933         (Core language properties): Add func.
53934         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53935         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53936         strings.
53937         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53938         (Input/output): New section.
53939         (File system functions): Add openat-die, stat-macros.
53940         (Networking functions): Add sockets.
53941         (Unicode string functions): Add unictype/*.
53942         (Support for building libraries and executables): Add gperf.
53943         (Support for building documentation): Add agpl-3.0.
53944         (Misc): Add nocrash.
53945
53946 2008-05-10  Bruno Haible  <bruno@clisp.org>
53947
53948         * modules/unictype/gen-ctype: New file.
53949
53950 2008-05-10  Jim Meyering  <meyering@redhat.com>
53951
53952         Make chdir-safer.c more efficient on a system with no symlinks.
53953         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53954         also if ELOOP is zero.  Suggested by Bruno Haible.
53955
53956         Make chdir-safer.c slightly safer.
53957         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53958         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53959
53960         Avoid compile failure on systems without ELOOP (like mingw).
53961         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53962         Reported by Bruno Haible.
53963
53964 2008-05-10  Bruno Haible  <bruno@clisp.org>
53965
53966         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53967         (is_utf8_encoding): Use a case-insensitive comparison.
53968         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53969         streq.
53970
53971 2008-05-10  Bruno Haible  <bruno@clisp.org>
53972
53973         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53974         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53975         * lib/unilbrk/ulc-common.h (iconv_string_length,
53976         iconv_string_keeping_offsets): Remove declarations.
53977         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53978         Don't include <iconv.h>, streq.h, xsize.h.
53979         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53980         conversion.
53981         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53982         <iconv.h>, streq.h, xsize.h.
53983         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53984         conversion.
53985         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53986         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53987         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53988         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53989
53990 2008-05-10  Bruno Haible  <bruno@clisp.org>
53991
53992         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53993         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53994
53995         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53996         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53997
53998         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53999         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
54000
54001         * modules/unilbrk/u8-width-linebreaks-tests: New file.
54002         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
54003
54004         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
54005         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
54006
54007         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
54008         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
54009
54010         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
54011         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
54012
54013         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
54014         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
54015
54016 2008-05-10  Bruno Haible  <bruno@clisp.org>
54017
54018         Split up 'linebreak' module.
54019         * lib/unilbrk.h: New file, based on lib/linebreak.h.
54020         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
54021         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
54022         modifications.
54023         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
54024         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
54025         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
54026         lib/linebreak.c.
54027         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
54028         lib/linebreak.c.
54029         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
54030         lib/linebreak.c.
54031         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
54032         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
54033         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
54034         lib/linebreak.c.
54035         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
54036         lib/linebreak.c.
54037         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
54038         lib/linebreak.c.
54039         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
54040         lib/linebreak.c.
54041         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
54042         lib/linebreak.c.
54043         * modules/unilbrk/base: New file.
54044         * modules/unilbrk/tables: New file.
54045         * modules/unilbrk/u8-possible-linebreaks: New file.
54046         * modules/unilbrk/u16-possible-linebreaks: New file.
54047         * modules/unilbrk/u32-possible-linebreaks: New file.
54048         * modules/unilbrk/ulc-common: New file.
54049         * modules/unilbrk/ulc-possible-linebreaks: New file.
54050         * modules/unilbrk/u8-width-linebreaks: New file.
54051         * modules/unilbrk/u16-width-linebreaks: New file.
54052         * modules/unilbrk/u32-width-linebreaks: New file.
54053         * modules/unilbrk/ulc-width-linebreaks: New file.
54054         * lib/linebreak.h: Remove file.
54055         * lib/linebreak.c: Remove file.
54056         * m4/linebreak.m4: Remove file.
54057         * modules/linebreak: Remove file.
54058         * NEWS: Mention the changes.
54059
54060 2008-05-09  Eric Blake  <ebb9@byu.net>
54061
54062         Add xmemdup0.
54063         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
54064         implementation.
54065         * lib/xmalloc.c (xmemdup0): New C implementation.
54066
54067 2008-05-08  Bruno Haible  <bruno@clisp.org>
54068
54069         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
54070
54071 2008-05-07  Eric Blake  <ebb9@byu.net>
54072
54073         Support cross-compilation of <wctype.h>.
54074         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
54075         AC_CACHE_CHECK.
54076
54077 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
54078
54079         * build-aux/vc-list-files: Add support for bzr.
54080
54081 2008-05-03  Jim Meyering  <meyering@redhat.com>
54082
54083         avoid failed assertion with tight malloc
54084         * tests/test-getndelim2.c: Correct an off-by-one assertion.
54085
54086 2008-05-03  Simon Josefsson  <simon@josefsson.org>
54087
54088         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
54089         are needed from arpa/inet.h.
54090         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
54091         Reported by Bruno Haible.
54092
54093 2008-05-02  Jim Meyering  <meyering@redhat.com>
54094
54095         avoid compilation error on FreeBSD 6
54096         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
54097
54098 2008-05-01  Jim Meyering  <meyering@redhat.com>
54099
54100         useless-if-before-free: correct --help's exit status description
54101         * build-aux/useless-if-before-free (usage): Like grep, exit 0
54102         for one or more matches, etc.  Reported by Bruno Haible.
54103
54104         vc-list-files: make the stand-alone gnulib test work
54105         * modules/vc-list-files-tests (configure.ac):
54106         Define and AC_SUBST abs_aux_dir.
54107         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
54108         $(abs_top_srcdir) to each script and having each of them
54109         duplicate the work of setting PATH, set PATH here, using
54110         the new variable, abs_aux_dir instead.
54111         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
54112         * tests/test-vc-list-files-git.sh: Likewise.
54113         Reported by Bruno Haible.
54114
54115 2008-05-01  Bruno Haible  <bruno@clisp.org>
54116
54117         * lib/getndelim2.c (getndelim2): Fix newsize computation during
54118         reallocation. Rename 'done' to 'found_delimiter'.
54119
54120 2008-05-01  Jim Meyering  <meyering@redhat.com>
54121
54122         vc-list-files: accommodate /bin/sh like the one from Solaris 10
54123         * build-aux/vc-list-files: Use `...`, not $(...).
54124
54125 2008-04-30  Jim Meyering  <meyering@redhat.com>
54126
54127         add tests for vc-list-files
54128         * modules/vc-list-files-tests: New module.
54129         * tests/test-vc-list-files-cvs.sh: New file.
54130         * tests/test-vc-list-files-git.sh: New file.
54131
54132         avoid a warning from gcc
54133         * lib/getndelim2.c (IF_LINT): Define.
54134         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
54135
54136         vc-list-files: work properly with build-aux/cvsu, too
54137         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
54138         to all cvs-based clauses.
54139
54140         vc-list-files: work properly in the CVS+awk case, too
54141         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
54142
54143         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
54144         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
54145         take more than one file argument, so .  Add quotes, just in case $dir
54146         ever contains a shell meta-character.  Prompted by Soren Hansen in
54147         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
54148
54149 2008-04-29  Eric Blake  <ebb9@byu.net>
54150
54151         Optimize getndelim2 to use block operations when possible.
54152         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
54153         freadseek, and memchr2.
54154         * lib/getndelim2.c (getndelim2): Use them for block reads.
54155
54156 2008-04-29  Bruno Haible  <bruno@clisp.org>
54157
54158         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
54159         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54160         * modules/inet_ntop (Depends-on): Add extensions.
54161         * modules/inet_pton (Depends-on): Likewise.
54162         Reported by Simon Josefsson.
54163
54164 2008-04-29  Jim Meyering  <meyering@redhat.com>
54165
54166         When the is more than one match in a block, match all of them.
54167         * build-aux/useless-if-before-free: Iterate through each block
54168         until there are no more matches.
54169
54170         Fix broken useless-if-before-free script.
54171         * build-aux/useless-if-before-free: Fix typo: missing "?" after
54172         the expression to match cast of argument to free-like function.
54173
54174 2008-04-29  Eric Blake  <ebb9@byu.net>
54175
54176         Use new header.
54177         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
54178
54179 2008-04-29  Jim Meyering  <meyering@redhat.com>
54180
54181         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
54182         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
54183         by gnulib to exist and to declare e.g., inet_ntop.
54184         Don't include "inet_ntop.h", now removed.
54185
54186         * m4/arpa_inet_h.m4: Remove trailing blanks.
54187
54188 2008-04-29  Eric Blake  <ebb9@byu.net>
54189
54190         Silence valgrind on safe reads beyond potential array bounds.
54191         * lib/rawmemchr.valgrind: New file.
54192         * lib/strchrnul.valgrind: Likewise.
54193         * modules/rawmemchr (Files): Distribute new file.
54194         * modules/strchrnul (Files): Likewise.
54195         Suggested by Bruno Haible.
54196
54197 2008-04-29  Bruno Haible  <bruno@clisp.org>
54198
54199         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
54200         (inet_ntop, inet_pton): Change portability warning's wording.
54201         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
54202         Invoke gl_CHECK_NEXT_HEADERS.
54203         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
54204         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
54205         set ARPA_INET_H.
54206         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54207         * modules/arpa_inet (Description): No longer only for systems that
54208         lack it.
54209         (Depends-on): Add include_next.
54210         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
54211         HAVE_ARPA_INET_H.
54212
54213 2008-04-29  Jim Meyering  <meyering@redhat.com>
54214
54215         * modules/mkdir (License): Re-license as LGPLv2+.
54216
54217 2008-04-29  Bruno Haible  <bruno@clisp.org>
54218
54219         * modules/rawmemchr (Maintainer): Set to Eric.
54220         * modules/strchrnul (Maintainer): Likewise.
54221
54222 2008-04-29  Simon Josefsson  <simon@josefsson.org>
54223
54224         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
54225         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
54226
54227         * modules/arpa_inet (arpa/inet.h): Use them.
54228
54229 2008-04-28  Eric Blake  <ebb9@byu.net>
54230
54231         Test getndelim2.
54232         * modules/getndelim2-tests: New file.
54233         * tests/test-getndelim2.c: Likewise.
54234         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
54235         stream.
54236         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
54237
54238         * MODULES.html.sh: Document new module.
54239
54240 2008-04-20  Bruno Haible  <bruno@clisp.org>
54241
54242         * lib/c-stack.c (die): Use raise.
54243         * modules/c-stack (Depends-on): Add raise.
54244
54245 2008-04-28  Bruno Haible  <bruno@clisp.org>
54246
54247         Expect rpmatch to be declared.
54248         * lib/yesno.c (rpmatch): Remove declaration.
54249
54250         Declare rpmatch.
54251         * lib/stdlib.in.h (rpmatch): New declaration.
54252         * lib/rpmatch.c: Include <stdlib.h> first.
54253         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
54254         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
54255         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
54256         HAVE_RPMATCH.
54257         * modules/rpmatch (Depends-on): Add stdlib, extensions.
54258         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54259         (Include): Set to <stdlib.h>.
54260         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
54261         HAVE_RPMATCH.
54262         * NEWS: Document the change.
54263
54264 2008-04-28  Bruno Haible  <bruno@clisp.org>
54265
54266         Change rpmatch to use nl_langinfo when appropriate.
54267         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
54268         (N_): New macro.
54269         (localized_pattern): New function/macro.
54270         (try): Remove match, nomatch arguments. Copy the pattern into safe
54271         memory before caching it.
54272         (rpmatch): Use localized_pattern. Add translator comments.
54273         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
54274         Suggested by Eric Blake.
54275         * modules/rpmatch (Depends-on): Add stdbool.
54276
54277 2008-04-28  Eric Blake  <ebb9@byu.net>
54278
54279         Add rawmemchr module, matching glibc.
54280         * modules/string (Makefile.am): New indicator.
54281         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
54282         * lib/string.in.h (rawmemchr): Declare when appropriate.
54283         * modules/rawmemchr: New file.
54284         * m4/rawmemchr.m4: Likewise.
54285         * lib/rawmemchr.c: Likewise.
54286         * modules/rawmemchr-tests: Likewise.
54287         * tests/test-rawmemchr.c: Likewise.
54288         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
54289         module.
54290         * modules/strchrnul (Depends-on): Add rawmemchr.
54291         * lib/strchrnul.c (strchrnul): Optimize a corner case.
54292
54293         Whitespace cleanup.
54294         * tests/test-strchrnul.c: Reindent.
54295         * lib/strchrnul.c: Likewise.
54296
54297         Optimize and test strchrnul.
54298         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
54299         * modules/strchrnul-tests: New file.
54300         * tests/test-strchrnul.c: Likewise.
54301
54302         Remove intprops dependency.
54303         * modules/memchr (Depends-on): Remove intprops.
54304         * modules/memrchr (Depends-on): Likewise.
54305         * modules/memchr2 (Depends-on): Likewise.
54306         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
54307         * lib/memrchr.c (__memrchr): Likewise.
54308         * lib/memrchr2.c (memchr2): Likewise.
54309         Reported by Simon Josefsson.
54310
54311 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54312
54313         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
54314         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54315
54316 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54317
54318         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
54319
54320         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
54321
54322         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
54323
54324         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
54325         declarations.
54326         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
54327
54328         * m4/inet_pton.m4: Don't check for header files.
54329
54330         * m4/inet_ntop.m4: Don't check for header files.
54331
54332 2008-04-28  Simon Josefsson  <simon@josefsson.org>
54333
54334         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
54335         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
54336         trigger for cygwin).
54337         Reported by Bruno Haible  <bruno@clisp.org>.
54338
54339 2008-04-28  Bruno Haible  <bruno@clisp.org>
54340
54341         * doc/posix-functions/strdup.texi: Mention mingw problem.
54342
54343 2008-04-27  Bruno Haible  <bruno@clisp.org>
54344
54345         * modules/stat-time-tests (Depends-on): Add sleep.
54346         * tests/test-stat-time.c (force_unlink): New function.
54347         (cleanup): Use it.
54348         (test_mtime): Remove the ctime related tests.
54349         (test_ctime): New function, containing the ctime related tests.
54350         (main): Call test_ctime, except on native Windows platforms.
54351
54352 2008-04-27  Bruno Haible  <bruno@clisp.org>
54353
54354         * lib/rpmatch.c (rpmatch): Add some comments.
54355         Reported by James Youngman <jay@gnu.org>.
54356
54357 2008-04-27  Bruno Haible  <bruno@clisp.org>
54358
54359         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
54360         quiet NaNs.
54361
54362 2008-04-27  Bruno Haible  <bruno@clisp.org>
54363
54364         Make test-yesno.sh work on mingw.
54365         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
54366         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
54367         (main): Set stdin to binary mode.
54368         * modules/yesno-tests (Depends-on): Add binary-io.
54369
54370 2008-04-27  Bruno Haible  <bruno@clisp.org>
54371
54372         Fix 'isfinite' on x86, x86_64, ia64 platforms.
54373         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
54374         argument that lie outside the IEEE 854 domain.
54375         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
54376         (gl_ISFINITE): Use it.
54377         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
54378
54379 2008-04-27  Bruno Haible  <bruno@clisp.org>
54380
54381         Allow local renaming in config.h.
54382         * lib/memrchr.c (memrchr): Don't undefine outside libc.
54383
54384 2008-04-27  Bruno Haible  <bruno@clisp.org>
54385
54386         * lib/memchr.c (__memchr): Change type of 'i'.
54387         * lib/memchr2.c (memchr2): Likewise.
54388
54389 2008-04-26  Eric Blake  <ebb9@byu.net>
54390         and Bruno Haible  <bruno@clisp.org>
54391
54392         Optimize and test memrchr.
54393         * modules/memrchr (Depends-on): Add intprops.
54394         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
54395         * modules/memrchr-tests: New file.
54396         * tests/test-memrchr.c: New file.
54397
54398 2008-04-26  Bruno Haible  <bruno@clisp.org>
54399
54400         Add tentative support for DragonFly BSD.
54401         * lib/stdio-impl.h: Add macros for DragonFly BSD.
54402         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
54403         fp.
54404         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54405         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
54406         * lib/fpurge.c (fpurge): Likewise.
54407         * lib/freadable.c (freaadable): Likewise.
54408         * lib/freadahead.c (freadahead): Likewise.
54409         * lib/freading.c (freading): Likewise.
54410         * lib/freadptr.c (freadptr): Likewise.
54411         * lib/freadseek.c (freadptrinc): Likewise.
54412         * lib/fseeko.c (fseeko): Likewise.
54413         * lib/fseterr.c (fseterr): Likewise.
54414         * lib/fwritable.c (fwritable): Likewise.
54415         * lib/fwriting.c (fwriting): Likewise.
54416
54417 2008-04-26  Bruno Haible  <bruno@clisp.org>
54418
54419         * lib/stdio-impl.h: New file.
54420         * lib/fbufmode.c: Include stdio-impl.h.
54421         (fbufmode): Use fp_, remove redundant #defines.
54422         * lib/fflush.c: Include stdio-impl.h.
54423         (clear_ungetc_buffer): Remove redundant #defines.
54424         * lib/fpurge.c: Include stdio-impl.h.
54425         (fpurge): Remove redundant #defines.
54426         * lib/freadable.c: Include stdio-impl.h.
54427         (freadable): Remove redundant #defines.
54428         * lib/freadahead.c: Include stdio-impl.h.
54429         (freadahead): Remove redundant #defines.
54430         * lib/freading.c: Include stdio-impl.h.
54431         (freading): Remove redundant #defines.
54432         * lib/freadptr.c: Include stdio-impl.h.
54433         (freadptr): Remove redundant #defines.
54434         * lib/freadseek.c: Include stdio-impl.h.
54435         (freadptrinc): Remove redundant #defines.
54436         * lib/fseeko.c: Include stdio-impl.h.
54437         (rpl_fseeko): Remove redundant #defines.
54438         * lib/fseterr.c: Include stdio-impl.h.
54439         (fseterr): Remove redundant #defines.
54440         * lib/fwritable.c: Include stdio-impl.h.
54441         (fwritable: Remove redundant #defines.
54442         * lib/fwriting.c: Include stdio-impl.h.
54443         (fwriting): Remove redundant #defines.
54444         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54445         * modules/fflush (Files): Likewise.
54446         * modules/fpurge (Files): Likewise.
54447         * modules/freadable (Files): Likewise.
54448         * modules/freadahead (Files): Likewise.
54449         * modules/freading (Files): Likewise.
54450         * modules/freadptr (Files): Likewise.
54451         * modules/freadseek (Files): Likewise.
54452         * modules/fseeko (Files): Likewise.
54453         * modules/fseterr (Files): Likewise.
54454         * modules/fwritable (Files): Likewise.
54455         * modules/fwriting (Files): Likewise.
54456
54457 2008-04-26  Bruno Haible  <bruno@clisp.org>
54458
54459         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54460         restore_seek_optimization, update_fpos_cache): New functions, extracted
54461         from rpl_fflush.
54462         (rpl_fflush): Use them.
54463         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54464         (gl_REPLACE_FFLUSH): Use it.
54465
54466 2008-04-26  Bruno Haible  <bruno@clisp.org>
54467
54468         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54469         on Solaris.
54470         * tests/test-xstrtoimax.sh: Likewise.
54471         * tests/test-xstrtoumax.sh: Likewise.
54472         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54473
54474 2008-04-26  Bruno Haible  <bruno@clisp.org>
54475
54476         * modules/memchr-tests: New file.
54477         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54478
54479 2008-04-26  Eric Blake  <ebb9@byu.net>
54480             Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/memchr.c: Include intprops.h.
54483         (__memchr): Optimize parallel detection of matching bytes. Rename local
54484         variables. Add explanatory comments.
54485
54486 2008-04-26  Bruno Haible  <bruno@clisp.org>
54487
54488         Fix module 'memchr', broken since 2000-10-28.
54489         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54490
54491 2008-04-26  Bruno Haible  <bruno@clisp.org>
54492
54493         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54494         comments.
54495
54496 2008-04-25  Eric Blake  <ebb9@byu.net>
54497
54498         Use native fstatat on cygwin 1.7.0.
54499         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54500         first.
54501
54502 2008-04-23  Eric Blake  <ebb9@byu.net>
54503
54504         Improve memchr2 performance.
54505         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54506         NUL bytes.
54507         * modules/memchr2 (Depends-on): Use intprops.h.
54508
54509 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54510
54511         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54512         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54513         <blp@cs.stanford.edu>.
54514
54515 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54516
54517         * lib/arpa_inet.in.h: New file.
54518
54519         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54520         (Makefile.am): Sed in substitute header file.
54521
54522         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54523         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54524
54525         * modules/inet_ntop (configure.ac): Use
54526         gl_ARPA_INET_MODULE_INDICATOR.
54527
54528         * modules/inet_pton (configure.ac): Use
54529         gl_ARPA_INET_MODULE_INDICATOR.
54530
54531 2008-04-22  Jim Meyering  <meyering@redhat.com>
54532
54533         * modules/verify (License): Re-license as LGPLv2+.
54534
54535 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54536
54537         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54538         parameter to void* as per POSIX standard (MinGW uses char*).
54539
54540 2008-04-21  Bruno Haible  <bruno@clisp.org>
54541
54542         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54543         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54544         Define to replacements if REPLACE_ISWCNTRL is 1.
54545         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54546         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54547         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54548         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54549         what it fixes.
54550         * doc/posix-functions/iswalpha.texi: Likewise.
54551         * doc/posix-functions/iswblank.texi: Likewise.
54552         * doc/posix-functions/iswcntrl.texi: Likewise.
54553         * doc/posix-functions/iswdigit.texi: Likewise.
54554         * doc/posix-functions/iswgraph.texi: Likewise.
54555         * doc/posix-functions/iswlower.texi: Likewise.
54556         * doc/posix-functions/iswprint.texi: Likewise.
54557         * doc/posix-functions/iswpunct.texi: Likewise.
54558         * doc/posix-functions/iswspace.texi: Likewise.
54559         * doc/posix-functions/iswupper.texi: Likewise.
54560         * doc/posix-functions/iswxdigit.texi: Likewise.
54561         Reported by Alain Guibert.
54562
54563 2008-04-21  Bruno Haible  <bruno@clisp.org>
54564
54565         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54566         Patch by Alain Guibert.
54567
54568 2008-04-21  Bruno Haible  <bruno@clisp.org>
54569
54570         Fix test failures on mingw.
54571         * tests/test-xstrtol.c (print_no_progname): New function.
54572         (main): Install it in error_print_progname hook.
54573         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54574         * tests/test-xstrtoimax.sh: Likewise.
54575         * tests/test-xstrtoumax.sh: Likewise.
54576
54577 2008-04-21  Bruno Haible  <bruno@clisp.org>
54578
54579         Fix test failure on mingw.
54580         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54581
54582 2008-04-21  Bruno Haible  <bruno@clisp.org>
54583
54584         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54585         Actually assign a value.
54586
54587 2008-04-20  Bruno Haible  <bruno@clisp.org>
54588
54589         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54590         take 2.
54591         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54592         'canonicalize-lgpl' module is also used.
54593         * lib/canonicalize-lgpl.c: Undo last change.
54594         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54595
54596 2008-04-20  Bruno Haible  <bruno@clisp.org>
54597
54598         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54599         config.h. Provide _mkdir based fallback for mingw.
54600         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54601         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54602         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54603         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54604         rather than defining mkdir in config.h.
54605         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54606         (gl_SYS_STAT_H_DEFAULTS): New macro.
54607         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54608         HAVE_IO_H any more.
54609         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54610         HAVE_DECL_MKDIR and HAVE_IO_H.
54611
54612 2008-04-20  Bruno Haible  <bruno@clisp.org>
54613
54614         * lib/isapipe.c: Port to native Windows platforms.
54615
54616 2008-04-20  Bruno Haible  <bruno@clisp.org>
54617
54618         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54619
54620 2008-04-21  Eric Blake  <ebb9@byu.net>
54621
54622         Work around preprocessors that don't handle UINTMAX_MAX.
54623         * lib/memchr2.c (memchr2): Avoid embedded #if.
54624         Reported by Alain Guibert, fix suggested by Bruno Haible.
54625
54626 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54627
54628         * doc/posix-functions/strftime.texi (strftime): Explain better
54629         Windows incompatibility.  Suggested by Micah Cowan
54630         <micah@cowan.name>.
54631
54632 2008-04-20  Bruno Haible  <bruno@clisp.org>
54633
54634         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54635         unistr/u8-mblen.
54636
54637 2008-04-20  Bruno Haible  <bruno@clisp.org>
54638
54639         Fix test failure on platforms with non-GNU iconv.
54640         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54641         (U_TO_U8): Use it, rather than u16_to_u8.
54642         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54643         units at the end of the input string.
54644         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54645
54646 2008-04-20  Bruno Haible  <bruno@clisp.org>
54647
54648         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54649         when the resulting length is 0.
54650         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54651
54652 2008-04-20  Bruno Haible  <bruno@clisp.org>
54653
54654         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54655         works.
54656         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54657
54658 2008-04-20  Bruno Haible  <bruno@clisp.org>
54659
54660         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54661         * modules/tsearch-tests (configure.ac): Test for initstate function.
54662
54663 2008-04-20  Bruno Haible  <bruno@clisp.org>
54664
54665         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54666         for nlink_t if missing.
54667         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54668
54669 2008-04-19  Bruno Haible  <bruno@clisp.org>
54670
54671         Work around snprintf bug on Linux libc5.
54672         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54673         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54674         gl_SNPRINTF_SIZE1.
54675         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54676         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54677         that test failed.
54678         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54679         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54680         * modules/snprintf (Files): Add m4/printf.m4.
54681         * modules/vsnprintf (Files): Likewise.
54682         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54683         * doc/posix-functions/vsnprintf.texi: Likewise.
54684
54685 2008-04-19  Bruno Haible  <bruno@clisp.org>
54686
54687         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54688         from 0.0058 to less than 10^-7.
54689
54690 2008-04-19  Bruno Haible  <bruno@clisp.org>
54691
54692         Fix rounding when a precision is given.
54693         * lib/vasnprintf.c (is_borderline): New function.
54694         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54695         9...9x.
54696         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54697         %e, %g.
54698         * tests/test-vasprintf-posix.c (test_function): Likewise.
54699         * tests/test-snprintf-posix.h (test_function): Likewise.
54700         * tests/test-sprintf-posix.h (test_function): Likewise.
54701         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54702         * tests/test-printf-posix.h (test_function): Likewise.
54703         * tests/test-printf-posix.output: Update.
54704         Reported by John Darrington <john@darrington.wattle.id.au> via
54705         Ben Pfaff <blp@cs.stanford.edu>.
54706
54707 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54708
54709         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54710         Suggested by Bruno Haible <bruno@clisp.org>.
54711
54712 2008-04-17  Bruno Haible  <bruno@clisp.org>
54713
54714         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54715         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54716         implementation.
54717         Patch by Bruce Merry <bmerry@gmail.com>.
54718
54719 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54720
54721         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54722         doesn't work under Windows.
54723
54724 2008-04-16  Bruno Haible  <bruno@clisp.org>
54725
54726         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54727         New macros.
54728         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54729         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54730         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54731         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54732         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54733         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54734         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54735         macros.
54736         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54737         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54738         Northern Sotho, Uighur.
54739
54740 2008-04-16  Bruno Haible  <bruno@clisp.org>
54741
54742         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54743         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54744         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54745         Reported by Daniel Bergström <daniel@octocode.com>.
54746
54747 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54748             Bruno Haible  <bruno@clisp.org>
54749
54750         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54751         function.
54752         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54753         New functions, mostly extracted from gl_locale_name_default.
54754         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54755
54756 2008-04-16  Eric Blake  <ebb9@byu.net>
54757
54758         Adjust strtod detection to catch glibc 2.7 bug.
54759         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54760         Reported by John Gatewood Ham.
54761
54762 2008-04-16  Bruno Haible  <bruno@clisp.org>
54763
54764         Add tentative support for Linux libc5.
54765         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54766         * lib/fpurge.c (fpurge): Likewise.
54767         * lib/freadable.c (freadable): Likewise.
54768         * lib/freadahead.c (freadahead): Likewise.
54769         * lib/freading.c (freading): Likewise.
54770         * lib/freadptr.c (freadptr): Likewise.
54771         * lib/freadseek.c (freadptrinc): Likewise.
54772         * lib/fseeko.c (rpl_fseeko): Likewise.
54773         * lib/fseterr.c (fseterr): Likewise.
54774         * lib/fwritable.c (fwritable): Likewise.
54775         * lib/fwriting.c (fwriting): Likewise.
54776         Reported by Alain Guibert <alguibert+bts@free.fr>.
54777
54778 2008-04-15  Bruno Haible  <bruno@clisp.org>
54779
54780         * modules/mathl (configure.ac): Define module indicator.
54781
54782 2008-04-15  Bruno Haible  <bruno@clisp.org>
54783
54784         * lib/logl.c (logl): Remove unused variables.
54785
54786 2008-04-15  Bruno Haible  <bruno@clisp.org>
54787
54788         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54789         fails.
54790
54791 2008-04-15  Bruno Haible  <bruno@clisp.org>
54792
54793         * lib/trim.c (trim2): Fix argument of isspace() macro.
54794
54795 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54796
54797         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54798         to 0.
54799         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54800
54801 2008-04-14  Bruno Haible  <bruno@clisp.org>
54802
54803         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54804         AC_LANG_PROGRAM argument.
54805         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54806         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54807         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54808         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54809         * m4/math_h.m4 (gl_MATH_H): Likewise.
54810         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54811         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54812         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54813         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54814         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54815         * m4/regex.m4 (gl_REGEX): Likewise.
54816         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54817         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54818         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54819         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54820         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54821         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54822         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54823         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54824
54825 2008-04-14  Jim Meyering  <meyering@redhat.com>
54826
54827         test-strtod: fix typos: s/abs/fabs/
54828         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54829
54830 2008-04-13  Bruno Haible  <bruno@clisp.org>
54831
54832         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54833         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54834         module is also used and while not building the reloc-wrapper.
54835
54836 2008-04-13  Bruno Haible  <bruno@clisp.org>
54837
54838         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54839
54840 2008-04-13  Bruno Haible  <bruno@clisp.org>
54841
54842         Fix AIX compilation failure introduced on 2008-04-02.
54843         * tests/test-frexp.c (exp): Undefine before redefining.
54844         * tests/test-frexpl.c (exp): Likewise.
54845
54846 2008-04-13  Bruno Haible  <bruno@clisp.org>
54847
54848         Work around a HP-UX stdio bug.
54849         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54850         * tests/test-ftello.c (main): Likewise.
54851         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54852         * doc/posix-functions/ftello.texi: Likewise.
54853
54854 2008-04-13  Bruno Haible  <bruno@clisp.org>
54855
54856         Make test-signbit pass on HP-UX/hppa.
54857         * tests/test-signbit.c (minus_zerol): New variable.
54858         (test_signbitl): Use it.
54859
54860 2008-04-13  Bruno Haible  <bruno@clisp.org>
54861
54862         Make truncl work on OSF/1 4.0.
54863         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54864         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54865         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54867         HAVE_DECL_TRUNCL.
54868         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54869         HAVE_DECL_TRUNCL.
54870         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54871
54872 2008-04-13  Bruno Haible  <bruno@clisp.org>
54873
54874         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54875
54876 2008-04-13  Bruno Haible  <bruno@clisp.org>
54877
54878         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54879         expression, so as to avoid HP-UX 11 cc compiler bug.
54880
54881 2008-04-13  Bruno Haible  <bruno@clisp.org>
54882
54883         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54884
54885 2008-04-13  Bruno Haible  <bruno@clisp.org>
54886
54887         * lib/git-merge-changelog.c: Remove empty declaration outside of
54888         functions.
54889
54890 2008-04-13  Bruno Haible  <bruno@clisp.org>
54891
54892         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54893
54894 2008-04-13  Bruno Haible  <bruno@clisp.org>
54895
54896         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54897         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54898         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54899         also if it exists but lacks definitions of the SHUT_* macros.
54900         * modules/sys_socket (Description): Update.
54901         Reported by Elbert Pol <e.pol@chello.nl>.
54902
54903 2008-04-13  Bruno Haible  <bruno@clisp.org>
54904
54905         * lib/localcharset.c (OS2): Don't redefine if already defined.
54906         Reported by Elbert Pol <e.pol@chello.nl>.
54907
54908 2008-04-13  Bruno Haible  <bruno@clisp.org>
54909
54910         * lib/binary-io.h [__EMX__]: Include <io.h>.
54911         Reported by Elbert Pol <e.pol@chello.nl>.
54912
54913 2008-04-12  Bruno Haible  <bruno@clisp.org>
54914
54915         * lib/fpucw.h: Enable the definitions also for x86_64.
54916         Needed for NetBSD/x86_64.
54917         Reported by Thomas Klausner <tk@giga.or.at>.
54918
54919 2008-04-12  Bruno Haible  <bruno@clisp.org>
54920
54921         * tests/test-strtod.c: Include isnand.h.
54922         (main): Use isnand instead of isnan.
54923         Reported by Jim Meyering.
54924
54925 2008-04-12  Bruno Haible  <bruno@clisp.org>
54926
54927         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54928         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54929
54930 2008-04-12  Jim Meyering  <meyering@redhat.com>
54931
54932         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54933
54934 2008-04-12  Bruno Haible  <bruno@clisp.org>
54935
54936         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54937         Reported by Elbert Pol <e.pol@chello.nl>.
54938
54939 2008-04-12  Eric Blake  <ebb9@byu.net>
54940
54941         Work around Solaris 10 math.h bug.
54942         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54943         (gl_MATH_H_DEFAULTS): Set up default.
54944         * modules/math (Makefile.am): Replace new indicators.
54945         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54946         * tests/test-math.c (main): Test this.
54947         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54948         * doc/posix-headers/math.texi (math.h): Mention bug.
54949         Reported by Nelson H. F. Beebe and Jim Meyering.
54950
54951 2008-04-11  Bruno Haible  <bruno@clisp.org>
54952
54953         Adapt to future versions of Apple GCC.
54954         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54955         Reported by Peter O'Gorman <peter@pogma.com>.
54956
54957 2008-04-11  Bruno Haible  <bruno@clisp.org>
54958
54959         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54960
54961 2008-04-11  Bruno Haible  <bruno@clisp.org>
54962
54963         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54964
54965         * modules/getaddrinfo-tests (Makefile.am): Define
54966         test_getaddrinfo_LDADD.
54967
54968 2008-04-11  Bruno Haible  <bruno@clisp.org>
54969
54970         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54971         (init): Fix syntax error.
54972         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54973         is declared.
54974
54975 2008-04-11  Bruno Haible  <bruno@clisp.org>
54976
54977         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54978         * modules/glob (Depends-on): Add stdbool.
54979
54980 2008-04-11  Bruno Haible  <bruno@clisp.org>
54981
54982         * lib/trim.c: Include <string.h>.
54983
54984 2008-04-11  Eric Blake  <ebb9@byu.net>
54985
54986         Avoid compile failure on OS/2.
54987         * lib/regex_internal.h (internal_function): Disable optimization
54988         on OS/2 (__EMX__), where it caused compiler error.
54989         Reported by Elbert Pol.
54990
54991 2008-04-11  Bruno Haible  <bruno@clisp.org>
54992
54993         Flush the standard error stream before aborting. Needed on mingw.
54994         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54995         * tests/test-array_list.c (ASSERT): Likewise.
54996         * tests/test-array_oset.c (ASSERT): Likewise.
54997         * tests/test-avltree_list.c (ASSERT): Likewise.
54998         * tests/test-avltree_oset.c (ASSERT): Likewise.
54999         * tests/test-avltreehash_list.c (ASSERT): Likewise.
55000         * tests/test-binary-io.c (ASSERT): Likewise.
55001         * tests/test-byteswap.c (ASSERT): Likewise.
55002         * tests/test-c-ctype.c (ASSERT): Likewise.
55003         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
55004         * tests/test-c-strcasestr.c (ASSERT): Likewise.
55005         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
55006         * tests/test-c-strstr.c (ASSERT): Likewise.
55007         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
55008         * tests/test-canonicalize.c (ASSERT): Likewise.
55009         * tests/test-carray_list.c (ASSERT): Likewise.
55010         * tests/test-ceilf1.c (ASSERT): Likewise.
55011         * tests/test-ceilf2.c (ASSERT): Likewise.
55012         * tests/test-ceill.c (ASSERT): Likewise.
55013         * tests/test-count-one-bits.c (ASSERT): Likewise.
55014         * tests/test-fbufmode.c (ASSERT): Likewise.
55015         * tests/test-fflush2.c (ASSERT): Likewise.
55016         * tests/test-floorf1.c (ASSERT): Likewise.
55017         * tests/test-floorf2.c (ASSERT): Likewise.
55018         * tests/test-floorl.c (ASSERT): Likewise.
55019         * tests/test-fopen.c (ASSERT): Likewise.
55020         * tests/test-fpending.c (ASSERT): Likewise.
55021         * tests/test-fprintf-posix.c (ASSERT): Likewise.
55022         * tests/test-fpurge.c (ASSERT): Likewise.
55023         * tests/test-freadable.c (ASSERT): Likewise.
55024         * tests/test-freadahead.c (ASSERT): Likewise.
55025         * tests/test-freading.c (ASSERT): Likewise.
55026         * tests/test-freadptr.c (ASSERT): Likewise.
55027         * tests/test-freadptr2.c (ASSERT): Likewise.
55028         * tests/test-freadseek.c (ASSERT): Likewise.
55029         * tests/test-freopen.c (ASSERT): Likewise.
55030         * tests/test-frexp.c (ASSERT): Likewise.
55031         * tests/test-frexpl.c (ASSERT): Likewise.
55032         * tests/test-fseek.c (ASSERT): Likewise.
55033         * tests/test-fseeko.c (ASSERT): Likewise.
55034         * tests/test-fstrcmp.c (ASSERT): Likewise.
55035         * tests/test-ftell.c (ASSERT): Likewise.
55036         * tests/test-ftello.c (ASSERT): Likewise.
55037         * tests/test-func.c (ASSERT): Likewise.
55038         * tests/test-fwritable.c (ASSERT): Likewise.
55039         * tests/test-fwriting.c (ASSERT): Likewise.
55040         * tests/test-getdelim.c (ASSERT): Likewise.
55041         * tests/test-getline.c (ASSERT): Likewise.
55042         * tests/test-i-ring.c (ASSERT): Likewise.
55043         * tests/test-iconv-utf.c (ASSERT): Likewise.
55044         * tests/test-iconv.c (ASSERT): Likewise.
55045         * tests/test-isfinite.c (ASSERT): Likewise.
55046         * tests/test-isnand.c (ASSERT): Likewise.
55047         * tests/test-isnanf.c (ASSERT): Likewise.
55048         * tests/test-isnanl.h (ASSERT): Likewise.
55049         * tests/test-ldexpl.c (ASSERT): Likewise.
55050         * tests/test-linked_list.c (ASSERT): Likewise.
55051         * tests/test-linkedhash_list.c (ASSERT): Likewise.
55052         * tests/test-localename.c (ASSERT): Likewise.
55053         * tests/test-lseek.c (ASSERT): Likewise.
55054         * tests/test-mbscasecmp.c (ASSERT): Likewise.
55055         * tests/test-mbscasestr1.c (ASSERT): Likewise.
55056         * tests/test-mbscasestr2.c (ASSERT): Likewise.
55057         * tests/test-mbscasestr3.c (ASSERT): Likewise.
55058         * tests/test-mbscasestr4.c (ASSERT): Likewise.
55059         * tests/test-mbschr.c (ASSERT): Likewise.
55060         * tests/test-mbscspn.c (ASSERT): Likewise.
55061         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
55062         * tests/test-mbspbrk.c (ASSERT): Likewise.
55063         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
55064         * tests/test-mbsrchr.c (ASSERT): Likewise.
55065         * tests/test-mbsspn.c (ASSERT): Likewise.
55066         * tests/test-mbsstr1.c (ASSERT): Likewise.
55067         * tests/test-mbsstr2.c (ASSERT): Likewise.
55068         * tests/test-mbsstr3.c (ASSERT): Likewise.
55069         * tests/test-memchr2.c (ASSERT): Likewise.
55070         * tests/test-memmem.c (ASSERT): Likewise.
55071         * tests/test-open.c (ASSERT): Likewise.
55072         * tests/test-printf-frexp.c (ASSERT): Likewise.
55073         * tests/test-printf-frexpl.c (ASSERT): Likewise.
55074         * tests/test-printf-posix.c (ASSERT): Likewise.
55075         * tests/test-quotearg.c (ASSERT): Likewise.
55076         * tests/test-rbtree_list.c (ASSERT): Likewise.
55077         * tests/test-rbtree_oset.c (ASSERT): Likewise.
55078         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
55079         * tests/test-round1.c (ASSERT): Likewise.
55080         * tests/test-roundf1.c (ASSERT): Likewise.
55081         * tests/test-roundl.c (ASSERT): Likewise.
55082         * tests/test-signbit.c (ASSERT): Likewise.
55083         * tests/test-sleep.c (ASSERT): Likewise.
55084         * tests/test-snprintf-posix.c (ASSERT): Likewise.
55085         * tests/test-snprintf.c (ASSERT): Likewise.
55086         * tests/test-sprintf-posix.c (ASSERT): Likewise.
55087         * tests/test-stat-time.c (ASSERT): Likewise.
55088         * tests/test-strcasestr.c (ASSERT): Likewise.
55089         * tests/test-strerror.c (ASSERT): Likewise.
55090         * tests/test-striconv.c (ASSERT): Likewise.
55091         * tests/test-striconveh.c (ASSERT): Likewise.
55092         * tests/test-striconveha.c (ASSERT): Likewise.
55093         * tests/test-strsignal.c (ASSERT): Likewise.
55094         * tests/test-strstr.c (ASSERT): Likewise.
55095         * tests/test-strtod.c (ASSERT): Likewise.
55096         * tests/test-trunc1.c (ASSERT): Likewise.
55097         * tests/test-trunc2.c (ASSERT): Likewise.
55098         * tests/test-truncf1.c (ASSERT): Likewise.
55099         * tests/test-truncf2.c (ASSERT): Likewise.
55100         * tests/test-truncl.c (ASSERT): Likewise.
55101         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
55102         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
55103         * tests/test-vasnprintf.c (ASSERT): Likewise.
55104         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
55105         * tests/test-vasprintf.c (ASSERT): Likewise.
55106         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
55107         * tests/test-vprintf-posix.c (ASSERT): Likewise.
55108         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
55109         * tests/test-vsnprintf.c (ASSERT): Likewise.
55110         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
55111         * tests/test-wcwidth.c (ASSERT): Likewise.
55112         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
55113         * tests/test-xprintf-posix.c (ASSERT): Likewise.
55114         * tests/test-xvasprintf.c (ASSERT): Likewise.
55115         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
55116         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
55117         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
55118         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
55119         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
55120         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
55121         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
55122         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
55123         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
55124         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
55125         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
55126         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
55127         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
55128         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
55129         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
55130         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
55131         * tests/unictype/test-block_list.c (ASSERT): Likewise.
55132         * tests/unictype/test-block_of.c (ASSERT): Likewise.
55133         * tests/unictype/test-block_test.c (ASSERT): Likewise.
55134         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
55135         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
55136         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
55137         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
55138         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
55139         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
55140         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
55141         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
55142         * tests/unictype/test-combining.c (ASSERT): Likewise.
55143         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
55144         * tests/unictype/test-digit.c (ASSERT): Likewise.
55145         * tests/unictype/test-mirror.c (ASSERT): Likewise.
55146         * tests/unictype/test-numeric.c (ASSERT): Likewise.
55147         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
55148         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
55149         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
55150         * tests/unictype/test-scripts.c (ASSERT): Likewise.
55151         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
55152         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
55153         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
55154         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
55155         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
55156         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
55157         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
55158         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
55159         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
55160         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
55161         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
55162         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
55163         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
55164         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
55165         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
55166         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
55167         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
55168         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
55169         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
55170         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
55171         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
55172         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
55173         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
55174         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
55175         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
55176         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
55177         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
55178         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
55179         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
55180         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
55181         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
55182         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
55183         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
55184         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
55185         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
55186         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
55187         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
55188         Reported by Eric Blake.
55189
55190 2008-04-11  Bruno Haible  <bruno@clisp.org>
55191
55192         * lib/wchar.in.h: Tweak comment.
55193
55194 2008-04-11  Bruno Haible  <bruno@clisp.org>
55195
55196         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
55197         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
55198         gl_COMMON.
55199         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
55200
55201 2008-04-11  Bruno Haible  <bruno@clisp.org>
55202
55203         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
55204
55205 2008-04-11  Simon Josefsson  <simon@josefsson.org>
55206
55207         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
55208         of attempting to use non-existing /dev/*random.  Based on patch
55209         from Adam Strzelecki <ono@java.pl> in
55210         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
55211
55212 2008-04-08  Bruno Haible  <bruno@clisp.org>
55213
55214         Add tentative support for emx+gcc.
55215         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
55216         * lib/fpurge.c (fpurge): Likewise.
55217         * lib/freadable.c (freadable): Likewise.
55218         * lib/freadahead.c (freadahead): Likewise.
55219         * lib/freading.c (freading): Likewise.
55220         * lib/freadptr.c (freadptr): Likewise.
55221         * lib/freadseek.c (freadptrinc): Likewise.
55222         * lib/fseeko.c (rpl_fseeko): Likewise.
55223         * lib/fseterr.c (fseterr): Likewise.
55224         * lib/fwritable.c (fwritable): Likewise.
55225         * lib/fwriting.c (fwriting): Likewise.
55226         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
55227
55228 2008-04-09  Eric Blake  <ebb9@byu.net>
55229
55230         Avoid some autoconf warnings.
55231         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
55232         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
55233         * m4/afs.m4 (gl_AFS): Likewise.
55234         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
55235         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
55236         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55237         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
55238         (gl_INTEGER_TYPE_SUFFIX): Likewise.
55239         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
55240         (AC_CHECK_DECLS_ONCE): Likewise.
55241         Rename file...
55242         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
55243         gnulib-tool requires autoconf 2.59 or better.
55244         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
55245
55246 2008-04-08  Eric Blake  <ebb9@byu.net>
55247
55248         Use 'git describe --match' if present (added in git 1.5.5).
55249         * build-aux/git-version-gen: Limit result to tags that match 'v*'
55250         if possible.
55251
55252 2008-04-08  Bruno Haible  <bruno@clisp.org>
55253
55254         Add tentative support for OpenServer.
55255         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
55256         _ptr, _cnt.
55257         * lib/fpurge.c (fpurge): Likewise.
55258         * lib/freadable.c (freadable): Likewise.
55259         * lib/freadahead.c (freadahead): Likewise.
55260         * lib/freading.c (freading): Likewise.
55261         * lib/freadptr.c (freadptr): Likewise.
55262         * lib/freadseek.c (freadptrinc): Likewise.
55263         * lib/fseeko.c (rpl_fseeko): Likewise.
55264         * lib/fseterr.c (fseterr): Likewise.
55265         * lib/fwritable.c (fwritable): Likewise.
55266         * lib/fwriting.c (fwriting): Likewise.
55267         Reported by Roger Cornelius <rac@tenzing.org> and
55268         Brian K. White <brian@aljex.com>.
55269
55270 2008-04-06  Jim Meyering  <meyering@redhat.com>
55271
55272         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
55273
55274 2008-04-06  Bruno Haible  <bruno@clisp.org>
55275
55276         Avoid possible error with non-ASCII bytes in UTF-8 locales.
55277         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
55278         * tests/test-printf-posix.sh: Likewise.
55279         * tests/test-vfprintf-posix.sh: Likewise.
55280         * tests/test-vprintf-posix.sh: Likewise.
55281         * tests/test-xprintf-posix.sh: Likewise.
55282
55283 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55284
55285         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
55286         hide error from 'ls', needed on OS/2.
55287         Report by Elbert Pol <elbert.pol@gmail.com>.
55288
55289 2008-04-04  Eric Blake  <ebb9@byu.net>
55290
55291         Make test-fseeko.c failures meaningful.
55292         * tests/test-fseeko.c: Print line number on failure.
55293         * tests/test-fseek.c: Likewise.
55294         Reported by Nelson H. F. Beebe.
55295
55296         Improve strtod bug detection check.
55297         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
55298         required for Solaris 10.
55299         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
55300
55301 2008-04-04  Bruno Haible  <bruno@clisp.org>
55302
55303         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
55304         by m4/setenv.m4.
55305
55306 2008-04-03  Eric Blake  <ebb9@byu.net>
55307
55308         Ensure sane .version contents.
55309         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
55310         version string.
55311         * build-aux/git-version-gen: Improve documentation.
55312
55313         Make GNU make output nicer.
55314         * top/GNUmakefile [!_have-Makefile]: Add dependency on
55315         MAKECMDGOALS to enforce message for all command line targets.  Set
55316         srcdir for use in maint.mk.
55317
55318         Another maintainer tweak.
55319         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
55320         a target that regenerates version.
55321
55322 2008-04-03  Jim Meyering  <meyering@redhat.com>
55323
55324         vc-list-files: don't cause coreutils "make po-check" failure
55325         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
55326
55327 2008-04-03  Eric Blake  <ebb9@byu.net>
55328
55329         Allow VPATH usage of vc-list-files.
55330         * build-aux/vc-list-files (scriptversion): Add timestamp.
55331         (options): Add --help, --version, -C.
55332         (CVS): Support installed cvsu.
55333
55334 2008-04-02  Bruno Haible  <bruno@clisp.org>
55335
55336         Avoid some "statement with no effect" warnings from gcc.
55337         * tests/test-wctype.c (main): Explicitly ignore unused values.
55338         Reported by Jim Meyering.
55339
55340 2008-04-02  Jim Meyering  <meyering@redhat.com>
55341
55342         Avoid some warnings from "gcc -Wshadow".
55343         * tests/test-frexp.c (exp): Define to a different identifier.
55344         * tests/test-frexpl.c (exp): Likewise.
55345
55346 2008-04-03  Jim Meyering  <meyering@redhat.com>
55347
55348         bootstrap: remove dangling *.[ch] symlinks from lib
55349         * build-aux/bootstrap [dangling symlink removal]: Move find's
55350         -depth option to precede all others, to avoid a warning.
55351         Remove *.[ch] files too, and from "$source_base" (usually lib/).
55352
55353 2008-04-02  Bruno Haible  <bruno@clisp.org>
55354
55355         Avoid some warnings from "gcc -Wshadow".
55356         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
55357         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
55358         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
55359         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
55360         Reported by Jim Meyering.
55361
55362 2008-04-01  Bruno Haible  <bruno@clisp.org>
55363
55364         Fix test to work on IRIX 6.5 with cc.
55365         * tests/test-math.c (numeric_equal): New function.
55366         (main): Use it.
55367
55368 2008-04-01  Bruno Haible  <bruno@clisp.org>
55369
55370         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
55371
55372 2008-04-01  Bruno Haible  <bruno@clisp.org>
55373
55374         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
55375         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55376         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
55377         (Depends-on): Remove math.
55378
55379         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
55380         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55381         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
55382         (Depends-on): Remove math.
55383
55384         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
55385         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55386         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
55387         (Depends-on): Remove math.
55388         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
55389         (Depends-on): Remove math.
55390
55391         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
55392         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
55393         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
55394         (Depends-on): Remove math.
55395         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
55396         (Depends-on): Remove math.
55397
55398         * tests/test-round1.c: Include nan.h.
55399         (main): Use NaNd instead of NAN.
55400         * modules/round-tests (Files): Add tests/nan.h.
55401
55402         * tests/test-trunc1.c: Include nan.h.
55403         (main): Use NaNd instead of NAN.
55404         * modules/trunc-tests (Files): Add tests/nan.h.
55405
55406         * tests/test-roundf1.c: Include nan.h.
55407         (main): Use NaNf instead of NAN.
55408         * modules/roundf-tests (Files): Add tests/nan.h.
55409
55410         * tests/test-truncf1.c: Include nan.h.
55411         (main): Use NaNf instead of NAN.
55412         * modules/truncf-tests (Files): Add tests/nan.h.
55413
55414         * tests/test-ceilf1.c: Include nan.h.
55415         (main): Use NaNf instead of NAN.
55416         * modules/ceilf-tests (Files): Add tests/nan.h.
55417
55418         * tests/test-floorf1.c: Include nan.h.
55419         (main): Use NaNf instead of NAN.
55420         * modules/floorf-tests (Files): Add tests/nan.h.
55421
55422         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
55423         (main): Use NaNf instead of NAN.
55424         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
55425
55426         * tests/test-isnand.c: Include nan.h instead of <math.h>.
55427         (main): Use NaNd instead of NAN.
55428         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
55429
55430         * tests/test-frexp.c: Include nan.h.
55431         (main): Use NaNd instead of NAN.
55432         * modules/frexp-tests (Files): Add tests/nan.h.
55433
55434         * lib/isnan.c: Don't include <math.h>.
55435         (FUNC): Don't use NAN macro.
55436         * modules/isnand-nolibm (Depends-on): Remove math.
55437         * modules/isnanf-nolibm (Depends-on): Remove math.
55438         * modules/isnanl (Depends-on): Remove math.
55439         * modules/isnanl-nolibm (Depends-on): Remove math.
55440
55441         * tests/nan.h: New file.
55442
55443 2008-04-01  Eric Blake  <ebb9@byu.net>
55444
55445         Fix typos.
55446         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55447         values to be the right type.
55448
55449         For now, cater to gnulib strtod inaccuracies.
55450         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55451         fractional results.  While not as nice from a QoI perspective, it
55452         is a quicker patch than correctly implementing decimal to binary
55453         rounding.
55454
55455 2008-03-31  Eric Blake  <ebb9@byu.net>
55456
55457         Guarantee a definition of NAN.
55458         * lib/math.in.h (NAN): Define if missing.
55459         * tests/test-math.c (main): Test it.
55460         * doc/posix-headers/math.texi (math.h): Document this.
55461         * lib/isnan.c (rpl_isnand): Use it.
55462         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55463         * tests/test-floorf1.c (NaN): Likewise.
55464         * tests/test-frexp.c (NaN): Likewise.
55465         * tests/test-isnand.c (NaN): Likewise.
55466         * tests/test-isnanf.c (NaN): Likewise.
55467         * tests/test-round1.c (NaN): Likewise.
55468         * tests/test-roundf1.c (NaN): Likewise.
55469         * tests/test-snprintf-posix.h (NaN): Likewise.
55470         * tests/test-sprintf-posix.h (NaN): Likewise.
55471         * tests/test-trunc1.c (NaN): Likewise.
55472         * tests/test-truncf1.c (NaN): Likewise.
55473         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55474         * tests/test-vasprintf-posix.c (NaN): Likewise.
55475         * modules/isnand-nolibm (Depends-on): Add math.
55476         * modules/isnanf-nolibm (Depends-on): Likewise.
55477         * modules/isnanl (Depends-on): Likewise.
55478         * modules/isnanl-nolibm (Depends-on): Likewise.
55479         * modules/snprintf-posix-tests (Depends-on): Likewise.
55480         * modules/sprintf-posix-tests (Depends-on): Likewise.
55481         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55482         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55483         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55484         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55485
55486 2008-03-31  Bruno Haible  <bruno@clisp.org>
55487
55488         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55489         * doc/posix-functions/strtod.texi: Likewise.
55490
55491 2008-03-31  Bruno Haible  <bruno@clisp.org>
55492
55493         * tests/test-strtod.c (main): Don't use C99 syntax.
55494
55495 2008-03-31  Bruno Haible  <bruno@clisp.org>
55496
55497         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55498         Reported by Eric Blake.
55499
55500 2008-03-31  Jim Meyering  <meyering@redhat.com>
55501
55502         Don't compare actual signbit return values.
55503         * tests/test-strtod.c (main): Rather, compare only their
55504         zero/non-zero nature.
55505
55506 2008-03-31  Eric Blake  <ebb9@byu.net>
55507
55508         More strtod documentation.
55509         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55510         failures as distinct bugs.
55511
55512 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55513
55514         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55515         Problem reported by Erik Benada in
55516         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55517
55518 2008-03-30  Bruno Haible  <bruno@clisp.org>
55519
55520         * tests/test-strtod.c: Add comments about which assertion fails on which
55521         platform.
55522         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55523
55524 2008-03-30  Eric Blake  <ebb9@byu.net>
55525
55526         Test signbit behavior on zeros.
55527         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55528         (test_signbitd, test_signbitl): Likewise.
55529
55530         More strtod touchups.
55531         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55532         sign of negative underflow, for now.  Use .5, not .1.
55533         * doc/posix-functions/strtod.texi (strtod): Mention these
55534         limitations.
55535         Reported by Jim Meyering.
55536
55537 2008-03-30  Bruno Haible  <bruno@clisp.org>
55538
55539         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55540         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55541
55542 2008-03-30  Bruno Haible  <bruno@clisp.org>
55543
55544         Avoid failure when attempting to return empty iconv results on some
55545         platforms.
55546         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55547         allocation, don't report ENOMEM when the resulting string is empty.
55548
55549 2008-03-30  Bruno Haible  <bruno@clisp.org>
55550
55551         Fix buffer overrun.
55552         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55553         Don't consider the width for tmp_length. Check count against tmp_length
55554         before doing the padding. Ensure enough allocation during padding.
55555
55556 2008-03-30  Eric Blake  <ebb9@byu.net>
55557
55558         strtod touchups.
55559         * lib/strtod.c (strtod): Avoid compiler warnings.
55560         Reported by Jim Meyering.
55561
55562 2008-03-30  Bruno Haible  <bruno@clisp.org>
55563
55564         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55565         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55566         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55567         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55568         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55569         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55570         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55571         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55572
55573         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55574         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55575         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55576         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55577         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55578         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55579         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55580         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55581
55582         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55583         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55584         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55585         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55586         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55587         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55588         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55589         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55590
55591         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55592         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55593
55594         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55595         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55596
55597         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55598         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55599
55600         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55601         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55602         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55603
55604         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55605         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55606         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55607
55608         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55609         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55610         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55611
55612         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55613         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55614         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55615
55616         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55617         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55618         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55619         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55620         (Depends-on): Add EOVERFLOW.
55621         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55622         (Depends-on): Add EOVERFLOW.
55623         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55624         (Depends-on): Add EOVERFLOW.
55625         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55626         (Depends-on): Add EOVERFLOW.
55627         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55628         (Depends-on): Add EOVERFLOW.
55629         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55630         (Depends-on): Add EOVERFLOW.
55631         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55632         (Depends-on): Add EOVERFLOW.
55633         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55634         (Depends-on): Add EOVERFLOW.
55635
55636         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55637         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55638         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55639
55640         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55641         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55642         * modules/snprintf (Depends-on): Add EOVERFLOW.
55643
55644         * lib/poll.c (EOVERFLOW): Remove fallback.
55645         * modules/poll (Depends-on): Add EOVERFLOW.
55646
55647         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55648         * modules/getugroups (Depends-on): Add EOVERFLOW.
55649
55650         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55651         * modules/getdelim (Depends-on): Add EOVERFLOW.
55652
55653         * lib/ftell.c (EOVERFLOW): Remove fallback.
55654         * modules/ftell (Depends-on): Add EOVERFLOW.
55655
55656         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55657         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55658         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55659
55660         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55661
55662         * modules/EOVERFLOW-tests: New file.
55663         * tests/test-EOVERFLOW.c: New file.
55664
55665         * modules/EOVERFLOW: New file.
55666         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55667
55668 2008-03-30  Bruno Haible  <bruno@clisp.org>
55669
55670         Fix bug introduced on 2007-06-10.
55671         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55672         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55673
55674 2008-03-30  Bruno Haible  <bruno@clisp.org>
55675
55676         Improve freadseek's efficiency after ungetc.
55677         * lib/freadseek.c: Include freadahead.h.
55678         (freadptrinc): New function, extracted from freadseek.
55679         (freadseek): Use it in a loop. Use freadahead to determine the number
55680         of loop iterations.
55681         * modules/freadseek (Depends-on): Add freadahead.
55682         (configure.ac): Require AC_C_INLINE.
55683
55684 2008-03-30  Bruno Haible  <bruno@clisp.org>
55685
55686         * lib/freadseek.c (freadseek): Don't ignore the return value of
55687         freadptr.
55688
55689 2008-03-29  Eric Blake  <ebb9@byu.net>
55690
55691         Add hex float support.
55692         * modules/strtod (Depends-on): Add c-ctype.
55693         (Link): Mention POW_LIB.
55694         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55695         whitespace between 'e' and exponent.
55696         * tests/test-strtod.c (main): Enable hex float tests.
55697         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55698         now provides.
55699
55700         Document various strtod bugs, with some fixes.
55701         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55702         "-0x", "inf", "nan", and hex constants.
55703         * doc/posix-functions/atof.texi (atof): Likewise.
55704         * modules/stdlib (Makefile.am): Support strtod.
55705         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55706         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55707         detect additional strtod bugs.
55708         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55709         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55710         bool where appropriate.  Parse 'inf' and 'nan'.
55711         * tests/test-strtod.c: New file.
55712         * modules/strtod (Depends-on): Add stdbool, stdlib.
55713         (configure.ac): Turn on module indicator.
55714         * modules/strtod-tests: New module.
55715
55716 2008-03-29  Eric Blake  <ebb9@byu.net>
55717
55718         Fix ftell on mingw.
55719         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55720         * modules/ftell-tests (Depends-on): Add binary-io.
55721         * modules/ftello-tests (Depends-on): Likewise.
55722         * tests/test-ftell.c (main): Enhance test to cover behavior after
55723         ungetc.  Enforce binary mode.
55724         * tests/test-ftello.c (main): Likewise.
55725
55726         Pass test-freadseek on cygwin.
55727         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55728         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55729         ungetc buffer.
55730
55731         * tests/test-fflush2.c (main): Fix typo.
55732
55733 2008-03-29  Bruno Haible  <bruno@clisp.org>
55734
55735         * tests/test-fflush2.c (main): Temporarily disable the contents of
55736         this test.
55737         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55738         Reported by Eric Blake.
55739
55740 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55741
55742         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55743         (GC_SHA224_DIGEST_SIZE): Add.
55744
55745         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55746         (gc_hash_digest_length): Likewise.
55747         (gc_hash_buffer): Likewise.
55748
55749 2008-03-25  Bruno Haible  <bruno@clisp.org>
55750
55751         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55752         detail which gettext release to use.
55753         Reported by Simon Josefsson.
55754
55755 2008-03-26  Jim Meyering  <meyering@redhat.com>
55756
55757         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55758         * modules/gnumakefile (clean-GNUmakefile): Also, use
55759         test ... && ... || : syntax rather than if-then ... fi.
55760
55761         gnumakefile: Don't double-quote-expand $(VPATH) value.
55762         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55763
55764 2008-03-24  Eric Blake  <ebb9@byu.net>
55765
55766         Alter GNUmakefile to install into top directory.
55767         * modules/maintainer-makefile: Split, and add dependency...
55768         * modules/gnumakefile: to this new module.
55769         * build-aux/GNUmakefile: Move...
55770         * top/GNUmakefile: ...here.
55771         * build-aux/maint.mk: Move...
55772         * top/maint.mk: ...here.
55773         * MODULES.html.sh (Support for maintaining...): Document new
55774         module.
55775
55776 2008-03-23  Bruno Haible  <bruno@clisp.org>
55777
55778         * gnulib-tool: New options --vc-files, --no-vc-files.
55779         (func_usage): Document them.
55780         (vc_files): New variable.
55781         (func_import): Consider vc_files.
55782         (func_create_testdir): Set vc_files to empty.
55783         Suggested by Jim Meyering and Karl Berry.
55784
55785 2008-03-23  Bruno Haible  <bruno@clisp.org>
55786
55787         Fix regex compilation error on HP-UX 11.
55788         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55789         * modules/regex (Files): Add m4/mbstate_t.m4.
55790         Reported by Ton Voon <ton.voon@altinity.com>.
55791
55792 2008-03-23  Bruno Haible  <bruno@clisp.org>
55793
55794         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55795
55796 2008-03-23  Eric Blake  <ebb9@byu.net>
55797             Bruno Haible  <bruno@clisp.org>
55798
55799         Install files from top/ in the destination directory.
55800         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55801         augmentation also for the files from top/.
55802         (func_import, func_create_testdir): Rewrite file names:
55803         top/filename -> filename.
55804
55805 2008-03-23  Bruno Haible  <bruno@clisp.org>
55806
55807         Tweak "gnulib --version" output.
55808         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55809
55810 2008-03-23  Bruno Haible  <bruno@clisp.org>
55811
55812         Tweak "gnulib --version" output.
55813         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55814         rather than contents of ChangeLog, when possible.
55815
55816 2008-03-21  Eric Blake  <ebb9@byu.net>
55817
55818         More --version tweaks.
55819         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55820         date of last ChangeLog entry.
55821
55822 2008-03-21  Jim Meyering  <meyering@redhat.com>
55823
55824         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55825
55826 2008-03-20  Eric Blake  <ebb9@byu.net>
55827
55828         VPATH fix.
55829         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55830
55831 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55832
55833         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55834         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55835
55836 2008-03-20  Eric Blake  <ebb9@byu.net>
55837
55838         Sync GNUmakefile with coreutils.
55839         * build-aux/GNUmakefile (have-Makefile): Rename...
55840         (_have-Makefile): ...to this, for namespace consideration.
55841         (GNUmakefile.cfg): Include, if present.
55842         (_autoreconf): Define a default.
55843         (_is-dist-target): New rule for rebuilds to pick up intra-release
55844         version.
55845         (maint-cfg.mk): Rename...
55846         (cfg.mk): ...to this.
55847
55848 2008-03-18  Jim Meyering  <meyering@redhat.com>
55849
55850         New script and module: mktempd
55851         * MODULES.html.sh (maint+release support): Add mktempd.
55852         * build-aux/mktempd: New file.
55853         * modules/mktempd: New file.
55854
55855 2008-03-15  Jim Meyering  <meyering@redhat.com>
55856
55857         Undo last change.
55858         * lib/sha1.c, lib/md5.c: 63 != ~63.
55859         Reported by Andreas Schwab.
55860
55861         sha1.c, md5.c: Hoist a redundant expression.
55862         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55863         "ctx->buflen" only once, before calling *_process_block.
55864         * lib/md5.c (md5_process_bytes): Likewise.
55865
55866 2008-03-14  Eric Blake  <ebb9@byu.net>
55867
55868         Bump copyright year in files generated by gnulib-tool.
55869         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55870         gnulib-tool, rather than hard-coding it.
55871
55872         Fix 'gnulib-tool --version' output to work with git.
55873         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55874         (startup): ...here.
55875         (func_version): Use it to invoke git-version-gen, rather than
55876         relying on CVS keyword expansion.  Modernize wording.
55877         (cvsdatestamp, last_checkin_date, version): Kill unused
55878         variables.
55879
55880 2008-03-12  Jim Meyering  <meyering@redhat.com>
55881
55882         Recognize optional cast of the argument to free.
55883         * build-aux/useless-if-before-free: Update regexps.
55884
55885         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55886
55887 2008-03-11  Bruno Haible  <bruno@clisp.org>
55888
55889         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55890         by a single package.
55891         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55892         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55893         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55894         Reported by Sam Steingold <sds@gnu.org>.
55895
55896 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55897
55898         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55899         repositories.
55900
55901 2008-03-11  Bruno Haible  <bruno@clisp.org>
55902
55903         Avoid conflicts between local macro definitions.
55904         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55905         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55906
55907 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55908             Bruno Haible  <bruno@clisp.org>
55909
55910         Make va_copy work with some version of xlc on AIX 5.1.
55911         * lib/stdarg.in.h: New file.
55912         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55913         On AIX, use a <stdarg.h> file substitute.
55914         * modules/stdarg (Files): Add lib/stdarg.in.h.
55915         (Depends-on): Add include_next.
55916         (Makefile.am): Build a stdarg.h substitute if requested.
55917         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55918
55919 2008-03-10  Bruno Haible  <bruno@clisp.org>
55920
55921         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55922         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55923         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55924
55925 2008-03-10  Bruno Haible  <bruno@clisp.org>
55926
55927         * modules/stdlib (Depends-on): Add include_next, remove
55928         absolute-header.
55929
55930 2008-03-09  Bruno Haible  <bruno@clisp.org>
55931
55932         * lib/freadahead.h (freadahead): Document more precisely.
55933         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55934         the sum of both buffer sizes.
55935         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55936         * NEWS: Document the change.
55937
55938 2008-03-09  Bruno Haible  <bruno@clisp.org>
55939
55940         Extend freadptr to return also the buffer size.
55941         * lib/freadptr.h (freadptr): Add sizep argument.
55942         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55943         (freadptr): Add sizep argument. Determine buffer size like freadahead
55944         does.
55945         * tests/test-freadptr.c: Don't include freadahead.h.
55946         (main): Adapt for new calling convention of freadptr.
55947         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55948         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55949         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55950         tests/test-freadptr2.sh.
55951         (Depends): Remove freadahead.
55952         (TESTS): Add test-freadptr2.sh.
55953         (check_PROGRAMS): Add test-freadptr2.
55954
55955 2008-03-09  Bruno Haible  <bruno@clisp.org>
55956
55957         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55958         Report and solution by Simon Josefsson.
55959
55960 2008-03-06  Bruno Haible  <bruno@clisp.org>
55961
55962         Make fflush after ungetc work on BSD platforms.
55963         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55964         * tests/test-fflush2.c: New file.
55965         * tests/test-fflush2.sh: New file.
55966         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55967         tests/test-fflush2.c.
55968         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55969         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55970
55971 2008-03-06  Eric Blake  <ebb9@byu.net>
55972
55973         Likewise for ftello.
55974         * modules/ftello (Dependencies): Add extensions.
55975         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55976
55977 2008-03-06  Bruno Haible  <bruno@clisp.org>
55978
55979         * modules/fseeko (Dependencies): Add extensions.
55980         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55981         Needed on glibc systems.
55982
55983 2008-03-06  Bruno Haible  <bruno@clisp.org>
55984
55985         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55986         email address.
55987         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55988
55989 2008-03-06  Bruno Haible  <bruno@clisp.org>
55990
55991         * users.txt: Add libgnupdf.
55992
55993 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55994
55995         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55996         (Header File Substitutes, Function Substitutes,
55997         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55998         (Build robot for gnulib): Fix typo.
55999
56000 2008-03-06  Bruno Haible  <bruno@clisp.org>
56001
56002         * doc/gnulib-tool.texi (VCS Issues): Small updates.
56003         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56004
56005 2008-03-06  Bruno Haible  <bruno@clisp.org>
56006
56007         * doc/func.texi: New file, extracted from doc/gnulib.texi.
56008         * doc/gnulib.texi: Include it.
56009
56010 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56011
56012         * modules/func (License): Change license to unlimited; there was
56013         no LGPL parts in the module anyway.
56014
56015 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56016
56017         * modules/__func__: Renamed to modules/func.
56018         * modules/__func__-tests: Renamed to modules/func-tests.
56019         * tests/test-__func__.c: Renamed to tests/test-func.c.
56020         * m4/__func__.m4: Renamed to m4/func.m4.
56021         * doc/gnulib.texi (__func__): Section renamed to func.
56022         Suggested by Eric Blake <ebb9@byu.net>.
56023
56024 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56025
56026         * doc/gnulib.texi (__func__): Use C99 terminology when talking
56027         about __func__.  Make example self-contained.  Suggested by Eric
56028         Blake <ebb9@byu.net>.
56029
56030         * tests/test-__func__.c (main): Avoid extraneous () around __func.
56031         Suggested by Eric Blake <ebb9@byu.net>.
56032
56033 2008-03-06  Simon Josefsson  <simon@josefsson.org>
56034
56035         * modules/__func__: New file.
56036         * modules/__func__-tests: New file.
56037         * tests/test-__func__.c: New file.
56038         * m4/__func__.m4: New file.
56039         * doc/gnulib.texi (__func__): Document __func__ module.
56040
56041 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56042
56043         * modules/byteswap (License): Re-license as LGPLv2+.
56044
56045 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56046
56047         * doc/Makefile: Add pdf target.
56048
56049 2008-03-05  Simon Josefsson  <simon@josefsson.org>
56050
56051         * modules/inline (License): Use 'unlimited', since there are only
56052         *.m4 files in this module.
56053
56054 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56055             Bruno Haible  <bruno@clisp.org>
56056
56057         Add support for HP C 7.1 on OpenVMS 8.3.
56058         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
56059
56060 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
56061
56062         Update VMS specifics.
56063         * lib/getopt.c [VMS]: Remove include of unixlib.h.
56064
56065 2008-03-02  Jim Meyering  <meyering@redhat.com>
56066
56067         Remove the last dependency on the "free" module.
56068         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
56069         Reported by Bob Proulx.
56070
56071         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
56072
56073         Remove useless "if" tests before free.  Deprecate "free" module.
56074         * doc/posix-functions/free.texi: Mention that this
56075         module is no longer useful.
56076         * modules/free (Notice): Say this module is obsolete.
56077         * modules/readutmp (Depends-on): Remove free.
56078         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
56079         * lib/putenv.c (putenv): Likewise.
56080         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
56081         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
56082         * tests/test-c-strcasestr.c (main): Likewise.
56083         * tests/test-c-strstr.c (main): Likewise.
56084         * tests/test-mbscasestr1.c (main): Likewise.
56085         * tests/test-mbscasestr2.c (main): Likewise.
56086         * tests/test-mbsstr1.c (main): Likewise.
56087         * tests/test-mbsstr2.c (main): Likewise.
56088         * tests/test-memmem.c (main): Likewise.
56089         * tests/test-strcasestr.c (main): Likewise.
56090         * tests/test-striconv.c (main): Likewise.
56091         * tests/test-striconveh.c (main): Likewise.
56092         * tests/test-striconveha.c (main): Likewise.
56093         * tests/test-strstr.c (main): Likewise.
56094
56095         * build-aux/git-version-gen: Adjust a comment and the Usage string.
56096
56097         bootstrap: sync from coreutils again
56098         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
56099
56100 2008-03-01  Jim Meyering  <meyering@redhat.com>
56101
56102         bootstrap: sync from coreutils
56103         * build-aux/bootstrap (update_po_files): Copy a .po file into place
56104         also when the target doesn't exist.
56105
56106 2008-03-01  Eric Blake  <ebb9@byu.net>
56107
56108         Fix bugs in last patch.
56109         * lib/memchr2.c (memchr2): Fix typo.
56110         * tests/test-memchr2.c: Test previous bug, and don't use GNU
56111         extension.
56112         Reported by Bruce Korb.
56113
56114         New module 'memchr2'.
56115         * modules/memchr2: New file.
56116         * modules/memchr2-tests: Likewise.
56117         * lib/memchr2.h: Likewise.
56118         * lib/memchr2.c: Likewise, based on memchr.c.
56119         * tests/test-memchr2.c: New test.
56120         * MODULES.html.sh (String handling): Add memchr2.
56121
56122 2008-02-29  Bruno Haible  <bruno@clisp.org>
56123
56124         * modules/freadseek-tests: New file.
56125         * tests/test-freadseek.sh: New file.
56126         * tests/test-freadseek.c: New file.
56127
56128         New module 'freadseek'.
56129         * modules/freadseek: New file.
56130         * lib/freadseek.h: New file.
56131         * lib/freadseek.c: New file.
56132         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
56133
56134 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
56135
56136         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
56137         wydawca.
56138
56139         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
56140         program_invocation_name and program_invocation_short_name are
56141         present.
56142
56143 2008-02-28  Bruno Haible  <bruno@clisp.org>
56144
56145         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
56146         * tests/test-freadptr.sh: Also test non-seekable stdin.
56147
56148 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
56149
56150         * build-aux/bootstrap (source_base, m4_base)
56151         (doc_base, tests_base): New variables.
56152         (gnulib_tool_options): Do not hardcode base directories, use
56153         the above variables instead.
56154
56155 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
56156
56157         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
56158
56159 2008-02-28  Bruno Haible  <bruno@clisp.org>
56160
56161         * modules/freadptr-tests: New file.
56162         * tests/test-freadptr.sh: New file.
56163         * tests/test-freadptr.c: New file.
56164
56165         New module 'freadptr'.
56166         * modules/freadptr: New file.
56167         * lib/freadptr.h: New file.
56168         * lib/freadptr.c: New file.
56169         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
56170
56171 2008-02-26  Karl Berry  <karl@freefriends.org>
56172
56173         Sync from Libtool:
56174         * libltdl/argz.c (argz_add, argz_count): New functions.
56175         * libltdl/argz.in.h: Declare them.
56176         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
56177
56178 2008-02-22  Bruno Haible  <bruno@clisp.org>
56179
56180         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
56181         is a pointer type.  Needed for HP-UX 10.
56182         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
56183         * doc/posix-functions/gmtime_r.texi: Likewise.
56184         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
56185
56186 2008-02-24  Bruno Haible  <bruno@clisp.org>
56187
56188         * modules/environ-tests: New file.
56189         * tests/test-environ.c: New file.
56190
56191         New module 'environ'.
56192         * modules/environ: New file.
56193         * lib/unistd.in.h (environ): New declaration.
56194         * m4/environ.m4: New file.
56195         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
56196         after use.
56197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
56198         HAVE_DECL_ENVIRON.
56199         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
56200         HAVE_DECL_ENVIRON.
56201         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
56202         wrong claim that 'environ' is missing on some systems.
56203         * modules/execute (Depends-on): Add environ.
56204         * lib/execute.c (environ): Remove fallback declaration.
56205         * modules/pipe (Depends-on): Add environ.
56206         * lib/pipe.c (environ): Remove fallback declaration.
56207         * modules/setenv (Depends-on): Add environ.
56208         * lib/setenv.c (environ): Remove fallback declaration.
56209         * modules/unsetenv (Depends-on): Add environ.
56210         * lib/unsetenv.c (environ): Remove fallback declaration.
56211         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
56212         m4/environ.m4.
56213         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
56214         (gl_PREREQ_UNSETENV): Likewise.
56215
56216 2008-02-24  Bruno Haible  <bruno@clisp.org>
56217
56218         * doc/posix-functions/environ.texi: Document the MacOS X problem.
56219
56220 2008-02-20  Bob Proulx  <bob@proulx.com>
56221
56222         Enable use of older two part flavor 'git describe'.
56223         * build-aux/git-version-gen: If using the older two part flavor of
56224         git version then recreate the third part now present in the
56225         newer three part flavor of git describe.
56226
56227 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
56228
56229         * lib/fts.c (fts_build): Typo correction to comment.
56230
56231 2008-02-17  Bruno Haible  <bruno@clisp.org>
56232
56233         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
56234         generating no-op conflicts.
56235
56236 2008-02-17  Bruno Haible  <bruno@clisp.org>
56237
56238         Speed up by 10%.
56239         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
56240         result_entries, rather than an index-based loop.
56241
56242 2008-02-17  Bruno Haible  <bruno@clisp.org>
56243
56244         Speed up by 25%.
56245         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
56246         'hashcode_cached'.
56247         (entry_create): New function.
56248         (entry_hashcode): Use the cached hashcode if possible.
56249         (read_changelog_file, try_split_merged_entry): Use entry_create.
56250
56251 2008-02-17  Bruno Haible  <bruno@clisp.org>
56252
56253         Speed up from O(n^2) to O(n) for long ChangeLog files.
56254         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
56255         (read_changelog_file): Change implementation of entries_reversed list
56256         to rbtreehash.
56257         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
56258
56259 2008-02-17  Bruno Haible  <bruno@clisp.org>
56260
56261         New option --split-merged-entry.
56262         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
56263         (find_paragraph_end, try_split_merged_entry): New functions.
56264         (long_options): Add option --split-merged-entry.
56265         (usage): Document option --split-merged-entry.
56266         (main): Implement option --split-merged-entry.
56267         Reported by Eric Blake.
56268
56269 2008-02-17  Bruno Haible  <bruno@clisp.org>
56270
56271         * lib/git-merge-changelog.c: Include c-strstr.h.
56272         (main): Support the "git pull --rebase" situation.
56273         * modules/git-merge-changelog (Depends-on): Add c-strstr.
56274         Reported by Eric Blake.
56275
56276 2008-02-16  Eric Blake  <ebb9@byu.net>
56277
56278         Avoid doubling \ in common case of "c-maybe" quoting style.
56279         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
56280         eliding outer quotes.
56281         * lib/quotearg.h: Document this.
56282         * tests/test-quotearg.c (result_strings, inputs, results_g)
56283         (flag_results, locale_results): Test it by adding a new string to
56284         each test group.
56285         (compare_strings): Test new string.
56286
56287 2008-02-13  Eric Blake  <ebb9@byu.net>
56288
56289         Avoid trigraph quoting in default output.
56290         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
56291         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
56292         unless explicitly requested.
56293         * tests/test-quotearg.c (flag_results, main): Add additional tests.
56294
56295 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
56296
56297         Don't rely on signed integer overflowing to negative value.
56298         * lib/getugroups.c (getugroups): Include <limits.h>.
56299         Instead, compare against INT_MAX, and increment only if the test passes.
56300
56301 2008-02-13  Jim Meyering  <meyering@redhat.com>
56302         and Eric Blake  <ebb9@byu.net>
56303
56304         Avoid shadowing warning and compile errors on Linux.
56305         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
56306         forwarding macros on Linux.
56307         (dcgettext): Define a stub, for Linux.
56308         (results_g, main): Avoid warnings.
56309
56310 2008-02-12  Eric Blake  <ebb9@byu.net>
56311
56312         Silence warning in last patch.
56313         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
56314
56315         Quotearg part 4: add tests, fix c-maybe colon quoting.
56316         * lib/quotearg.h: Improve documentation.
56317         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
56318         escapes when adding outer quotes.  When quoting trigraphs, use
56319         valid C notation.  When quoting NUL, omit extra characters if next
56320         character is not digit.  Alter prototype.
56321         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
56322         callers.
56323         * modules/quotearg-tests: New module.
56324         * tests/test-quotearg.c: New test.
56325
56326 2008-02-07  Eric Blake  <ebb9@byu.net>
56327
56328         Quotearg part 3: add flag to control outer quote elision.
56329         * lib/quotearg.h (c_maybe_quoting_style): New style.
56330         (enum quoting_flags): Better documentation of flags.
56331         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
56332         c-maybe style.
56333         (quotearg_buffer_restyled): Handle new flag to elide outer
56334         quotes.
56335
56336         Quotearg part 2: add flag that can control NUL elision.
56337         * lib/quotearg.h (set_quoting_flags): New prototype.
56338         * lib/quotearg.c (struct quoting_options): Add flag field.
56339         (set_quoting_flags): New function.
56340         (quotearg_buffer_restyled): Add flags parameter.
56341         (quotearg_alloc_mem): Set the flag if length cannot be returned.
56342         (quotearg_n_options): Set the flag, since length cannot be
56343         returned.
56344         (quoting_options_from_style): Default flags correctly.
56345
56346         Quotearg part 1: more wrappers, restore quotearg_char state.
56347         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
56348         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
56349         (quotearg_colon_mem): New wrappers.
56350         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
56351         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
56352         functions.
56353         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
56354         (quotearg_colon_mem): New functions.
56355
56356 2008-02-11  Bruno Haible  <bruno@clisp.org>
56357
56358         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
56359         library in the current directory: it does not work with parallel make.
56360         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56361
56362 2008-02-11  Bruno Haible  <bruno@clisp.org>
56363
56364         * .gitattributes: New file.
56365
56366 2008-02-11  Jim Meyering  <meyering@redhat.com>
56367
56368         useless-if-before-free: Fix reversed exit values.
56369         * build-aux/useless-if-before-free: Use correct values
56370         for EXIT_MATCH and EXIT_NO_MATCH.
56371
56372         * build-aux/useless-if-before-free: Close stdout carefully.
56373
56374 2008-02-10  Bruno Haible  <bruno@clisp.org>
56375
56376         New module 'git-merge-changelog'.
56377         * modules/git-merge-changelog: New file.
56378         * lib/git-merge-changelog.c: New file.
56379
56380 2008-02-10  Jim Meyering  <meyering@redhat.com>
56381
56382         useless-if-before-free: New option: --list (-l).
56383
56384         useless-if-before-free: Don't exit immediately upon open failure.
56385         * build-aux/useless-if-before-free: Exit 2 for errors.
56386         Upon failure to open a file, don't exit immediately.
56387         Rather, just warn and continue with any remaining files.
56388
56389 2008-02-10  Bruno Haible  <bruno@clisp.org>
56390
56391         New abstract list operation 'node_set_value'.
56392         * lib/gl_list.h (gl_list_node_set_value): New function.
56393         (struct gl_list_implementation): New field node_set_value.
56394         * lib/gl_list.c (gl_list_node_set_value): New function.
56395         * lib/gl_array_list.c (gl_array_node_set_value): New function.
56396         (gl_array_list_implementation): Update.
56397         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
56398         (gl_carray_list_implementation): Update.
56399         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
56400         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56401         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56402         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
56403         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56404         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56405         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56406         Update.
56407         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56408         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
56409         (gl_sublist_list_implementation): Update.
56410
56411 2008-02-10  Bruno Haible  <bruno@clisp.org>
56412
56413         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
56414         Needed when ELEMENT is #defined to 'some_type *'.
56415
56416 2008-02-10  Jim Meyering  <meyering@redhat.com>
56417
56418         New script and module: useless-if-before-free
56419         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
56420         * build-aux/useless-if-before-free: New file.
56421         * modules/useless-if-before-free: New file.
56422
56423         * build-aux/gitlog-to-changelog: Use committer date, not author date.
56424
56425         xstrtol_error: Fix typo.
56426         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
56427         s/exit_failure/exit_status/.
56428
56429 2008-02-09  Jim Meyering  <meyering@redhat.com>
56430
56431         New script and module: gitlog-to-changelog
56432         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
56433         * modules/gitlog-to-changelog: New file.
56434         * build-aux/gitlog-to-changelog: New file.
56435
56436 2008-02-08  Jim Meyering  <meyering@redhat.com>
56437
56438         Avoid two "parameter unused" warnings.
56439         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
56440         Mark "st" as used.
56441
56442         Use "git COMMAND", not "git-COMMAND".
56443         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56444         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56445         * build-aux/git-version-gen: Use "git status", not "git-status".
56446
56447 2008-02-07  Bruno Haible  <bruno@clisp.org>
56448
56449         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56450         Avoids a crash on Windows Vista.
56451         Reported by Adam Strzelecki <ono@java.pl> via
56452         Simon Josefsson <simon@josefsson.org>.
56453
56454 2008-02-06  Bruno Haible  <bruno@clisp.org>
56455
56456         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56457         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56458         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56460         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56461         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56462         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56463         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56464         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56465         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56466         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56467         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56468         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56469         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56470         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56471         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56472         left-adjust flag.
56473         * tests/test-snprintf-posix.h (test_function): Likewise.
56474         * tests/test-sprintf-posix.h (test_function): Likewise.
56475         * tests/test-vasprintf-posix.c (test_function): Likewise.
56476         * doc/posix-functions/fprintf.texi: Update.
56477         * doc/posix-functions/printf.texi: Update.
56478         * doc/posix-functions/snprintf.texi: Update.
56479         * doc/posix-functions/sprintf.texi: Update.
56480         * doc/posix-functions/vfprintf.texi: Update.
56481         * doc/posix-functions/vprintf.texi: Update.
56482         * doc/posix-functions/vsnprintf.texi: Update.
56483         * doc/posix-functions/vsprintf.texi: Update.
56484         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56485
56486 2008-02-06  Bruno Haible  <bruno@clisp.org>
56487
56488         Fix bug introduced on 2008-01-26.
56489         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56490
56491 2008-02-06  Bruno Haible  <bruno@clisp.org>
56492
56493         Fix bug introduced on 2007-06-10.
56494         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56495         !NEED_PRINTF_FLAG_ZERO.
56496
56497 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56498
56499         getloadavg: use libperfstat on AIX5
56500         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56501
56502 2008-02-03  Bruno Haible  <bruno@clisp.org>
56503
56504         * lib/diffseq.h: Add comments about required #includes.
56505         Reported by Michael Biggs <gnulib@doubleplum.net>.
56506
56507 2008-02-01  Bruno Haible  <bruno@clisp.org>
56508
56509         * users.txt: Add gnuit.
56510
56511 2008-01-31  Bruno Haible  <bruno@clisp.org>
56512
56513         * lib/md4.c (set_uint32): Mark as inline.
56514         * lib/md5.c (set_uint32): Likewise.
56515         * lib/sha1.c (set_uint32): Likewise.
56516         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56517         * m4/md5.m4 (gl_MD5): Likewise.
56518         * m4/sha1.m4 (gl_SHA1): Likewise.
56519
56520 2008-01-31  Jim Meyering  <meyering@redhat.com>
56521
56522         Use "sizeof VAR", rather than a literal "4".
56523         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56524         * lib/md4.c (md4_read_ctx): Likewise.
56525         * lib/sha1.c (sha1_read_ctx): Likewise.
56526
56527 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56528
56529         * tests/test-sha1.c: New file, based on test-md5.c.
56530
56531         * modules/crypto/sha1-tests: New file.
56532
56533 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56534
56535         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56536
56537 2008-01-31  Jim Meyering  <meyering@redhat.com>
56538
56539         Prefer "sizeof v" over the equivalent "4".
56540         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56541         * lib/md5.c (set_uint32): Likewise.
56542         * lib/sha1.c (set_uint32): Likewise.
56543
56544 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56545
56546         * lib/sha1.c (set_uint32): Mark function as static.
56547
56548 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56549
56550         md2: clarify comments to say that alignment is not required.
56551         * lib/md2.h: Remove warning about alignment in comment.
56552         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56553         never been required.
56554
56555 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56556
56557         md4: adapt alignment constraint fix from sha1.
56558         * lib/md4.c (set_uint32): New function, from sha1.c
56559         (md4_read_ctx): Use it.
56560         (md4_finish_ctx): Doc fix.
56561         * lib/md4.h: Doc fix.
56562
56563 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56564
56565         md5: adapt alignment constraint fix from sha1.
56566         * lib/md5.c (set_uint32): New function, from sha1.c
56567         (md5_read_ctx): Use it.
56568         (md5_finish_ctx): Doc fix.
56569         * lib/md5.h: Doc fix.
56570
56571 2008-01-30  Peter Palfrader  <weasel@debian.org>
56572
56573         sha1: remove the result buffer alignment constraint
56574         * lib/sha1.c (set_uint32): New function.
56575         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56576         constraint.
56577         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56578         * lib/sha1.h: Likewise.
56579
56580 2008-01-30  Andreas Schwab  <schwab@suse.de>
56581             Bruno Haible  <bruno@clisp.org>
56582
56583         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56584         correct definition of LDBL_MIN_EXP.
56585
56586 2008-01-30  Karl Berry  <karl@gnu.org>
56587
56588         * config/srclist-update: try to preserve x bit on updates.
56589         * config/srclistvars.sh: update for karl.
56590
56591 2008-01-29  Jim Meyering  <meyering@redhat.com>
56592
56593         vasnprintf.c: Avoid warning about unused label
56594         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56595         "overflow" label definition and associated code with the
56596         same cpp condition that guards the sole use of that label.
56597
56598 2008-01-26  Bruno Haible  <bruno@clisp.org>
56599
56600         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56601         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56602         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56603         * lib/isnanl-nolibm.h (isnanl): Likewise.
56604         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56605
56606 2008-01-26  Bruno Haible  <bruno@clisp.org>
56607
56608         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56609         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56610
56611 2008-01-26  Bruno Haible  <bruno@clisp.org>
56612
56613         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56614         GCC >= 4.0 built-in.
56615         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56616
56617 2008-01-26  Bruno Haible  <bruno@clisp.org>
56618
56619         Rename isnan, applicable to 'double' only, to isnand.
56620         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56621         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56622         (configure.ac): Update.
56623         (Include): Replace "isnan.h" with "isnand.h".
56624         * m4/isnand.m4: Renamed from m4/isnan.m4.
56625         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56626         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56627         instead of isnan.c.
56628         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56629         instead of HAVE_ISNAN_IN_LIBC.
56630         (isnand): Renamed from isnan.
56631         * lib/isnand.c: New file.
56632         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56633         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56634         (Makefile.am): Update.
56635         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56636         Include isnand.h instead of isnan.h.
56637         (main): Test isnand instead of isnan.
56638         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56639         isnan-nolibm.
56640         * modules/frexp (Depends-on): Likewise.
56641         * modules/frexp-tests (Depends-on): Likewise.
56642         * modules/frexp-nolibm (Depends-on): Likewise.
56643         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56644         * modules/isfinite (Depends-on): Likewise.
56645         * modules/round-tests (Depends-on): Likewise.
56646         * modules/signbit (Depends-on): Likewise.
56647         * modules/signbit-tests (Depends-on): Likewise.
56648         * modules/snprintf-posix (Depends-on): Likewise.
56649         * modules/sprintf-posix (Depends-on): Likewise.
56650         * modules/trunc-tests (Depends-on): Likewise.
56651         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56652         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56653         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56654         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56655         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56656         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56657         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56658         * modules/vasnprintf-posix (Depends-on): Likewise.
56659         * modules/vasprintf-posix (Depends-on): Likewise.
56660         * modules/vfprintf-posix (Depends-on): Likewise.
56661         * modules/vsnprintf-posix (Depends-on): Likewise.
56662         * modules/vsprintf-posix (Depends-on): Likewise.
56663         * lib/frexp.c: Include isnand.h instead of isnan.h.
56664         (ISNAN): Set to isnand instead of isnan.
56665         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56666         (gl_isfinited): Use isnand instead of isnan.
56667         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56668         (gl_signbitd): Use isnand instead of isnan.
56669         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56670         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56671         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56672         (main): Use isnand instead of isnan.
56673         * tests/test-round1.c: Include isnand.h.
56674         (main): Use isnand instead of isnan.
56675         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56676         (ISNAN): Set to isnand instead of isnan.
56677         * tests/test-trunc1.c: Include isnand.h.
56678         (main): Use isnand instead of isnan.
56679         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56680         (equal): Use isnand instead of isnan.
56681         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56682         isnand-nolibm.
56683         * NEWS: Mention the change.
56684
56685 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56686             Bruno Haible  <bruno@clisp.org>
56687
56688         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56689         the GCC builtins for signbits are present and set
56690         REPLACE_SIGNBIT_USING_GCC if so.
56691         * lib/math.in.h (signbit): Define using GCC builtins if
56692         REPLACE_SIGNBIT_USING_GCC is set.
56693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56694         REPLACE_SIGNBIT_USING_GCC.
56695         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56696
56697 2008-01-25  Jim Meyering  <meyering@redhat.com>
56698
56699         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56700         * lib/poll.c: Include <config.h>, not "config.h".
56701         * tests/test-getaddrinfo.c: Likewise.
56702
56703 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56704
56705         * modules/sockets-tests: New file.
56706
56707 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56708
56709         * modules/sockets: New module, can be used to call WSA_Startup and
56710         WSA_Cleanup when needed.
56711
56712         * lib/sockets.h, lib/sockets.c: New files.
56713
56714         * m4/sockets.m4: New file.
56715
56716         * tests/test-sockets.c: New file.
56717
56718 2008-01-19  Bruno Haible  <bruno@clisp.org>
56719
56720         * doc/posix-headers: Renamed from doc/headers.
56721         * doc/posix-functions: Renamed from doc/functions.
56722         * doc/gnulib.texi: Update.
56723
56724 2008-01-19  Bruno Haible  <bruno@clisp.org>
56725
56726         * doc/glibc-functions/strcasestr.texi: Include contents of
56727         doc/functions/strcasestr.texi, fixing the list of platforms.
56728         * doc/functions/strcasestr.texi: Remove file.
56729
56730 2008-01-19  Bruno Haible  <bruno@clisp.org>
56731
56732         * doc/glibc-functions/memmem.texi: Include contents of
56733         doc/functions/memmem.texi.
56734         * doc/functions/memmem.texi: Remove file.
56735
56736 2008-01-18  Bruno Haible  <bruno@clisp.org>
56737
56738         * doc/glibc-functions/*.texi: New files.
56739         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56740         to use the new files.
56741
56742 2008-01-17  Bruno Haible  <bruno@clisp.org>
56743
56744         * tests/test-gethostname.c (main): Fix printf statement.
56745
56746 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56747
56748         * modules/gethostname-tests: New file.
56749
56750         * tests/test-gethostname.c: New file.
56751
56752 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56753
56754         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56755         used by the UNAME case.  Reported by Bruno Haible
56756         <bruno@clisp.org>.
56757
56758 2008-01-17  Eric Blake  <ebb9@byu.net>
56759
56760         Convert c-strcasestr to be more efficient.
56761         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56762         (Depends-on): Add c-strcase, remove malloca, strnlen.
56763         * tests/test-c-strcasestr.c (main): Enhance test.
56764         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56765
56766 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56767
56768         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56769         Use it in creating po/Makevars.
56770
56771 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56772
56773         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56774         Applications that requires it should initialize libgcrypt
56775         manually.
56776
56777 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56778
56779         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56780
56781 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56782
56783         Fix problem with getdate on mingw32 reported by Simon Josefsson
56784         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56785         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56786         tzname", when deciding whether to declare tzname.
56787         * lib/strftime.c (tzname): Likewise.
56788
56789 2008-01-15  Bruno Haible  <bruno@clisp.org>
56790
56791         Work around a MacOS X 10.5 bug in frexpl().
56792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56793         * doc/functions/frexpl.texi: Document the bug.
56794         Reported by Elias Pipping <pipping@gentoo.org>.
56795
56796 2008-01-14  Eric Blake  <ebb9@byu.net>
56797
56798         Touch up previous patch.
56799         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56800         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56801
56802         Convert strcasestr module to use Two-Way algorithm.
56803         * modules/strcasestr-simple: New module, based on the old
56804         strcasestr, but with Two-Way rather than KMP.
56805         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56806         * lib/string.in.h (rpl_strcasestr): Declare.
56807         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56808         performance.
56809         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56810         * modules/string (Makefile.am): Support strcasestr.
56811         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56812         * modules/strcasestr-tests (Depends-on): Check for alarm.
56813         * tests/test-strcasestr.c: Augment test.
56814         * lib/str-two-way.h: Clean up stray macro.
56815         * NEWS: Document new module.
56816         * MODULES.html.sh (string handling): Likewise.
56817         * doc/functions/strcasestr.texi: New file.
56818         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56819         here, since it is not a POSIX function.
56820
56821 2008-01-14  Colin Watson  <cjwatson@debian.org>
56822             Bruno Haible  <bruno@clisp.org>
56823
56824         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56825         works fine; if not, set REPLACE_STRSIGNAL.
56826         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56827         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56828         REPLACE_STRSIGNAL.
56829         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56830         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56831         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56832
56833 2008-01-14  Bruno Haible  <bruno@clisp.org>
56834
56835         * modules/strsignal (Include): Change to <string.h>.
56836
56837 2008-01-14  Colin Watson  <cjwatson@debian.org>
56838
56839         * modules/argp (Notice): Add a notice recommending to change
56840         XGETTEXT_OPTIONS.
56841         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56842
56843 2008-01-13  Colin Watson  <cjwatson@debian.org>
56844
56845         * modules/strsignal-tests: New file.
56846         * tests/test-strsignal.c: New file.
56847
56848         * lib/strsignal.c: New file, from glibc with modifications.
56849         * lib/siglist.h: New file, from glibc with modifications.
56850         * lib/string.in.h (strsignal): New declaration.
56851         * m4/strsignal.m4: New file.
56852         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56853         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56854         * modules/strsignal: New file.
56855         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56856         HAVE_DECL_STRSIGNAL.
56857
56858 2008-01-13  Bruno Haible  <bruno@clisp.org>
56859
56860         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56861         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56862         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56863         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56864
56865 2008-01-13  Bruno Haible  <bruno@clisp.org>
56866
56867         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56868         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56869         * lib/argp.h (__attribute__): Likewise.
56870         * lib/c-stack.c (__attribute__): Likewise.
56871         * lib/error.h (__attribute__): Likewise.
56872         * lib/fts.c (__attribute__): Likewise.
56873         * lib/openat.h (__attribute__): Likewise.
56874         * lib/stdio.in.h (__attribute__): Likewise.
56875         * lib/string.in.h (__attribute__): Likewise.
56876         * lib/utimens.c (__attribute__): Likewise.
56877         * lib/vasnprintf.h (__attribute__): Likewise.
56878         * lib/xalloc.h (__attribute__): Likewise.
56879         * lib/xprintf.h (__attribute__): Likewise.
56880         * lib/xstrtol.h (__attribute__): Likewise.
56881         * lib/xvasprintf.h (__attribute__): Likewise.
56882
56883 2008-01-12  Bruno Haible  <bruno@clisp.org>
56884
56885         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56886         * doc/glibc-headers/a.out.texi: New file.
56887         * doc/glibc-headers/aliases.texi: New file.
56888         * doc/glibc-headers/alloca.texi: New file.
56889         * doc/glibc-headers/ar.texi: New file.
56890         * doc/glibc-headers/argp.texi: New file.
56891         * doc/glibc-headers/argz.texi: New file.
56892         * doc/glibc-headers/byteswap.texi: New file.
56893         * doc/glibc-headers/crypt.texi: New file.
56894         * doc/glibc-headers/endian.texi: New file.
56895         * doc/glibc-headers/envz.texi: New file.
56896         * doc/glibc-headers/err.texi: New file.
56897         * doc/glibc-headers/error.texi: New file.
56898         * doc/glibc-headers/execinfo.texi: New file.
56899         * doc/glibc-headers/fpu_control.texi: New file.
56900         * doc/glibc-headers/fstab.texi: New file.
56901         * doc/glibc-headers/fts.texi: New file.
56902         * doc/glibc-headers/getopt.texi: New file.
56903         * doc/glibc-headers/ieee754.texi: New file.
56904         * doc/glibc-headers/ifaddrs.texi: New file.
56905         * doc/glibc-headers/libintl.texi: New file.
56906         * doc/glibc-headers/mcheck.texi: New file.
56907         * doc/glibc-headers/mntent.texi: New file.
56908         * doc/glibc-headers/obstack.texi: New file.
56909         * doc/glibc-headers/paths.texi: New file.
56910         * doc/glibc-headers/printf.texi: New file.
56911         * doc/glibc-headers/pty.texi: New file.
56912         * doc/glibc-headers/resolv.texi: New file.
56913         * doc/glibc-headers/shadow.texi: New file.
56914         * doc/glibc-headers/sysexits.texi: New file.
56915         * doc/glibc-headers/ttyent.texi: New file.
56916
56917 2008-01-12  Jim Meyering  <meyering@redhat.com>
56918
56919         announce-gen: emit Gnulib's git-based version string.
56920         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56921         New option --gnulib-version=V, where V is expected to be
56922         the output of running git describe in the gnulib directory.
56923         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56924         not useful, and plan to stop publishing an xdelta file with each
56925         coreutils release.
56926
56927         * build-aux/announce-gen: Also check for lzma-compressed files.
56928
56929 2008-01-11  Bruno Haible  <bruno@clisp.org>
56930
56931         * tests/test-memmem.c (main): Increase maximum allowed time.
56932         * tests/test-strstr.c (main): Likewise.
56933
56934 2008-01-11  Bruno Haible  <bruno@clisp.org>
56935
56936         * doc/functions/memmem.texi: Add more precisions about platforms.
56937         * doc/functions/strstr.texi: Likewise.
56938
56939 2008-01-10  Eric Blake  <ebb9@byu.net>
56940
56941         * m4/strstr.m4: Delete cruft from copy-n-paste.
56942         Reported by Bruno Haible.
56943
56944 2008-01-10  Bruno Haible  <bruno@clisp.org>
56945
56946         Make c-strstr rely on strstr.
56947         * lib/c-strstr.c: Don't include str-kmp.h.
56948         (c_strstr): Define in terms of strstr.
56949         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56950         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56951
56952 2008-01-10  Bruno Haible  <bruno@clisp.org>
56953
56954         * doc/gnulib.texi (String Functions in C Locale): New section.
56955         * doc/c-ctype.texi: New file.
56956         * doc/c-strcase.texi: New file.
56957         * doc/c-strcaseeq.texi: New file.
56958         * doc/c-strcasestr.texi: New file.
56959         * doc/c-strstr.texi: New file.
56960         * doc/c-strtod.texi: New file.
56961         * doc/c-strtold.texi: New file.
56962
56963 2008-01-10  Eric Blake  <ebb9@byu.net>
56964
56965         * lib/relocatable.h: Fix a comment.
56966
56967 2008-01-10  Eric Blake  <ebb9@byu.net>
56968
56969         Share two-way algorithm.
56970         * lib/str-two-way.h: New file, merged from...
56971         * lib/memmem.c: ...here...
56972         * lib/strstr.c: ...and here.
56973         * modules/memmem (Files): Use it.
56974         * modules/strstr (Files): Likewise.
56975
56976         Avoid quadratic strstr implementations.
56977         * lib/strstr.c: New file.
56978         * m4/strstr.m4: Likewise.
56979         * modules/strstr: Likewise.
56980         * modules/strstr-tests: Likewise.
56981         * tests/test-strstr.c: Likewise.
56982         * lib/string.in.h (rpl_strstr): Declare.
56983         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56985         * modules/string (Makefile.am): Likewise.
56986         * MODULES.html.sh (string handling): Mention new module.
56987         * doc/functions/strstr.texi (strstr): Document the bug.
56988
56989 2008-01-10  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/relocatable.h (relocate): State whether result is freshly
56992         allocated or not.
56993         * lib/relocatable.c (relocate): Return a freshly allocated string
56994         instead of a pointer to a privately held string.
56995         Reported by Sylvain Beucler <beuc@gnu.org>.
56996
56997 2008-01-10  Colin Watson  <cjwatson@debian.org>
56998
56999         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
57000         s/S_ISNLK/S_ISLNK/.
57001
57002 2008-01-09  Bruno Haible  <bruno@clisp.org>
57003
57004         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
57005         and other files.
57006         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
57007         if it's only a guess.
57008         * modules/memmem: Simplify by depending on memmem-simple.
57009
57010 2008-01-09  Bruno Haible  <bruno@clisp.org>
57011
57012         Work around OpenBSD 4.0 tdelete() bug.
57013         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
57014         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
57015         macros and don't redefine the enum values.
57016         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
57017         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
57018         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
57019
57020 2008-01-09  Bruno Haible  <bruno@clisp.org>
57021
57022         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
57023         (main): Don't perform the tests if setlocale did not install a UTF-8
57024         locale. Needed on OpenBSD 4.0.
57025         * modules/wcwidth-tests (Depends-on): Add localcharset.
57026
57027 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
57028
57029         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
57030         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
57031         * NEWS: announce this.
57032         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
57033
57034 2008-01-09  Simon Josefsson  <simon@josefsson.org>
57035         and Eric Blake  <ebb9@byu.net>
57036
57037         Add memmem-simple module.
57038         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
57039         (gl_FUNC_MEMMEM): Separate performance from presence checks.
57040         * modules/memmem-simple: New file.
57041         * modules/memmem (Description): Tweak.
57042         * MODULES.html.sh (string handling): Mention new module.
57043         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
57044         addressed by memmem-simple.
57045         * NEWS: Document the difference.
57046
57047 2008-01-09  Eric Blake  <ebb9@byu.net>
57048
57049         Give gcc some memmem optimization hints.
57050         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
57051         (strcasestr): Declare as pure.
57052         * modules/memmem (Maintainer): Claim my implementation.
57053
57054 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57055
57056         Support AIX 6.1 and higher.
57057         * build-aux/config.libpath: Likewise.
57058         * build-aux/config.rpath: Likewise.
57059
57060 2008-01-08  Jim Meyering  <meyering@redhat.com>
57061             Bruno Haible  <bruno@clisp.org>
57062
57063         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
57064         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
57065         Reported by Peter Fales in
57066         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
57067
57068 2008-01-08  Bruno Haible  <bruno@clisp.org>
57069
57070         * modules/unictype/category-of (Depends-on): Add
57071         unictype/category-none.
57072         * modules/unictype/category-and-tests (Depends-on): Add
57073         unictype/category-{L,N,Lu,Nd}.
57074         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
57075         * modules/unictype/category-or-tests (Depends-on): Add
57076         unictype/category-{L,N}.
57077         * modules/unictype/category-name-tests (Depends-on): Add
57078         unictype/category-{Z,Nl}.
57079         Reported by Simon Josefsson.
57080
57081 2008-01-08  Bruno Haible  <bruno@clisp.org>
57082
57083         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
57084         convention better.
57085         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
57086         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
57087         Reported by Peter Miller <millerp@canb.auug.org.au>.
57088
57089 2008-01-08  Eric Blake  <ebb9@byu.net>
57090
57091         Rewrite memmem to guarantee linear complexity without malloc.
57092         * lib/memmem.c (memmem): Use Two-Way rather than
57093         Knuth-Morris-Pratt, to allow O(1) space usage.
57094         (critical_factorization, two_way_short_needle)
57095         (two_way_long_needle): New functions.
57096         (knuth_morris_pratt): Delete.
57097         * modules/memmem (Depends-on): No longer need malloca or stdbool.
57098         Add stdint.
57099         * tests/test-memmem.c (main): Add tests for periodic needle and
57100         sublinear performance.
57101         * doc/functions/memmem.texi (memmem): Document other deficiencies
57102         in cygwin and older glibc.
57103
57104 2008-01-08  Bruno Haible  <bruno@clisp.org>
57105
57106         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
57107         augmentation.
57108
57109 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
57110
57111         Add a configure time option: --disable-acl.
57112         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
57113         AC_ARG_ENABLE(acl).
57114
57115 2008-01-06  Simon Josefsson  <simon@josefsson.org>
57116
57117         * tests/test-localename.c: Don't include obsolete "setenv.h".
57118
57119         * modules/localename-tests (Depends-on): Need unsetenv.
57120
57121 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57122
57123         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
57124
57125 2008-01-06  Colin Watson  <cjwatson@debian.org>
57126
57127         * users.txt: Add man-db.
57128
57129 2008-01-07  Bruno Haible  <bruno@clisp.org>
57130
57131         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
57132         previous section name.
57133
57134 2008-01-07  Bruno Haible  <bruno@clisp.org>
57135
57136         * lib/progname.c (set_program_name): Don't strip off a leading
57137         "lt-" prefix outside a .libs directory.
57138         Suggested by Paul Eggert.
57139
57140 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
57141             Bruno Haible  <bruno@clisp.org>
57142
57143         Improve memory cleanup in 'relocatable' module.
57144         * lib/relocatable.h (compute_curr_prefix): Change return type to
57145         'char *'.
57146         * lib/relocatable.c (compute_curr_prefix): Change return type to
57147         'char *'. Free curr_installdir after use.
57148         (relocate): Free curr_prefix_better after use.
57149         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
57150
57151 2008-01-01  Bruno Haible  <bruno@clisp.org>
57152
57153         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
57154         failure on older glibc systems.
57155         Reported by Peter Fales <psfales@alcatel-lucent.com>.
57156
57157 2008-01-05  Eric Blake  <ebb9@byu.net>
57158
57159         Avoid quadratic system memmem.
57160         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
57161         Reported by Ralf Wildenhues.
57162
57163         Fix memmem test for mingw.
57164         * modules/memmem-tests (configure.ac): Check for alarm.
57165         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
57166         it.
57167         * doc/functions/memmem.texi: New file.
57168         * doc/gnulib.texi (Function Substitutes): Add memmem.
57169         Reported by Bruno Haible.
57170
57171 2008-01-04  Bruno Haible  <bruno@clisp.org>
57172
57173         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
57174         Require gl_HEADER_STRINGS_H_DEFAULTS, not
57175         gl_HEADER_STRING_H_DEFAULTS.
57176
57177 2008-01-04  Eric Blake  <ebb9@byu.net>
57178
57179         Shorten duration of memmem test.
57180         * tests/test-memmem.c (main): Use alarm to declare failure if test
57181         is taking too long.
57182         Reported by Ralf Wildenhues.
57183
57184 2007-12-21  Simon Josefsson  <simon@josefsson.org>
57185
57186         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
57187         string, needed by strerror.
57188
57189 2008-01-03  Colin Watson  <cjwatson@debian.org>
57190             Bruno Haible  <bruno@clisp.org>
57191
57192         * doc/gnulib-tool.texi (Localization): New section.
57193
57194 2008-01-02  Bruno Haible  <bruno@clisp.org>
57195
57196         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
57197         variables to 'unsigned char *' type.
57198         Reported by Paul Eggert.
57199
57200 2008-01-02  Jim Meyering  <jim@meyering.net>
57201
57202         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
57203
57204 2007-12-31  Jim Meyering  <jim@meyering.net>
57205
57206         Avoid use of private FTS type name.
57207         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
57208
57209 2007-12-30  Karl Berry  <karl@gnu.org>
57210
57211         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
57212         work around defect in Texinfo and/or the standalone Info browser.
57213
57214 2007-12-30  Bruno Haible  <bruno@clisp.org>
57215
57216         Unify 5 copies of the KMP code.
57217         * lib/str-kmp.h: New file.
57218         * lib/c-strcasestr.c: Include str-kmp.h.
57219         (knuth_morris_pratt): Remove function.
57220         (c_strcasestr): Update.
57221         * lib/c-strstr.c: Include str-kmp.h.
57222         (knuth_morris_pratt): Remove function.
57223         (c_strcasestr): Update.
57224         * lib/mbscasestr.c: Include str-kmp.h.
57225         (knuth_morris_pratt_unibyte): Remove function.
57226         * lib/mbsstr.c: Include str-kmp.h.
57227         (knuth_morris_pratt_unibyte): Remove function.
57228         * lib/strcasestr.c: Include str-kmp.h.
57229         (knuth_morris_pratt): Remove function.
57230         (strcasestr): Update.
57231         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
57232         * modules/c-strstr (Files): Likewise.
57233         * modules/mbscasestr (Files): Likewise.
57234         * modules/mbsstr (Files): Likewise.
57235         * modules/strcasestr (Files): Likewise.
57236         Suggested by Paul Eggert.
57237
57238 2007-12-30  Bruno Haible  <bruno@clisp.org>
57239
57240         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
57241         defined.
57242
57243 2007-12-30  Bruno Haible  <bruno@clisp.org>
57244
57245         * lib/xmalloca.h: Include xalloc.h.
57246         (xnmalloca): New macro.
57247
57248 2007-12-30  Bruno Haible  <bruno@clisp.org>
57249
57250         * lib/malloca.h (nmalloca): New macro.
57251         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
57252         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
57253         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
57254         knuth_morris_pratt_multibyte): Likewise.
57255         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
57256         knuth_morris_pratt_multibyte): Likewise.
57257         * lib/memmem.c (knuth_morris_pratt): Likewise.
57258         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
57259
57260 2007-12-25  Bruno Haible  <bruno@clisp.org>
57261
57262         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
57263         * lib/glob.c: Don't include openat.h.
57264         (link_exists2_p): Add back the code that deals with the
57265         !GLOB_ALTDIRFUNC case.
57266         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
57267         let it do the filename concatenation.
57268         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
57269         * modules/glob (Depends-on): Remove openat.
57270
57271 2007-12-31  Bruno Haible  <bruno@clisp.org>
57272
57273         * modules/dirfd (License): Change to LGPLv2+.
57274         Approved by Jim Meyering.
57275
57276 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
57277
57278         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
57279         when multiplying M by sizeof (size_t).
57280
57281 2007-12-10  Martin Lambers  <marlam@marlam.de>
57282
57283         Override getpagesize on mingw.
57284         * lib/getpagesize.c: New file.
57285         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
57286         * modules/getpagesize (Files): Add lib/getpagesize.c.
57287         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
57288         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
57289         REPLACE_GETPAGESIZE.
57290         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
57291
57292 2007-12-25  Bruno Haible  <bruno@clisp.org>
57293
57294         * modules/localcharset (Notice): New field.
57295         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
57296         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
57297
57298 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
57299             Bruno Haible  <bruno@clisp.org>
57300
57301         Avoid using the syntax symbol() in formatted documentation.
57302         * MODULES.html.sh (func_module): When replacing symbol() with a
57303         hyperlink, remove the parentheses. Show an error if some remain.
57304         Recognize and render the '...' syntax.
57305         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
57306         Rework. Add paragraph about GCC's inlining.
57307         * doc/alloca.texi: Likewise.
57308         * doc/error.texi: Remove parentheses from symbol reference.
57309         * doc/gnulib-intro.texi: Likewise.
57310         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
57311         * modules/fnmatch (Description): Reword to say "the ... function".
57312         * modules/full-read (Description): Likewise.
57313         * modules/full-write (Description): Likewise.
57314         * modules/safe-read (Description): Likewise.
57315         * modules/safe-write (Description): Likewise.
57316         * modules/strchrnul (Description): Likewise.
57317         * modules/trim (Description): Likewise.
57318         * modules/error (Description): Remove parentheses from symbol
57319         references.
57320         * modules/verror (Description): Likewise.
57321         Reported by Karl Berry.
57322
57323 2007-12-25  Bruno Haible  <bruno@clisp.org>
57324
57325         Fixup after 2007-10-16 commit.
57326         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
57327
57328 2007-12-24  Bruno Haible  <bruno@clisp.org>
57329
57330         Make --enable-relocatable work with DESTDIR.
57331         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
57332         to compute installdir from destprog.
57333         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
57334         also set the RELOC_DESTDIR variable.
57335         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57336
57337 2007-12-24  Bruno Haible  <bruno@clisp.org>
57338
57339         Fix link error due to xalloc_die().
57340         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
57341         of xreadlink.
57342         * lib/relocwrapper.c: Update comments.
57343         * build-aux/install-reloc: Remove xreadlink.c from file list.
57344         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
57345         xreadlink.c.
57346         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57347
57348 2007-12-24  Bruno Haible  <bruno@clisp.org>
57349
57350         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
57351         * lib/setenv.h: Remove file.
57352         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
57353         lib/setenv.h.
57354         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
57355         (Depends-on): Add stdlib.
57356         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
57357         gl_FUNC_UNSETENV.
57358         (Include): Replace setenv.h with <stdlib.h>.
57359         * modules/unsetenv: New file.
57360         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
57361         * lib/unsetenv.c: Include <stdlib.h> first.
57362         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
57363         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
57364         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
57365         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
57366         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
57367         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57368         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
57369         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
57370         * doc/functions/unsetenv.texi: Update.
57371         * modules/xsetenv (Depends-on): Add unsetenv.
57372         * modules/getdate (Depends-on): Likewise.
57373         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
57374         * lib/xsetenv.c: Don't include setenv.h.
57375         * lib/getdate.y: Likewise.
57376         * lib/relocwrapper.c: Likewise.
57377         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
57378         (Depends-on): Add stdlib.
57379         * NEWS: Mention the changes.
57380         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
57381
57382 2007-12-23  Bruno Haible  <bruno@clisp.org>
57383
57384         * lib/memmem.c (memmem): Use lowercase variable names. Tab
57385         indentation.
57386
57387 2007-12-23  Bruno Haible  <bruno@clisp.org>
57388
57389         * lib/c-strcasestr.c: Add more comments.
57390         * lib/c-strstr.c: Likewise.
57391         * lib/mbscasestr.c: Likewise.
57392         * lib/mbsstr.c: Likewise.
57393         * lib/strcasestr.c: Likewise.
57394         * lib/memmem.c: Likewise.
57395
57396 2007-12-23  Bruno Haible  <bruno@clisp.org>
57397
57398         * tests/test-memmem.c: Include <string.h> first.
57399
57400 2007-12-22  Bruno Haible  <bruno@clisp.org>
57401
57402         * gnulib-tool (func_create_testdir): Change $auxdir while generating
57403         the contents of $testsbase.
57404         Reported by Ralf Wildenhues.
57405
57406 2007-12-22  Bruno Haible  <bruno@clisp.org>
57407
57408         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
57409         two variables local_ldadd_before, local_ldadd_last.
57410
57411 2007-12-20  Eric Blake  <ebb9@byu.net>
57412
57413         Work around circular library issue when cross-compiling.
57414         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
57415         that progname.o does not need to pull in rpl_memcmp.
57416
57417 2007-12-19  Eric Blake  <ebb9@byu.net>
57418
57419         Fix memmem to avoid O(n^2) worst-case complexity.
57420         * lib/memmem.c (knuth_morris_pratt): New function.
57421         (memmem): Use it if first few naive iterations fail.
57422         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
57423         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
57424         * modules/memchr (License): Likewise.
57425         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
57426         malloca.
57427         * tests/test-memmem.c: Rewrite, borrowing ideas from
57428         test-mbsstr1.c; the old version wouldn't even compile!
57429         * modules/memmem-tests: New file.
57430         * lib/string.in.h (rpl_memmem): Add declaration.
57431         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
57432         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
57433         REPLACE_MEMMEM.
57434
57435 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
57436
57437         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
57438         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
57439         before any system include files, and undef after them all.  This
57440         should fix a problem on VMS reported by John E. Malmberg in
57441         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57442
57443 2007-12-17  Eric Blake  <ebb9@byu.net>
57444
57445         Revert addition of verify, for BSD/OS.
57446         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57447         can't handle large files, for the sake of obsolete platforms.
57448         * modules/fseeko (Depends-on): Remove verify.
57449         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57450         * doc/functions/ftello.texi (ftello): Likewise.
57451         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57452         Reported by Larry Jones.
57453
57454 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57455
57456         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57457         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57458
57459 2007-12-17  Jim Meyering  <meyering@redhat.com>
57460
57461         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57462         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57463         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57464         * modules/getcwd (Depends-on): Add openat.
57465         Reported by Petr Salinger.
57466
57467 2007-12-17  Bruno Haible  <bruno@clisp.org>
57468
57469         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57470         avoid a segmentation fault of the configure test on x86_64 systems.
57471
57472 2007-12-15  Jim Meyering  <meyering@redhat.com>
57473
57474         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57475
57476 2007-12-13  Eric Blake  <ebb9@byu.net>
57477
57478         Another fseek test.
57479         * tests/test-fseek.c (main): Also test ungetc handling.
57480         * tests/test-fseeko.c (main): Likewise.
57481         * modules/fseeko (Depends-on): Add verify.
57482         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57483         large.
57484         Reported by Larry Jones.
57485
57486         Fix fseeko on mingw.
57487         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57488         seek.
57489
57490         Beef up fseek tests.
57491         * tests/test-fseek.c (main): Also test eof handling.
57492         * tests/test-fseeko.c (main): Likewise.
57493         Reported by Larry Jones.
57494
57495 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57496
57497         Fix fseeko on BSD-based platforms.
57498         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57499         successful seek.
57500
57501 2007-12-12  Eric Blake  <ebb9@byu.net>
57502
57503         Allow circular dependency of separate libtests.a
57504         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57505         when use_libtests.
57506
57507 2007-12-11  Eric Blake  <ebb9@byu.net>
57508
57509         Fix bug with -0.0L in previous patch.
57510         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57511         * tests/test-isnan.c (main): Also test on zeroes.
57512         * tests/test-isnanf.c (main): Likewise.
57513         * tests/test-isnanl.h (main): Likewise.
57514
57515         Detect pseudo-denormals on x86 even when cross-compiling.
57516         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57517         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57518         invalid bit patterns that happen to satisfy ==.
57519
57520         Avoid link failures with separate libtests.a.
57521         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57522         last, to satisfy circular dependencies.
57523
57524 2007-12-11  Eric Blake  <ebb9@byu.net>
57525         and Bruno Haible  <bruno@clisp.org>
57526
57527         Fix OpenBSD 4.0 <float.h> handling of long double.
57528         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57529         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57530         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57531
57532 2007-12-11  Jim Meyering  <meyering@redhat.com>
57533
57534         * users.txt: Add libvirt.
57535
57536         Support versions of autoconf prior to 2.59c.
57537         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57538         if it is not already defined.
57539
57540 2007-12-09  Bruno Haible  <bruno@clisp.org>
57541
57542         Let 'gnulib-tool --import' collect sources needed for the tests in
57543         tests/ rather than in lib/.
57544         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57545         argument. If true, add rules to generate libtests.a, and put libtests.a
57546         into $(LDADD). Consider source files in subdirectories and set
57547         uses_subdirs.
57548         (func_emit_initmacro_start, func_emit_initmacro_end,
57549         func_emit_initmacro_done): Pass all arguments explicitly.
57550         (func_import): Determine two module lists main_modules,
57551         testsrelated_modules. Determine use_libtests. Determine two variables
57552         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57553         instead of just sed_transform_lib_file. Determine two variables
57554         main_files and testsrelated_files. Compute 'files' as the union of
57555         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57556         func_add_or_update. In the generated gnulib-comp.m4, collect the
57557         object files for tests/ in different variables than those for lib/.
57558         Substitute LIBTESTS_LIBDEPS.
57559         (func_create_testdir): Combine the uses_subdirs results from
57560         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57561
57562 2007-12-09  Bruno Haible  <bruno@clisp.org>
57563
57564         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57565         the build-aux directory.
57566
57567 2007-12-09  Bruno Haible  <bruno@clisp.org>
57568
57569         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57570         introduced on 2006-09-09.
57571
57572 2007-12-07  Jim Meyering  <meyering@redhat.com>
57573
57574         Let these macros work also with autoconf-2.59.
57575         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57576         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57577         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57578
57579 2007-12-06  Jim Meyering  <meyering@redhat.com>
57580
57581         Avoid a configure-time syntax error in gl_FUNC_ACL.
57582         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57583         function in each branch, before testing the cache variable.
57584
57585 2007-12-04  Eric Blake  <ebb9@byu.net>
57586
57587         Make scripts executable.
57588         * build-aux/config.guess: Add execute permissions.
57589         * build-aux/config.sub: Likewise.
57590         * build-aux/gendocs.sh: Likewise.
57591
57592         Fix frexp on mingw.
57593         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57594         cross-compiling.
57595         * doc/functions/frexp.texi (frexp): Document the bug.
57596
57597         Make cygwin fseeko check more reliable.
57598         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57599         version numbers, rather than unrelated feature check.
57600         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57601         * doc/functions/ftello.texi (ftello): Likewise.
57602         Reported by Bruno Haible.
57603
57604         * m4/strerror.m4: Bump version number.
57605
57606 2007-12-03  Bruno Haible  <bruno@clisp.org>
57607
57608         * doc/functions/mprotect.texi: Mention the mingw problem.
57609
57610 2007-12-03  Eric Blake  <ebb9@byu.net>
57611
57612         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57613         REPLACE_STRERROR is initialized before this macro.
57614
57615 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57616
57617         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57618         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57619         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57620         put -lsec in even for programs other than 'ls'.  This fixes a problem
57621         for gettext reported by Bruno Haible in
57622         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57623         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57624         Add support for Solaris 10.  This isn't efficient, but should get the
57625         job done for now.
57626
57627 2007-12-03  James Youngman  <jay@gnu.org>
57628
57629         * doc/regexprops-generic.texi: change "an close-group" to "a
57630         close-group" and "illegal" to "not allowed".
57631
57632 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57633
57634         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57635         pr_byname.h. Needed for the rare case when the maintainer has done
57636         "make maintainer-clean" in the source directory and then attempts a
57637         build outside the source directory.
57638         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57639         scripts_byname.h.
57640
57641 2007-12-02  Martin Lambers <marlam@marlam.de>
57642             Bruno Haible  <bruno@clisp.org>
57643
57644         * lib/getpagesize.h: Remove file.
57645         * lib/unistd.in.h: Include declaration of getpagesize here.
57646         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57647         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57648         HAVE_SYS_PARAM_H.
57649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57650         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57651         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57652         (Depends-on): Add unistd.
57653         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57654         (Include): Use <unistd.h> instead of getpagesize.h.
57655         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57656         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57657         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57658         gl_GETPAGESIZE invocation, already handled by module dependency.
57659         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57660
57661 2007-12-02  Bruno Haible  <bruno@clisp.org>
57662
57663         * modules/strings-tests: New file.
57664         * tests/test-strings.c: New file.
57665
57666         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57667         * lib/strings.in.h: New file.
57668         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57669         * m4/strings_h.m4: New file.
57670         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57671         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57672         * modules/strings: New file.
57673         * modules/string (Makefile.am): Update.
57674         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57675         Reported by Karl Berry.
57676
57677 2007-12-01  Eric Blake  <ebb9@byu.net>
57678
57679         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57680         accomodate fix in cygwin 1.5.25.
57681
57682 2007-12-01  Jim Meyering  <meyering@redhat.com>
57683
57684         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57685         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57686         that would inhibit utf8-optimization of a regexp containing line-
57687         or buffer-anchors, e.g., `^', `$'.
57688
57689 2007-11-30  Bruno Haible  <bruno@clisp.org>
57690
57691         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57692         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57693         glthread_recursive_lock_init.
57694         * lib/lock.c (glthread_recursive_lock_init)
57695         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57696         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57697
57698 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57699
57700         New function qset_acl, like set_acl but with syscall semantics.
57701         * lib/acl.h (qset_acl): New decl.
57702         * lib/acl.c (qset_acl): New function.
57703         (set_acl): Use new function.  Use more-consistent diagnostics.
57704
57705 2007-11-28  Jim Meyering  <meyering@redhat.com>
57706
57707         * modules/physmem (License): Change from GPL to LGPLv2+.
57708
57709 2007-11-26  Bruno Haible  <bruno@clisp.org>
57710
57711         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57712         'long double' type has excess precision.
57713         Reported by Jim Meyering in
57714         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57715
57716 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57717
57718         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57719         Sync from <http://gnu.org/licenses>.
57720         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57721         with license text from same location.
57722         * doc/maintain.texi, doc/standards.texi:  Sync from
57723         <http://savannah.gnu.org/projects/gnustandards>.
57724
57725 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57726         and Jim Meyering  <meyering@redhat.com>
57727
57728         Adjust getdate' grammar to accept a slightly more regular language.
57729         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57730         Before, the former was rejected.
57731         * lib/getdate.y (digits_to_date_time): New function, factored
57732         out of ...
57733         (number): ...here.  Just call digits_to_date_time.
57734         (hybrid): New non-terminal to handle an <unsigned number,
57735         signed relative offset> sequence consistently.
57736
57737 2007-11-18  Jim Meyering  <meyering@redhat.com>
57738
57739         Pull my changes from coreutils:
57740         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57741         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57742         use of $gnulib_tool_option_extras, so that it's separated from the
57743         preceding argument.
57744
57745         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57746         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57747         parent destination directories before copying a file into place.
57748
57749 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57750
57751         bootstrap: work also with 4-argument variant of AC_INIT
57752         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57753
57754 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57755
57756         Port test-getaddrinfo to Solaris.
57757         Problem reported by Bruno Haible in
57758         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57759         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57760         explanation of setting 'hints'.
57761         Don't reject an implementation merely because it returns EAI_SERVICE.
57762         (EAI_SERVICE): Define to 0 if not defined.
57763
57764 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57765
57766         The license of gnu-make and posix-shell is now "GPLed build tool".
57767         * modules/gnu-make (License): Likewise.
57768         * modules/posix-shell (License): Likewise.
57769
57770         New module posix-shell, for determining a POSIX shell
57771         or perhaps something that is close enough to a POSIX shell.
57772         * m4/posix-shell.m4: New file.
57773         * modules/posix-shell: New file.
57774
57775         * MODULES.html.sh: Mention new module.
57776
57777         New module gnu-make, for determining whether we're using GNU Make.
57778         * m4/gnu-make.m4: New file.
57779         * modules/gnu-make: New file.
57780         * MODULES.html.sh: Mention new module.
57781
57782 2007-11-14  Jim Meyering  <meyering@redhat.com>
57783
57784         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57785         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57786         use this macro to create a function _definition_.
57787         Remove useless "#undef ARGMATCH_DIE".
57788
57789 2007-11-14  Bruno Haible  <bruno@clisp.org>
57790
57791         * lib/config.charset: Update for OpenBSD 4.1.
57792         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57793
57794 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57795
57796         Document 64-bit #if problems in stdint.texi.
57797         * doc/headers/stdint.texi (stdint.h): Mention problems with
57798         64-bit-#if, and how to work around them.
57799
57800         Don't insist on 'long long int' support in the preprocessor.  It
57801         breaks too many things.  For example, PRIdMAX still uses a 'long
57802         long int' format with the latest Sun compiler, even though
57803         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57804         preprocessor problem.  This causes the latest coreutils to dump
57805         core on Solaris 10 sparc with the Sun C compiler.
57806         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57807         the troublesome expressions at configure-time, not at #if-time.
57808         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57809         preprocessor.
57810         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57811         compile-time C checks, done at 'configure'-time.
57812         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57813         * modules/inttypes (Makefile): Substitute the new symbols that
57814         gl_INTTYPES_H now generates.
57815         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57816
57817 2007-11-12  Bruno Haible  <bruno@clisp.org>
57818
57819         Tests for Unicode character classification functions.
57820
57821         * modules/unictype/bidicategory-byname-tests: New file.
57822         * modules/unictype/bidicategory-name-tests: New file.
57823         * modules/unictype/bidicategory-of-tests: New file.
57824         * modules/unictype/bidicategory-test-tests: New file.
57825         * modules/unictype/block-list-tests: New file.
57826         * modules/unictype/block-of-tests: New file.
57827         * modules/unictype/block-test-tests: New file.
57828         * modules/unictype/category-C-tests: New file.
57829         * modules/unictype/category-Cc-tests: New file.
57830         * modules/unictype/category-Cf-tests: New file.
57831         * modules/unictype/category-Cn-tests: New file.
57832         * modules/unictype/category-Co-tests: New file.
57833         * modules/unictype/category-Cs-tests: New file.
57834         * modules/unictype/category-L-tests: New file.
57835         * modules/unictype/category-Ll-tests: New file.
57836         * modules/unictype/category-Lm-tests: New file.
57837         * modules/unictype/category-Lo-tests: New file.
57838         * modules/unictype/category-Lt-tests: New file.
57839         * modules/unictype/category-Lu-tests: New file.
57840         * modules/unictype/category-M-tests: New file.
57841         * modules/unictype/category-Mc-tests: New file.
57842         * modules/unictype/category-Me-tests: New file.
57843         * modules/unictype/category-Mn-tests: New file.
57844         * modules/unictype/category-N-tests: New file.
57845         * modules/unictype/category-Nd-tests: New file.
57846         * modules/unictype/category-Nl-tests: New file.
57847         * modules/unictype/category-No-tests: New file.
57848         * modules/unictype/category-P-tests: New file.
57849         * modules/unictype/category-Pc-tests: New file.
57850         * modules/unictype/category-Pd-tests: New file.
57851         * modules/unictype/category-Pe-tests: New file.
57852         * modules/unictype/category-Pf-tests: New file.
57853         * modules/unictype/category-Pi-tests: New file.
57854         * modules/unictype/category-Po-tests: New file.
57855         * modules/unictype/category-Ps-tests: New file.
57856         * modules/unictype/category-S-tests: New file.
57857         * modules/unictype/category-Sc-tests: New file.
57858         * modules/unictype/category-Sk-tests: New file.
57859         * modules/unictype/category-Sm-tests: New file.
57860         * modules/unictype/category-So-tests: New file.
57861         * modules/unictype/category-Z-tests: New file.
57862         * modules/unictype/category-Zl-tests: New file.
57863         * modules/unictype/category-Zp-tests: New file.
57864         * modules/unictype/category-Zs-tests: New file.
57865         * modules/unictype/category-and-not-tests: New file.
57866         * modules/unictype/category-and-tests: New file.
57867         * modules/unictype/category-byname-tests: New file.
57868         * modules/unictype/category-name-tests: New file.
57869         * modules/unictype/category-none-tests: New file.
57870         * modules/unictype/category-of-tests: New file.
57871         * modules/unictype/category-or-tests: New file.
57872         * modules/unictype/category-test-withtable-tests: New file.
57873         * modules/unictype/combining-class-tests: New file.
57874         * modules/unictype/ctype-alnum-tests: New file.
57875         * modules/unictype/ctype-alpha-tests: New file.
57876         * modules/unictype/ctype-blank-tests: New file.
57877         * modules/unictype/ctype-cntrl-tests: New file.
57878         * modules/unictype/ctype-digit-tests: New file.
57879         * modules/unictype/ctype-graph-tests: New file.
57880         * modules/unictype/ctype-lower-tests: New file.
57881         * modules/unictype/ctype-print-tests: New file.
57882         * modules/unictype/ctype-punct-tests: New file.
57883         * modules/unictype/ctype-space-tests: New file.
57884         * modules/unictype/ctype-upper-tests: New file.
57885         * modules/unictype/ctype-xdigit-tests: New file.
57886         * modules/unictype/decimal-digit-tests: New file.
57887         * modules/unictype/digit-tests: New file.
57888         * modules/unictype/mirror-tests: New file.
57889         * modules/unictype/numeric-tests: New file.
57890         * modules/unictype/property-alphabetic-tests: New file.
57891         * modules/unictype/property-ascii-hex-digit-tests: New file.
57892         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57893         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57894         * modules/unictype/property-bidi-block-separator-tests: New file.
57895         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57896         * modules/unictype/property-bidi-common-separator-tests: New file.
57897         * modules/unictype/property-bidi-control-tests: New file.
57898         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57899         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57900         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57901         * modules/unictype/property-bidi-european-digit-tests: New file.
57902         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57903         * modules/unictype/property-bidi-left-to-right-tests: New file.
57904         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57905         * modules/unictype/property-bidi-other-neutral-tests: New file.
57906         * modules/unictype/property-bidi-pdf-tests: New file.
57907         * modules/unictype/property-bidi-segment-separator-tests: New file.
57908         * modules/unictype/property-bidi-whitespace-tests: New file.
57909         * modules/unictype/property-byname-tests: New file.
57910         * modules/unictype/property-combining-tests: New file.
57911         * modules/unictype/property-composite-tests: New file.
57912         * modules/unictype/property-currency-symbol-tests: New file.
57913         * modules/unictype/property-dash-tests: New file.
57914         * modules/unictype/property-decimal-digit-tests: New file.
57915         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57916         * modules/unictype/property-deprecated-tests: New file.
57917         * modules/unictype/property-diacritic-tests: New file.
57918         * modules/unictype/property-extender-tests: New file.
57919         * modules/unictype/property-format-control-tests: New file.
57920         * modules/unictype/property-grapheme-base-tests: New file.
57921         * modules/unictype/property-grapheme-extend-tests: New file.
57922         * modules/unictype/property-grapheme-link-tests: New file.
57923         * modules/unictype/property-hex-digit-tests: New file.
57924         * modules/unictype/property-hyphen-tests: New file.
57925         * modules/unictype/property-id-continue-tests: New file.
57926         * modules/unictype/property-id-start-tests: New file.
57927         * modules/unictype/property-ideographic-tests: New file.
57928         * modules/unictype/property-ids-binary-operator-tests: New file.
57929         * modules/unictype/property-ids-trinary-operator-tests: New file.
57930         * modules/unictype/property-ignorable-control-tests: New file.
57931         * modules/unictype/property-iso-control-tests: New file.
57932         * modules/unictype/property-join-control-tests: New file.
57933         * modules/unictype/property-left-of-pair-tests: New file.
57934         * modules/unictype/property-line-separator-tests: New file.
57935         * modules/unictype/property-logical-order-exception-tests: New file.
57936         * modules/unictype/property-lowercase-tests: New file.
57937         * modules/unictype/property-math-tests: New file.
57938         * modules/unictype/property-non-break-tests: New file.
57939         * modules/unictype/property-not-a-character-tests: New file.
57940         * modules/unictype/property-numeric-tests: New file.
57941         * modules/unictype/property-other-alphabetic-tests: New file.
57942         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57943         * modules/unictype/property-other-grapheme-extend-tests: New file.
57944         * modules/unictype/property-other-id-continue-tests: New file.
57945         * modules/unictype/property-other-id-start-tests: New file.
57946         * modules/unictype/property-other-lowercase-tests: New file.
57947         * modules/unictype/property-other-math-tests: New file.
57948         * modules/unictype/property-other-uppercase-tests: New file.
57949         * modules/unictype/property-paired-punctuation-tests: New file.
57950         * modules/unictype/property-paragraph-separator-tests: New file.
57951         * modules/unictype/property-pattern-syntax-tests: New file.
57952         * modules/unictype/property-pattern-white-space-tests: New file.
57953         * modules/unictype/property-private-use-tests: New file.
57954         * modules/unictype/property-punctuation-tests: New file.
57955         * modules/unictype/property-quotation-mark-tests: New file.
57956         * modules/unictype/property-radical-tests: New file.
57957         * modules/unictype/property-sentence-terminal-tests: New file.
57958         * modules/unictype/property-soft-dotted-tests: New file.
57959         * modules/unictype/property-space-tests: New file.
57960         * modules/unictype/property-terminal-punctuation-tests: New file.
57961         * modules/unictype/property-test-tests: New file.
57962         * modules/unictype/property-titlecase-tests: New file.
57963         * modules/unictype/property-unassigned-code-value-tests: New file.
57964         * modules/unictype/property-unified-ideograph-tests: New file.
57965         * modules/unictype/property-uppercase-tests: New file.
57966         * modules/unictype/property-variation-selector-tests: New file.
57967         * modules/unictype/property-white-space-tests: New file.
57968         * modules/unictype/property-xid-continue-tests: New file.
57969         * modules/unictype/property-xid-start-tests: New file.
57970         * modules/unictype/property-zero-width-tests: New file.
57971         * modules/unictype/scripts-tests: New file.
57972         * modules/unictype/syntax-c-ident-tests: New file.
57973         * modules/unictype/syntax-c-whitespace-tests: New file.
57974         * modules/unictype/syntax-java-ident-tests: New file.
57975         * modules/unictype/syntax-java-whitespace-tests: New file.
57976         * tests/unictype/test-bidi_byname.c: New file.
57977         * tests/unictype/test-bidi_name.c: New file.
57978         * tests/unictype/test-bidi_of.c: New file.
57979         * tests/unictype/test-bidi_test.c: New file.
57980         * tests/unictype/test-block_list.c: New file.
57981         * tests/unictype/test-block_of.c: New file.
57982         * tests/unictype/test-block_test.c: New file.
57983         * tests/unictype/test-categ_and.c: New file.
57984         * tests/unictype/test-categ_and_not.c: New file.
57985         * tests/unictype/test-categ_byname.c: New file.
57986         * tests/unictype/test-categ_name.c: New file.
57987         * tests/unictype/test-categ_none.c: New file.
57988         * tests/unictype/test-categ_of.c: New file.
57989         * tests/unictype/test-categ_or.c: New file.
57990         * tests/unictype/test-categ_test_withtable.c: New file.
57991         * tests/unictype/test-combining.c: New file.
57992         * tests/unictype/test-decdigit.c: New file.
57993         * tests/unictype/test-digit.c: New file.
57994         * tests/unictype/test-mirror.c: New file.
57995         * tests/unictype/test-numeric.c: New file.
57996         * tests/unictype/test-pr_byname.c: New file.
57997         * tests/unictype/test-pr_test.c: New file.
57998         * tests/unictype/test-predicate-part1.h: New file.
57999         * tests/unictype/test-predicate-part2.h: New file.
58000         * tests/unictype/test-scripts.c: New file.
58001         * tests/unictype/test-sy_c_ident.c: New file.
58002         * tests/unictype/test-sy_java_ident.c: New file.
58003
58004         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
58005         for Unicode 5.0.0.
58006         * tests/unictype/test-categ_Cc.c: Likewise.
58007         * tests/unictype/test-categ_Cf.c: Likewise.
58008         * tests/unictype/test-categ_Cn.c: Likewise.
58009         * tests/unictype/test-categ_Co.c: Likewise.
58010         * tests/unictype/test-categ_Cs.c: Likewise.
58011         * tests/unictype/test-categ_L.c: Likewise.
58012         * tests/unictype/test-categ_Ll.c: Likewise.
58013         * tests/unictype/test-categ_Lm.c: Likewise.
58014         * tests/unictype/test-categ_Lo.c: Likewise.
58015         * tests/unictype/test-categ_Lt.c: Likewise.
58016         * tests/unictype/test-categ_Lu.c: Likewise.
58017         * tests/unictype/test-categ_M.c: Likewise.
58018         * tests/unictype/test-categ_Mc.c: Likewise.
58019         * tests/unictype/test-categ_Me.c: Likewise.
58020         * tests/unictype/test-categ_Mn.c: Likewise.
58021         * tests/unictype/test-categ_N.c: Likewise.
58022         * tests/unictype/test-categ_Nd.c: Likewise.
58023         * tests/unictype/test-categ_Nl.c: Likewise.
58024         * tests/unictype/test-categ_No.c: Likewise.
58025         * tests/unictype/test-categ_P.c: Likewise.
58026         * tests/unictype/test-categ_Pc.c: Likewise.
58027         * tests/unictype/test-categ_Pd.c: Likewise.
58028         * tests/unictype/test-categ_Pe.c: Likewise.
58029         * tests/unictype/test-categ_Pf.c: Likewise.
58030         * tests/unictype/test-categ_Pi.c: Likewise.
58031         * tests/unictype/test-categ_Po.c: Likewise.
58032         * tests/unictype/test-categ_Ps.c: Likewise.
58033         * tests/unictype/test-categ_S.c: Likewise.
58034         * tests/unictype/test-categ_Sc.c: Likewise.
58035         * tests/unictype/test-categ_Sk.c: Likewise.
58036         * tests/unictype/test-categ_Sm.c: Likewise.
58037         * tests/unictype/test-categ_So.c: Likewise.
58038         * tests/unictype/test-categ_Z.c: Likewise.
58039         * tests/unictype/test-categ_Zl.c: Likewise.
58040         * tests/unictype/test-categ_Zp.c: Likewise.
58041         * tests/unictype/test-categ_Zs.c: Likewise.
58042         * tests/unictype/test-ctype_alnum.c: Likewise.
58043         * tests/unictype/test-ctype_alpha.c: Likewise.
58044         * tests/unictype/test-ctype_blank.c: Likewise.
58045         * tests/unictype/test-ctype_cntrl.c: Likewise.
58046         * tests/unictype/test-ctype_digit.c: Likewise.
58047         * tests/unictype/test-ctype_graph.c: Likewise.
58048         * tests/unictype/test-ctype_lower.c: Likewise.
58049         * tests/unictype/test-ctype_print.c: Likewise.
58050         * tests/unictype/test-ctype_punct.c: Likewise.
58051         * tests/unictype/test-ctype_space.c: Likewise.
58052         * tests/unictype/test-ctype_upper.c: Likewise.
58053         * tests/unictype/test-ctype_xdigit.c: Likewise.
58054         * tests/unictype/test-decdigit.h: Likewise.
58055         * tests/unictype/test-digit.h: Likewise.
58056         * tests/unictype/test-numeric.h: Likewise.
58057         * tests/unictype/test-pr_alphabetic.c: Likewise.
58058         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
58059         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
58060         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
58061         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
58062         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
58063         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
58064         * tests/unictype/test-pr_bidi_control.c: Likewise.
58065         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
58066         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
58067         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
58068         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
58069         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
58070         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
58071         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
58072         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
58073         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
58074         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
58075         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
58076         * tests/unictype/test-pr_combining.c: Likewise.
58077         * tests/unictype/test-pr_composite.c: Likewise.
58078         * tests/unictype/test-pr_currency_symbol.c: Likewise.
58079         * tests/unictype/test-pr_dash.c: Likewise.
58080         * tests/unictype/test-pr_decimal_digit.c: Likewise.
58081         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
58082         * tests/unictype/test-pr_deprecated.c: Likewise.
58083         * tests/unictype/test-pr_diacritic.c: Likewise.
58084         * tests/unictype/test-pr_extender.c: Likewise.
58085         * tests/unictype/test-pr_format_control.c: Likewise.
58086         * tests/unictype/test-pr_grapheme_base.c: Likewise.
58087         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
58088         * tests/unictype/test-pr_grapheme_link.c: Likewise.
58089         * tests/unictype/test-pr_hex_digit.c: Likewise.
58090         * tests/unictype/test-pr_hyphen.c: Likewise.
58091         * tests/unictype/test-pr_id_continue.c: Likewise.
58092         * tests/unictype/test-pr_id_start.c: Likewise.
58093         * tests/unictype/test-pr_ideographic.c: Likewise.
58094         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
58095         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
58096         * tests/unictype/test-pr_ignorable_control.c: Likewise.
58097         * tests/unictype/test-pr_iso_control.c: Likewise.
58098         * tests/unictype/test-pr_join_control.c: Likewise.
58099         * tests/unictype/test-pr_left_of_pair.c: Likewise.
58100         * tests/unictype/test-pr_line_separator.c: Likewise.
58101         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
58102         * tests/unictype/test-pr_lowercase.c: Likewise.
58103         * tests/unictype/test-pr_math.c: Likewise.
58104         * tests/unictype/test-pr_non_break.c: Likewise.
58105         * tests/unictype/test-pr_not_a_character.c: Likewise.
58106         * tests/unictype/test-pr_numeric.c: Likewise.
58107         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
58108         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
58109         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
58110         * tests/unictype/test-pr_other_id_continue.c: Likewise.
58111         * tests/unictype/test-pr_other_id_start.c: Likewise.
58112         * tests/unictype/test-pr_other_lowercase.c: Likewise.
58113         * tests/unictype/test-pr_other_math.c: Likewise.
58114         * tests/unictype/test-pr_other_uppercase.c: Likewise.
58115         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
58116         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
58117         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
58118         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
58119         * tests/unictype/test-pr_private_use.c: Likewise.
58120         * tests/unictype/test-pr_punctuation.c: Likewise.
58121         * tests/unictype/test-pr_quotation_mark.c: Likewise.
58122         * tests/unictype/test-pr_radical.c: Likewise.
58123         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
58124         * tests/unictype/test-pr_soft_dotted.c: Likewise.
58125         * tests/unictype/test-pr_space.c: Likewise.
58126         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
58127         * tests/unictype/test-pr_titlecase.c: Likewise.
58128         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
58129         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
58130         * tests/unictype/test-pr_uppercase.c: Likewise.
58131         * tests/unictype/test-pr_variation_selector.c: Likewise.
58132         * tests/unictype/test-pr_white_space.c: Likewise.
58133         * tests/unictype/test-pr_xid_continue.c: Likewise.
58134         * tests/unictype/test-pr_xid_start.c: Likewise.
58135         * tests/unictype/test-pr_zero_width.c: Likewise.
58136         * tests/unictype/test-sy_c_whitespace.c: Likewise.
58137         * tests/unictype/test-sy_java_whitespace.c: Likewise.
58138
58139 2007-11-12  Bruno Haible  <bruno@clisp.org>
58140
58141         Unicode character classification functions.
58142         * lib/unictype.h: New file.
58143         * modules/unictype/base: New file.
58144         * modules/unictype/category-L: New file.
58145         * modules/unictype/category-Lu: New file.
58146         * modules/unictype/category-Ll: New file.
58147         * modules/unictype/category-Lt: New file.
58148         * modules/unictype/category-Lm: New file.
58149         * modules/unictype/category-Lo: New file.
58150         * modules/unictype/category-M: New file.
58151         * modules/unictype/category-Mn: New file.
58152         * modules/unictype/category-Mc: New file.
58153         * modules/unictype/category-Me: New file.
58154         * modules/unictype/category-N: New file.
58155         * modules/unictype/category-Nd: New file.
58156         * modules/unictype/category-Nl: New file.
58157         * modules/unictype/category-No: New file.
58158         * modules/unictype/category-P: New file.
58159         * modules/unictype/category-Pc: New file.
58160         * modules/unictype/category-Pd: New file.
58161         * modules/unictype/category-Ps: New file.
58162         * modules/unictype/category-Pe: New file.
58163         * modules/unictype/category-Pi: New file.
58164         * modules/unictype/category-Pf: New file.
58165         * modules/unictype/category-Po: New file.
58166         * modules/unictype/category-S: New file.
58167         * modules/unictype/category-Sm: New file.
58168         * modules/unictype/category-Sc: New file.
58169         * modules/unictype/category-Sk: New file.
58170         * modules/unictype/category-So: New file.
58171         * modules/unictype/category-Z: New file.
58172         * modules/unictype/category-Zs: New file.
58173         * modules/unictype/category-Zl: New file.
58174         * modules/unictype/category-Zp: New file.
58175         * modules/unictype/category-C: New file.
58176         * modules/unictype/category-Cc: New file.
58177         * modules/unictype/category-Cf: New file.
58178         * modules/unictype/category-Cs: New file.
58179         * modules/unictype/category-Co: New file.
58180         * modules/unictype/category-Cn: New file.
58181         * modules/unictype/category-or: New file.
58182         * modules/unictype/category-of: New file.
58183         * modules/unictype/category-test: New file.
58184         * modules/unictype/category-test-withtable: New file.
58185         * modules/unictype/category-byname: New file.
58186         * modules/unictype/category-none: New file.
58187         * modules/unictype/category-and: New file.
58188         * modules/unictype/category-and-not: New file.
58189         * modules/unictype/category-name: New file.
58190         * modules/unictype/combining-class: New file.
58191         * modules/unictype/category-all: New file.
58192         * modules/unictype/bidicategory-all: New file.
58193         * modules/unictype/bidicategory-byname: New file.
58194         * modules/unictype/bidicategory-name: New file.
58195         * modules/unictype/bidicategory-of: New file.
58196         * modules/unictype/bidicategory-test: New file.
58197         * modules/unictype/decimal-digit: New file.
58198         * modules/unictype/digit: New file.
58199         * modules/unictype/numeric: New file.
58200         * modules/unictype/mirror: New file.
58201         * modules/unictype/property-white-space: New file.
58202         * modules/unictype/property-alphabetic: New file.
58203         * modules/unictype/property-other-alphabetic: New file.
58204         * modules/unictype/property-not-a-character: New file.
58205         * modules/unictype/property-default-ignorable-code-point: New file.
58206         * modules/unictype/property-other-default-ignorable-code-point: New
58207         file.
58208         * modules/unictype/property-deprecated: New file.
58209         * modules/unictype/property-logical-order-exception: New file.
58210         * modules/unictype/property-variation-selector: New file.
58211         * modules/unictype/property-private-use: New file.
58212         * modules/unictype/property-unassigned-code-value: New file.
58213         * modules/unictype/property-uppercase: New file.
58214         * modules/unictype/property-other-uppercase: New file.
58215         * modules/unictype/property-lowercase: New file.
58216         * modules/unictype/property-other-lowercase: New file.
58217         * modules/unictype/property-titlecase: New file.
58218         * modules/unictype/property-soft-dotted: New file.
58219         * modules/unictype/property-id-start: New file.
58220         * modules/unictype/property-other-id-start: New file.
58221         * modules/unictype/property-id-continue: New file.
58222         * modules/unictype/property-other-id-continue: New file.
58223         * modules/unictype/property-xid-start: New file.
58224         * modules/unictype/property-xid-continue: New file.
58225         * modules/unictype/property-pattern-white-space: New file.
58226         * modules/unictype/property-pattern-syntax: New file.
58227         * modules/unictype/property-join-control: New file.
58228         * modules/unictype/property-grapheme-base: New file.
58229         * modules/unictype/property-grapheme-extend: New file.
58230         * modules/unictype/property-other-grapheme-extend: New file.
58231         * modules/unictype/property-grapheme-link: New file.
58232         * modules/unictype/property-bidi-control: New file.
58233         * modules/unictype/property-bidi-left-to-right: New file.
58234         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
58235         * modules/unictype/property-bidi-arabic-right-to-left: New file.
58236         * modules/unictype/property-bidi-european-digit: New file.
58237         * modules/unictype/property-bidi-eur-num-separator: New file.
58238         * modules/unictype/property-bidi-eur-num-terminator: New file.
58239         * modules/unictype/property-bidi-arabic-digit: New file.
58240         * modules/unictype/property-bidi-common-separator: New file.
58241         * modules/unictype/property-bidi-block-separator: New file.
58242         * modules/unictype/property-bidi-segment-separator: New file.
58243         * modules/unictype/property-bidi-whitespace: New file.
58244         * modules/unictype/property-bidi-non-spacing-mark: New file.
58245         * modules/unictype/property-bidi-boundary-neutral: New file.
58246         * modules/unictype/property-bidi-pdf: New file.
58247         * modules/unictype/property-bidi-embedding-or-override: New file.
58248         * modules/unictype/property-bidi-other-neutral: New file.
58249         * modules/unictype/property-hex-digit: New file.
58250         * modules/unictype/property-ascii-hex-digit: New file.
58251         * modules/unictype/property-ideographic: New file.
58252         * modules/unictype/property-unified-ideograph: New file.
58253         * modules/unictype/property-radical: New file.
58254         * modules/unictype/property-ids-binary-operator: New file.
58255         * modules/unictype/property-ids-trinary-operator: New file.
58256         * modules/unictype/property-zero-width: New file.
58257         * modules/unictype/property-space: New file.
58258         * modules/unictype/property-non-break: New file.
58259         * modules/unictype/property-iso-control: New file.
58260         * modules/unictype/property-format-control: New file.
58261         * modules/unictype/property-dash: New file.
58262         * modules/unictype/property-hyphen: New file.
58263         * modules/unictype/property-punctuation: New file.
58264         * modules/unictype/property-line-separator: New file.
58265         * modules/unictype/property-paragraph-separator: New file.
58266         * modules/unictype/property-quotation-mark: New file.
58267         * modules/unictype/property-sentence-terminal: New file.
58268         * modules/unictype/property-terminal-punctuation: New file.
58269         * modules/unictype/property-currency-symbol: New file.
58270         * modules/unictype/property-math: New file.
58271         * modules/unictype/property-other-math: New file.
58272         * modules/unictype/property-paired-punctuation: New file.
58273         * modules/unictype/property-left-of-pair: New file.
58274         * modules/unictype/property-combining: New file.
58275         * modules/unictype/property-composite: New file.
58276         * modules/unictype/property-decimal-digit: New file.
58277         * modules/unictype/property-numeric: New file.
58278         * modules/unictype/property-diacritic: New file.
58279         * modules/unictype/property-extender: New file.
58280         * modules/unictype/property-ignorable-control: New file.
58281         * modules/unictype/property-test: New file.
58282         * modules/unictype/property-byname: New file.
58283         * modules/unictype/property-all: New file.
58284         * modules/unictype/scripts: New file.
58285         * modules/unictype/scripts-all: New file.
58286         * modules/unictype/block-of: New file.
58287         * modules/unictype/block-test: New file.
58288         * modules/unictype/block-list: New file.
58289         * modules/unictype/block-all: New file.
58290         * modules/unictype/syntax-c-whitespace: New file.
58291         * modules/unictype/syntax-java-whitespace: New file.
58292         * modules/unictype/syntax-c-ident: New file.
58293         * modules/unictype/syntax-java-ident: New file.
58294         * modules/unictype/ctype-alnum: New file.
58295         * modules/unictype/ctype-alpha: New file.
58296         * modules/unictype/ctype-cntrl: New file.
58297         * modules/unictype/ctype-digit: New file.
58298         * modules/unictype/ctype-graph: New file.
58299         * modules/unictype/ctype-lower: New file.
58300         * modules/unictype/ctype-print: New file.
58301         * modules/unictype/ctype-punct: New file.
58302         * modules/unictype/ctype-space: New file.
58303         * modules/unictype/ctype-upper: New file.
58304         * modules/unictype/ctype-xdigit: New file.
58305         * modules/unictype/ctype-blank: New file.
58306         * lib/unictype/bidi_byname.c: New file.
58307         * lib/unictype/bidi_name.c: New file.
58308         * lib/unictype/bidi_of.c: New file.
58309         * lib/unictype/bidi_test.c: New file.
58310         * lib/unictype/bitmap.h: New file.
58311         * lib/unictype/block_test.c: New file.
58312         * lib/unictype/blocks.c: New file.
58313         * lib/unictype/categ_C.c: New file.
58314         * lib/unictype/categ_Cc.c: New file.
58315         * lib/unictype/categ_Cf.c: New file.
58316         * lib/unictype/categ_Cn.c: New file.
58317         * lib/unictype/categ_Co.c: New file.
58318         * lib/unictype/categ_Cs.c: New file.
58319         * lib/unictype/categ_L.c: New file.
58320         * lib/unictype/categ_Ll.c: New file.
58321         * lib/unictype/categ_Lm.c: New file.
58322         * lib/unictype/categ_Lo.c: New file.
58323         * lib/unictype/categ_Lt.c: New file.
58324         * lib/unictype/categ_Lu.c: New file.
58325         * lib/unictype/categ_M.c: New file.
58326         * lib/unictype/categ_Mc.c: New file.
58327         * lib/unictype/categ_Me.c: New file.
58328         * lib/unictype/categ_Mn.c: New file.
58329         * lib/unictype/categ_N.c: New file.
58330         * lib/unictype/categ_Nd.c: New file.
58331         * lib/unictype/categ_Nl.c: New file.
58332         * lib/unictype/categ_No.c: New file.
58333         * lib/unictype/categ_P.c: New file.
58334         * lib/unictype/categ_Pc.c: New file.
58335         * lib/unictype/categ_Pd.c: New file.
58336         * lib/unictype/categ_Pe.c: New file.
58337         * lib/unictype/categ_Pf.c: New file.
58338         * lib/unictype/categ_Pi.c: New file.
58339         * lib/unictype/categ_Po.c: New file.
58340         * lib/unictype/categ_Ps.c: New file.
58341         * lib/unictype/categ_S.c: New file.
58342         * lib/unictype/categ_Sc.c: New file.
58343         * lib/unictype/categ_Sk.c: New file.
58344         * lib/unictype/categ_Sm.c: New file.
58345         * lib/unictype/categ_So.c: New file.
58346         * lib/unictype/categ_Z.c: New file.
58347         * lib/unictype/categ_Zl.c: New file.
58348         * lib/unictype/categ_Zp.c: New file.
58349         * lib/unictype/categ_Zs.c: New file.
58350         * lib/unictype/categ_and.c: New file.
58351         * lib/unictype/categ_and_not.c: New file.
58352         * lib/unictype/categ_byname.c: New file.
58353         * lib/unictype/categ_name.c: New file.
58354         * lib/unictype/categ_none.c: New file.
58355         * lib/unictype/categ_of.c: New file.
58356         * lib/unictype/categ_or.c: New file.
58357         * lib/unictype/categ_test.c: New file.
58358         * lib/unictype/combining.c: New file.
58359         * lib/unictype/ctype_alnum.c: New file.
58360         * lib/unictype/ctype_alpha.c: New file.
58361         * lib/unictype/ctype_blank.c: New file.
58362         * lib/unictype/ctype_cntrl.c: New file.
58363         * lib/unictype/ctype_digit.c: New file.
58364         * lib/unictype/ctype_graph.c: New file.
58365         * lib/unictype/ctype_lower.c: New file.
58366         * lib/unictype/ctype_print.c: New file.
58367         * lib/unictype/ctype_punct.c: New file.
58368         * lib/unictype/ctype_space.c: New file.
58369         * lib/unictype/ctype_upper.c: New file.
58370         * lib/unictype/ctype_xdigit.c: New file.
58371         * lib/unictype/decdigit.c: New file.
58372         * lib/unictype/digit.c: New file.
58373         * lib/unictype/identsyntaxmap.h: New file.
58374         * lib/unictype/mirror.c: New file.
58375         * lib/unictype/numeric.c: New file.
58376         * lib/unictype/pr_alphabetic.c: New file.
58377         * lib/unictype/pr_ascii_hex_digit.c: New file.
58378         * lib/unictype/pr_bidi_arabic_digit.c: New file.
58379         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
58380         * lib/unictype/pr_bidi_block_separator.c: New file.
58381         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
58382         * lib/unictype/pr_bidi_common_separator.c: New file.
58383         * lib/unictype/pr_bidi_control.c: New file.
58384         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
58385         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
58386         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
58387         * lib/unictype/pr_bidi_european_digit.c: New file.
58388         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
58389         * lib/unictype/pr_bidi_left_to_right.c: New file.
58390         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
58391         * lib/unictype/pr_bidi_other_neutral.c: New file.
58392         * lib/unictype/pr_bidi_pdf.c: New file.
58393         * lib/unictype/pr_bidi_segment_separator.c: New file.
58394         * lib/unictype/pr_bidi_whitespace.c: New file.
58395         * lib/unictype/pr_byname.c: New file.
58396         * lib/unictype/pr_byname.gperf: New file.
58397         * lib/unictype/pr_combining.c: New file.
58398         * lib/unictype/pr_composite.c: New file.
58399         * lib/unictype/pr_currency_symbol.c: New file.
58400         * lib/unictype/pr_dash.c: New file.
58401         * lib/unictype/pr_decimal_digit.c: New file.
58402         * lib/unictype/pr_default_ignorable_code_point.c: New file.
58403         * lib/unictype/pr_deprecated.c: New file.
58404         * lib/unictype/pr_diacritic.c: New file.
58405         * lib/unictype/pr_extender.c: New file.
58406         * lib/unictype/pr_format_control.c: New file.
58407         * lib/unictype/pr_grapheme_base.c: New file.
58408         * lib/unictype/pr_grapheme_extend.c: New file.
58409         * lib/unictype/pr_grapheme_link.c: New file.
58410         * lib/unictype/pr_hex_digit.c: New file.
58411         * lib/unictype/pr_hyphen.c: New file.
58412         * lib/unictype/pr_id_continue.c: New file.
58413         * lib/unictype/pr_id_start.c: New file.
58414         * lib/unictype/pr_ideographic.c: New file.
58415         * lib/unictype/pr_ids_binary_operator.c: New file.
58416         * lib/unictype/pr_ids_trinary_operator.c: New file.
58417         * lib/unictype/pr_ignorable_control.c: New file.
58418         * lib/unictype/pr_iso_control.c: New file.
58419         * lib/unictype/pr_join_control.c: New file.
58420         * lib/unictype/pr_left_of_pair.c: New file.
58421         * lib/unictype/pr_line_separator.c: New file.
58422         * lib/unictype/pr_logical_order_exception.c: New file.
58423         * lib/unictype/pr_lowercase.c: New file.
58424         * lib/unictype/pr_math.c: New file.
58425         * lib/unictype/pr_non_break.c: New file.
58426         * lib/unictype/pr_not_a_character.c: New file.
58427         * lib/unictype/pr_numeric.c: New file.
58428         * lib/unictype/pr_other_alphabetic.c: New file.
58429         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
58430         * lib/unictype/pr_other_grapheme_extend.c: New file.
58431         * lib/unictype/pr_other_id_continue.c: New file.
58432         * lib/unictype/pr_other_id_start.c: New file.
58433         * lib/unictype/pr_other_lowercase.c: New file.
58434         * lib/unictype/pr_other_math.c: New file.
58435         * lib/unictype/pr_other_uppercase.c: New file.
58436         * lib/unictype/pr_paired_punctuation.c: New file.
58437         * lib/unictype/pr_paragraph_separator.c: New file.
58438         * lib/unictype/pr_pattern_syntax.c: New file.
58439         * lib/unictype/pr_pattern_white_space.c: New file.
58440         * lib/unictype/pr_private_use.c: New file.
58441         * lib/unictype/pr_punctuation.c: New file.
58442         * lib/unictype/pr_quotation_mark.c: New file.
58443         * lib/unictype/pr_radical.c: New file.
58444         * lib/unictype/pr_sentence_terminal.c: New file.
58445         * lib/unictype/pr_soft_dotted.c: New file.
58446         * lib/unictype/pr_space.c: New file.
58447         * lib/unictype/pr_terminal_punctuation.c: New file.
58448         * lib/unictype/pr_test.c: New file.
58449         * lib/unictype/pr_titlecase.c: New file.
58450         * lib/unictype/pr_unassigned_code_value.c: New file.
58451         * lib/unictype/pr_unified_ideograph.c: New file.
58452         * lib/unictype/pr_uppercase.c: New file.
58453         * lib/unictype/pr_variation_selector.c: New file.
58454         * lib/unictype/pr_white_space.c: New file.
58455         * lib/unictype/pr_xid_continue.c: New file.
58456         * lib/unictype/pr_xid_start.c: New file.
58457         * lib/unictype/pr_zero_width.c: New file.
58458         * lib/unictype/scripts.c: New file.
58459         * lib/unictype/sy_c_ident.c: New file.
58460         * lib/unictype/sy_c_whitespace.c: New file.
58461         * lib/unictype/sy_java_ident.c: New file.
58462         * lib/unictype/sy_java_whitespace.c: New file.
58463
58464         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58465         Unicode 5.0.0.
58466         * lib/unictype/blocks.h: Likewise.
58467         * lib/unictype/categ_C.h: Likewise.
58468         * lib/unictype/categ_Cc.h: Likewise.
58469         * lib/unictype/categ_Cf.h: Likewise.
58470         * lib/unictype/categ_Cn.h: Likewise.
58471         * lib/unictype/categ_Co.h: Likewise.
58472         * lib/unictype/categ_Cs.h: Likewise.
58473         * lib/unictype/categ_L.h: Likewise.
58474         * lib/unictype/categ_Ll.h: Likewise.
58475         * lib/unictype/categ_Lm.h: Likewise.
58476         * lib/unictype/categ_Lo.h: Likewise.
58477         * lib/unictype/categ_Lt.h: Likewise.
58478         * lib/unictype/categ_Lu.h: Likewise.
58479         * lib/unictype/categ_M.h: Likewise.
58480         * lib/unictype/categ_Mc.h: Likewise.
58481         * lib/unictype/categ_Me.h: Likewise.
58482         * lib/unictype/categ_Mn.h: Likewise.
58483         * lib/unictype/categ_N.h: Likewise.
58484         * lib/unictype/categ_Nd.h: Likewise.
58485         * lib/unictype/categ_Nl.h: Likewise.
58486         * lib/unictype/categ_No.h: Likewise.
58487         * lib/unictype/categ_P.h: Likewise.
58488         * lib/unictype/categ_Pc.h: Likewise.
58489         * lib/unictype/categ_Pd.h: Likewise.
58490         * lib/unictype/categ_Pe.h: Likewise.
58491         * lib/unictype/categ_Pf.h: Likewise.
58492         * lib/unictype/categ_Pi.h: Likewise.
58493         * lib/unictype/categ_Po.h: Likewise.
58494         * lib/unictype/categ_Ps.h: Likewise.
58495         * lib/unictype/categ_S.h: Likewise.
58496         * lib/unictype/categ_Sc.h: Likewise.
58497         * lib/unictype/categ_Sk.h: Likewise.
58498         * lib/unictype/categ_Sm.h: Likewise.
58499         * lib/unictype/categ_So.h: Likewise.
58500         * lib/unictype/categ_Z.h: Likewise.
58501         * lib/unictype/categ_Zl.h: Likewise.
58502         * lib/unictype/categ_Zp.h: Likewise.
58503         * lib/unictype/categ_Zs.h: Likewise.
58504         * lib/unictype/categ_of.h: Likewise.
58505         * lib/unictype/combining.h: Likewise.
58506         * lib/unictype/ctype_alnum.h: Likewise.
58507         * lib/unictype/ctype_alpha.h: Likewise.
58508         * lib/unictype/ctype_blank.h: Likewise.
58509         * lib/unictype/ctype_cntrl.h: Likewise.
58510         * lib/unictype/ctype_digit.h: Likewise.
58511         * lib/unictype/ctype_graph.h: Likewise.
58512         * lib/unictype/ctype_lower.h: Likewise.
58513         * lib/unictype/ctype_print.h: Likewise.
58514         * lib/unictype/ctype_punct.h: Likewise.
58515         * lib/unictype/ctype_space.h: Likewise.
58516         * lib/unictype/ctype_upper.h: Likewise.
58517         * lib/unictype/ctype_xdigit.h: Likewise.
58518         * lib/unictype/decdigit.h: Likewise.
58519         * lib/unictype/digit.h: Likewise.
58520         * lib/unictype/mirror.h: Likewise.
58521         * lib/unictype/numeric.h: Likewise.
58522         * lib/unictype/pr_alphabetic.h: Likewise.
58523         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58524         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58525         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58526         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58527         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58528         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58529         * lib/unictype/pr_bidi_control.h: Likewise.
58530         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58531         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58532         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58533         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58534         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58535         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58536         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58537         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58538         * lib/unictype/pr_bidi_pdf.h: Likewise.
58539         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58540         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58541         * lib/unictype/pr_combining.h: Likewise.
58542         * lib/unictype/pr_composite.h: Likewise.
58543         * lib/unictype/pr_currency_symbol.h: Likewise.
58544         * lib/unictype/pr_dash.h: Likewise.
58545         * lib/unictype/pr_decimal_digit.h: Likewise.
58546         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58547         * lib/unictype/pr_deprecated.h: Likewise.
58548         * lib/unictype/pr_diacritic.h: Likewise.
58549         * lib/unictype/pr_extender.h: Likewise.
58550         * lib/unictype/pr_format_control.h: Likewise.
58551         * lib/unictype/pr_grapheme_base.h: Likewise.
58552         * lib/unictype/pr_grapheme_extend.h: Likewise.
58553         * lib/unictype/pr_grapheme_link.h: Likewise.
58554         * lib/unictype/pr_hex_digit.h: Likewise.
58555         * lib/unictype/pr_hyphen.h: Likewise.
58556         * lib/unictype/pr_id_continue.h: Likewise.
58557         * lib/unictype/pr_id_start.h: Likewise.
58558         * lib/unictype/pr_ideographic.h: Likewise.
58559         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58560         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58561         * lib/unictype/pr_ignorable_control.h: Likewise.
58562         * lib/unictype/pr_iso_control.h: Likewise.
58563         * lib/unictype/pr_join_control.h: Likewise.
58564         * lib/unictype/pr_left_of_pair.h: Likewise.
58565         * lib/unictype/pr_line_separator.h: Likewise.
58566         * lib/unictype/pr_logical_order_exception.h: Likewise.
58567         * lib/unictype/pr_lowercase.h: Likewise.
58568         * lib/unictype/pr_math.h: Likewise.
58569         * lib/unictype/pr_non_break.h: Likewise.
58570         * lib/unictype/pr_not_a_character.h: Likewise.
58571         * lib/unictype/pr_numeric.h: Likewise.
58572         * lib/unictype/pr_other_alphabetic.h: Likewise.
58573         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58574         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58575         * lib/unictype/pr_other_id_continue.h: Likewise.
58576         * lib/unictype/pr_other_id_start.h: Likewise.
58577         * lib/unictype/pr_other_lowercase.h: Likewise.
58578         * lib/unictype/pr_other_math.h: Likewise.
58579         * lib/unictype/pr_other_uppercase.h: Likewise.
58580         * lib/unictype/pr_paired_punctuation.h: Likewise.
58581         * lib/unictype/pr_paragraph_separator.h: Likewise.
58582         * lib/unictype/pr_pattern_syntax.h: Likewise.
58583         * lib/unictype/pr_pattern_white_space.h: Likewise.
58584         * lib/unictype/pr_private_use.h: Likewise.
58585         * lib/unictype/pr_punctuation.h: Likewise.
58586         * lib/unictype/pr_quotation_mark.h: Likewise.
58587         * lib/unictype/pr_radical.h: Likewise.
58588         * lib/unictype/pr_sentence_terminal.h: Likewise.
58589         * lib/unictype/pr_soft_dotted.h: Likewise.
58590         * lib/unictype/pr_space.h: Likewise.
58591         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58592         * lib/unictype/pr_titlecase.h: Likewise.
58593         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58594         * lib/unictype/pr_unified_ideograph.h: Likewise.
58595         * lib/unictype/pr_uppercase.h: Likewise.
58596         * lib/unictype/pr_variation_selector.h: Likewise.
58597         * lib/unictype/pr_white_space.h: Likewise.
58598         * lib/unictype/pr_xid_continue.h: Likewise.
58599         * lib/unictype/pr_xid_start.h: Likewise.
58600         * lib/unictype/pr_zero_width.h: Likewise.
58601         * lib/unictype/scripts.h: Likewise.
58602         * lib/unictype/scripts_byname.gperf: Likewise.
58603         * lib/unictype/sy_c_ident.h: Likewise.
58604         * lib/unictype/sy_c_whitespace.h: Likewise.
58605         * lib/unictype/sy_java_ident.h: Likewise.
58606         * lib/unictype/sy_java_whitespace.h: Likewise.
58607
58608         * lib/unictype/Makefile: New file.
58609         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58610         glibc.
58611         * lib/unictype/3level.h: New file, copied from glibc.
58612         * lib/unictype/3levelbit.h: New file.
58613
58614 2007-11-11  Bruno Haible  <bruno@clisp.org>
58615
58616         * modules/gperf: New file.
58617         * modules/iconv_open (Depends-on): Add it.
58618         (Makefile.am): Remove the GPERF definition.
58619
58620 2007-11-11  Bruno Haible  <bruno@clisp.org>
58621
58622         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58623         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58624
58625 2007-11-11  Bruno Haible  <bruno@clisp.org>
58626
58627         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58628         (usage): Remove function.
58629
58630 2007-11-11  Bruno Haible  <bruno@clisp.org>
58631
58632         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58633         gl_FUNC_CEILF_LIBS.
58634         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58635         gl_FUNC_CEIL_LIBS.
58636         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58637         gl_FUNC_CEILL_LIBS.
58638         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58639         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58640         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58641
58642 2007-11-11  Bruno Haible  <bruno@clisp.org>
58643
58644         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58645         roundf were declared but do not exist on functions.
58646         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58647         roundl were declared but do not exist on functions.
58648         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58649         HAVE_FLOORL_AND_CEILL, respectively.
58650         Needed for Sun C on Solaris 10.
58651
58652 2007-11-11  Bruno Haible  <bruno@clisp.org>
58653
58654         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58655         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58656         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58657         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58658         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58659         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58660         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58661         HAVE_DECL_ROUNDF.
58662         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58663         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58664         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58665         of HAVE_DECL_ROUND*.
58666         * modules/math (Makefile.am): Update.
58667
58668 2007-11-10  Bruno Haible  <bruno@clisp.org>
58669
58670         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58671         ptrdiff_t as m4/intl.m4.
58672
58673 2007-11-10  Jim Meyering  <meyering@redhat.com>
58674
58675         Avoid link failure for the argmatch test.
58676         * tests/test-argmatch.c (usage): Define function to avoid a link
58677         failure: argmatch_die requires a usage function.
58678
58679 2007-11-09  Bruno Haible  <bruno@clisp.org>
58680
58681         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58682         * doc/functions/vsnprintf.texi: Likewise.
58683         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58684         with a size argument < 2.
58685
58686 2007-11-09  Bruno Haible  <bruno@clisp.org>
58687
58688         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58689         buffer. Fixes an inefficiency introduced on 2007-11-03.
58690
58691 2007-11-09  Bruno Haible  <bruno@clisp.org>
58692
58693         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58694         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58695
58696 2007-11-08  Jim Meyering  <meyering@redhat.com>
58697
58698         Change cache variable name prefix "jm_" to "gl_" everywhere.
58699         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58700         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58701         * m4/uptime.m4: s/gl_/jm_/
58702
58703 2007-11-07  Bruno Haible  <bruno@clisp.org>
58704
58705         Update to GNU gettext 0.17.
58706         * m4/intl.m4: Update to GNU gettext 0.17.
58707         * m4/po.m4: Likewise.
58708         * modules/gettext (Files): Remove m4/ulonglong.m4.
58709         (configure.ac): Require gettext infrastructure from version 0.17.
58710
58711 2007-11-06  Bruno Haible  <bruno@clisp.org>
58712
58713         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58714         symbolic values are not defined in a public header.
58715         * lib/freadable.c (freadable) [QNX]: Likewise.
58716         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58717         * lib/freading.c (freading) [QNX]: Likewise.
58718         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58719         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58720         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58721         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58722         Reported by Alain Magloire.
58723
58724         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58725
58726 2007-11-05  Bruno Haible  <bruno@clisp.org>
58727
58728         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58729         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58730         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58731         Reported by Eric Blake.
58732
58733 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58734             Bruno Haible  <bruno@clisp.org>
58735
58736         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58737         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58738         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58739         (malloc): Undefine also before including <stdlib.h>.
58740         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58741         Needed on OSF/1 4.0.
58742
58743 2007-11-05  Jim Meyering  <meyering@redhat.com>
58744
58745         git-version-gen: sync from coreutils.
58746         * build-aux/git-version-gen: Add comments.
58747         Change the first '-' to '.' in the snapshot version string,
58748         e.g., 6.9-377-08144 -> 6.9.377-08144
58749         Remove first parameter.
58750         Don't declare a version "-dirty" merely because a time
58751         stamp has changed.
58752
58753 2007-11-04  Bruno Haible  <bruno@clisp.org>
58754
58755         * lib/lock.h: Protect all macro definitions containing an 'if'
58756         statement through a "do { ... } while (0)".
58757         * lib/tls.h: Likewise.
58758
58759 2007-11-04  Bruno Haible  <bruno@clisp.org>
58760
58761         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58762
58763 2007-11-04  Bruno Haible  <bruno@clisp.org>
58764
58765         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58766         * modules/fprintf-posix (Depends-on): Add nocrash.
58767         * modules/snprintf-posix (Depends-on): Likewise.
58768         * modules/sprintf-posix (Depends-on): Likewise.
58769         * modules/vasnprintf-posix (Depends-on): Likewise.
58770         * modules/vasprintf-posix (Depends-on): Likewise.
58771         * modules/vfprintf-posix (Depends-on): Likewise.
58772         * modules/vsnprintf-posix (Depends-on): Likewise.
58773         * modules/vsprintf-posix (Depends-on): Likewise.
58774         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58775         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58776         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58777         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58778         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58779         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58780         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58781
58782 2007-11-04  Bruno Haible  <bruno@clisp.org>
58783
58784         * modules/nocrash: New file.
58785         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58786         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58787
58788 2007-11-04  Bruno Haible  <bruno@clisp.org>
58789
58790         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58791         precision handling.
58792         * tests/test-vasprintf-posix.c (test_function): Likewise.
58793         * tests/test-snprintf-posix.h (test_function): Likewise.
58794         * tests/test-sprintf-posix.h (test_function): Likewise.
58795
58796         Fix *printf behaviour for large precisions on mingw and BeOS.
58797         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58798         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58799         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58800         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58801         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58802         gl_PRINTF_PRECISION and test its result. Invoke
58803         gl_PREREQ_VASNPRINTF_PRECISION.
58804         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58805         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58806         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58807         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58808         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58809         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58810         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58811         * doc/functions/fprintf.texi: Update.
58812         * doc/functions/printf.texi: Update.
58813         * doc/functions/snprintf.texi: Update.
58814         * doc/functions/sprintf.texi: Update.
58815         * doc/functions/vfprintf.texi: Update.
58816         * doc/functions/vprintf.texi: Update.
58817         * doc/functions/vsnprintf.texi: Update.
58818         * doc/functions/vsprintf.texi: Update.
58819
58820 2007-11-04  Bruno Haible  <bruno@clisp.org>
58821
58822         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58823
58824 2007-11-04  Bruno Haible  <bruno@clisp.org>
58825
58826         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58827         Reported by Sylvain Beucler <beuc@gnu.org>.
58828
58829 2007-11-03  Bruno Haible  <bruno@clisp.org>
58830
58831         * tests/test-fprintf-posix2.sh: New file.
58832         * tests/test-fprintf-posix2.c: New file.
58833         * modules/fprintf-posix-tests (Files): Add them.
58834         (TESTS): Add test-fprintf-posix2.sh.
58835         (configure.ac): Check for getrlimit and setrlimit.
58836         (check_PROGRAMS): Add test-fprintf-posix2.
58837
58838         * tests/test-printf-posix2.sh: New file.
58839         * tests/test-printf-posix2.c: New file.
58840         * modules/printf-posix-tests (Files): Add them.
58841         (TESTS): Add test-printf-posix2.sh.
58842         (configure.ac): Check for getrlimit and setrlimit.
58843         (check_PROGRAMS): Add test-printf-posix2.
58844
58845         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58846         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58847         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58848         (decode_double): New function, copied from decode_long_double.
58849         (scale10_round_decimal_decoded): New function, extracted from
58850         scale10_round_decimal_long_double.
58851         (scale10_round_decimal_long_double): Use it.
58852         (scale10_round_decimal_double): New function.
58853         (floorlog10): New function.
58854         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58855         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58856         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58857         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58858         gl_PRINTF_ENOMEM and test its result. Invoke
58859         gl_PREREQ_VASNPRINTF_ENOMEM.
58860         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58861         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58862         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58863         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58864         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58865         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58866         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58867         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58868         * modules/snprintf-posix (Depends-on): Likewise.
58869         * modules/sprintf-posix (Depends-on): Likewise.
58870         * modules/vasnprintf-posix (Depends-on): Likewise.
58871         * modules/vasprintf-posix (Depends-on): Likewise.
58872         * modules/vfprintf-posix (Depends-on): Likewise.
58873         * modules/vsnprintf-posix (Depends-on): Likewise.
58874         * modules/vsprintf-posix (Depends-on): Likewise.
58875         * doc/functions/fprintf.texi: Update.
58876         * doc/functions/printf.texi: Update.
58877         * doc/functions/snprintf.texi: Update.
58878         * doc/functions/sprintf.texi: Update.
58879         * doc/functions/vfprintf.texi: Update.
58880         * doc/functions/vprintf.texi: Update.
58881         * doc/functions/vsnprintf.texi: Update.
58882         * doc/functions/vsprintf.texi: Update.
58883
58884 2007-11-03  Bruno Haible  <bruno@clisp.org>
58885
58886         * modules/frexp-nolibm-tests: New file.
58887
58888         * modules/frexp-nolibm: New file.
58889         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58890
58891 2007-11-03  Bruno Haible  <bruno@clisp.org>
58892
58893         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58894         value is C99 compliant.
58895         Needed for OSF/1 5.1.
58896
58897 2007-11-03  Bruno Haible  <bruno@clisp.org>
58898
58899         Fix out-of-memory handling of vasnprintf.
58900         * lib/printf-parse.c: Include <errno.h>.
58901         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58902         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58903         is already set.
58904
58905 2007-11-02  Eric Blake  <ebb9@byu.net>
58906
58907         Fix tests on cygwin.
58908         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58909
58910 2007-11-01  Bruno Haible  <bruno@clisp.org>
58911
58912         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58913         warning.
58914         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58915         needed for POSIX compatibility.
58916
58917 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58918
58919         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58920         for compatibility with GNU.
58921
58922 2007-11-01  Bruno Haible  <bruno@clisp.org>
58923
58924         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58925         (putenv): Renamed from rpl_putenv. Change argument type from
58926         'const char *' to 'char *'.
58927         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58928         of defining putenv in config.h, just set REPLACE_PUTENV.
58929         * modules/putenv (Depends-on): Add stdlib.
58930         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58931         (Include): Use <stdlib.h>.
58932         * lib/stdlib.in.h (putenv): New declaration.
58933         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58934         REPLACE_PUTENV.
58935         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58936         REPLACE_PUTENV.
58937         Needed for MacOS X 10.5.0.
58938         Reported by Peter O'Gorman <peter@pogma.com>.
58939
58940 2007-11-01  Jim Meyering  <meyering@redhat.com>
58941
58942         Treat an empty date string exactly like "0".
58943         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58944         if the remaining date string (to be parsed) is empty, use "0".
58945         Reported by Mischa Molhoek and discussed in this thread:
58946         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58947
58948 2007-10-31  Bruno Haible  <bruno@clisp.org>
58949
58950         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58951         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58952         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58953         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58954         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58955         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58956
58957 2007-10-31  Bruno Haible  <bruno@clisp.org>
58958
58959         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58960         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58961         (AC_TYPE_LONG_LONG_INT): Use it.
58962         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58963         it as well.
58964         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58965         to m4/longlong.m4.
58966         * modules/stdint (Files): Remove m4/ulonglong.m4.
58967         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58968         m4/ulonglong.m4.
58969         * modules/strtoumax (Files): Likewise.
58970
58971 2007-10-30  Bruno Haible  <bruno@clisp.org>
58972
58973         * modules/xvasprintf-posix: New file.
58974         Suggested by Eric Blake.
58975
58976 2007-10-30  Bruno Haible  <bruno@clisp.org>
58977
58978         * modules/xprintf-posix-tests: New file.
58979         * tests/test-xprintf-posix.sh: New file.
58980         * tests/test-xprintf-posix.c: New file.
58981         * tests/test-xfprintf-posix.c: New file.
58982
58983         * modules/xprintf-posix: New file.
58984
58985 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58986
58987         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58988         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58989         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58990
58991 2007-10-29  Bruno Haible  <bruno@clisp.org>
58992
58993         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58994         contain the special marker '_cv_'.
58995         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58996         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58997         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58998         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58999         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
59000         Reported by Ralf Wildenhues.
59001
59002 2007-10-29  Bruno Haible  <bruno@clisp.org>
59003
59004         * gnulib-tool (func_import): When --lgpl is not specified, set
59005         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
59006         GPLv3.
59007         Reported by Simon Josefsson.
59008
59009 2007-10-28  Bruno Haible  <bruno@clisp.org>
59010
59011         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
59012         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
59013         HAVE_DECL_ISFINITE.
59014         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59015         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
59016         HAVE_DECL_ISFINITE.
59017
59018 2007-10-28  Bruno Haible  <bruno@clisp.org>
59019
59020         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
59021         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
59022
59023 2007-10-28  Bruno Haible  <bruno@clisp.org>
59024
59025         Fix link errors with Sun C 5.0 on Solaris 10.
59026         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
59027         function is declared but not present in the compiler's libm.
59028         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
59029         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
59030         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
59031         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
59032         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
59033         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
59034         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
59035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
59036         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
59037         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
59038         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
59039         HAVE_DECL_FLOORL.
59040
59041 2007-10-28  Bruno Haible  <bruno@clisp.org>
59042
59043         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
59044         gl_FUNC_FLOORL. Cache the result.
59045         (gl_FUNC_FLOORL): Use it.
59046         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
59047         gl_FUNC_CEILL. Cache the result.
59048         (gl_FUNC_CEILL): Use it.
59049
59050         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
59051         gl_FUNC_FLOOR. Cache the result.
59052         (gl_FUNC_FLOOR): Use it.
59053         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
59054         gl_FUNC_CEIL. Cache the result.
59055         (gl_FUNC_CEIL): Use it.
59056
59057         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
59058         gl_FUNC_FLOORF. Cache the result.
59059         (gl_FUNC_FLOORF): Use it.
59060         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
59061         gl_FUNC_CEILF. Cache the result.
59062         (gl_FUNC_CEILF): Use it.
59063
59064 2007-10-28  Bruno Haible  <bruno@clisp.org>
59065
59066         * gnulib-tool: Allow specifying the LGPL version number through
59067         --lgpl=2 or --lgpl=3.
59068         (func_usage): Document --lgpl with argument.
59069         Handle --lgpl=... arguments.
59070         (func_import): Recognize also gl_LGPL calls with an argument. When
59071         --lgpl=2 is used and the module's license is just LGPL, report an
59072         error. Set sed_transform_lib_file according to the lgpl variable. In
59073         the generated files, use --lgpl or gl_LGPL invocations with argument,
59074         if necessary.
59075         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
59076         an LGPv2+ license.
59077         * doc/gnulib-tool.texi (Modified imports): Update explanation of
59078         gl_LGPL macro.
59079
59080 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59081             Bruno Haible  <bruno@clisp.org>
59082
59083         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
59084         (u16_uctomb_aux): Likewise.
59085         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
59086         !HAVE_INLINE.
59087         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
59088
59089 2007-10-28  Bruno Haible  <bruno@clisp.org>
59090
59091         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
59092         Invoke AM_GETTEXT_OPTION if it exists.
59093         * modules/vasprintf: Likewise.
59094         * modules/verror: Likewise.
59095         * modules/xprintf: Likewise.
59096         * modules/xvasprintf: Likewise.
59097
59098 2007-10-27  Ben Pfaff  <blp@gnu.org>
59099
59100         * lib/math.in.h: Define isfinite macro and prototypes for
59101         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
59102         implementations.
59103         * m4/math_h.m4: New substitutions for isfinite module.
59104         * lib/isfinite.c: New file.
59105         * m4/isfinite.m4: New file.
59106         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
59107         * modules/isfinite: New file.
59108         * modules/isfinite-tests: New file.
59109         * tests/tests-isfinite.c: New file.
59110         * doc/functions/isfinite.texi: Mention isfinite module.
59111         * MODULES.html.sh: Mention new module.
59112
59113 2007-10-27  Ben Pfaff  <blp@gnu.org>
59114
59115         Ralf Wildenhues reported that Tru64 4.0D declares the round
59116         functions but does not have definitions.
59117         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
59118         cannot be found in any library, set the output variable to
59119         "missing" instead of "".
59120         * m4/round.m4: Also use our substitute if we cannot find round in
59121         any library, even if it is declared.
59122         * m4/roundf.m4: Likewise for roundf.
59123         * m4/roundl.m4: Likewise for roundl.
59124         * lib/math.in.h: Undefine roundf, round, roundl before defining
59125         their replacements, to allow for hypothetical systems where these
59126         may be defined as macros but not available in libraries.
59127
59128 2007-10-27  Bruno Haible  <bruno@clisp.org>
59129
59130         * doc/gnulib.texi: Invoke @firstparagraphindent.
59131         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
59132         changes in gnulib.
59133         (Source changes): New section.
59134
59135 2007-10-26  Bruno Haible  <bruno@clisp.org>
59136
59137         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
59138         borrowed from autoconf.
59139
59140 2007-10-26  Bruno Haible  <bruno@clisp.org>
59141
59142         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
59143         strerror returned the empty string. Needed on HP-UX 11.00.
59144
59145 2007-10-24  Micah Cowan  <micah@cowan.name>
59146
59147         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
59148         * build-aux/bootstrap: Remove support for now-unnecessary option,
59149         --cvs-user, and envvars CVS_USER, CVS_RSH.
59150
59151 2007-10-24  Jim Meyering  <meyering@redhat.com>
59152
59153         Avoid diagnostics from sha1sum when there is no cached checksum.
59154         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
59155         if the po.s1 file hasn't been created yet.
59156
59157         * build-aux/bootstrap: Sync from coreutils:
59158         2007-10-24  Jim Meyering  <meyering@redhat.com>
59159         Get gnulib from the git repository, not from an obsolete cvs one.
59160         * build-aux/bootstrap: Suggestion from Micah Cowan.
59161         2007-10-04  Jim Meyering  <jim@meyering.net>
59162         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
59163         (update_po_files): Work also when there are no .po files in po/.
59164
59165 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
59166
59167         * README: Append ".git" to git and cg examples.
59168         Problem reported by Benoit Sigoure.
59169
59170 2007-10-23  Micah Cowan  <micah@cowan.name>
59171
59172         * users.txt: Add wget.
59173
59174 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59175
59176         Fix linking of some unistdio tests on FreeBSD.
59177         * modules/unistdio/u16-vsnprintf-tests
59178         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
59179         * modules/unistdio/u16-vsprintf-tests
59180         (test_u16_vsnprintf1_LDADD): Likewise.
59181         * modules/unistdio/u32-vsnprintf-tests
59182         (test_u32_vsnprintf1_LDADD): Likewise.
59183         * modules/unistdio/u32-vsprintf-tests
59184         (test_u32_vsprintf1_LDADD): Likewise.
59185         * modules/unistdio/u8-vsnprintf-tests
59186         (test_u8_vsnprintf1_LDADD): Likewise.
59187         * modules/unistdio/u8-vsprintf-tests
59188         (test_u8_vsprintf1_LDADD): Likewise.
59189         * modules/unistdio/ulc-vsnprintf-tests
59190         (test_ulc_vsnprintf1_LDADD): Likewise.
59191         * modules/unistdio/ulc-vsprintf-tests
59192         (test_ulc_vsprintf1_LDADD): Likewise.
59193
59194         Fix linking of some uniconv tests on FreeBSD.
59195         * modules/uniconv/u16-conv-from-enc-tests
59196         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
59197         * modules/uniconv/u16-conv-to-enc-tests
59198         (test_u16_conv_to_enc_LDADD): Likewise.
59199         * modules/uniconv/u16-strconv-from-enc-tests
59200         (test_u16_strconv_from_enc_LDADD): Likewise.
59201         * modules/uniconv/u16-strconv-to-enc-tests
59202         (test_u16_strconv_to_enc_LDADD): Likewise.
59203         * modules/uniconv/u32-conv-from-enc-tests
59204         (test_u32_conv_from_enc_LDADD): Likewise.
59205         * modules/uniconv/u32-conv-to-enc-tests
59206         (test_u32_conv_to_enc_LDADD): Likewise.
59207         * modules/uniconv/u32-strconv-from-enc-tests
59208         (test_u32_strconv_from_enc_LDADD): Likewise.
59209         * modules/uniconv/u32-strconv-to-enc-tests
59210         (test_u32_strconv_to_enc_LDADD): Likewise.
59211         * modules/uniconv/u8-conv-from-enc-tests
59212         (test_u8_conv_from_enc_LDADD): Likewise.
59213         * modules/uniconv/u8-conv-to-enc-tests
59214         (test_u8_conv_to_enc_LDADD): Likewise.
59215         * modules/uniconv/u8-strconv-from-enc-tests
59216         (test_u8_strconv_from_enc_LDADD): Likewise.
59217         * modules/uniconv/u8-strconv-to-enc-tests
59218         (test_u8_strconv_to_enc_LDADD): Likewise.
59219
59220 2007-10-22  Bruno Haible  <bruno@clisp.org>
59221
59222         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
59223         size.
59224
59225 2007-10-22  Eric Blake  <ebb9@byu.net>
59226
59227         Tweak x*printf documentation.
59228         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
59229         variable name and comments.
59230         Suggested by Bruno Haible.
59231
59232 2007-10-22  Bruno Haible  <bruno@clisp.org>
59233
59234         * lib/acl.c (copy_acl): Fix file name in comment.
59235
59236 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59237
59238         Fix Tru64 problem with stdbool.h.
59239         * lib/stdbool.in.h (false, true):
59240         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
59241         Don't declare as an enum in this situation; it runs afoul of Tru64.
59242         Problem reported by Steven M. Schweda in
59243         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
59244
59245 2007-10-22  Eric Blake  <ebb9@byu.net>
59246
59247         Also wrap vf?printf.
59248         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
59249         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
59250         (xvprintf, xvfprintf): New functions.
59251
59252 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59253
59254         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
59255         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
59256
59257         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
59258         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
59259
59260 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
59261
59262         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
59263         by Bruno Haible.
59264
59265 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59266
59267         * lib/getloadavg.c
59268         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
59269         Undef `sys' after including sys/table.h, for Tru64 4.0D.
59270
59271         * tests/test-i-ring.c: Work for C89.
59272
59273 2007-10-22  Bruno Haible  <bruno@clisp.org>
59274
59275         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
59276         -1u, in preprocessor expression, so that we don't test for the bug
59277         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
59278         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
59279
59280 2007-10-22  Eric Blake  <ebb9@byu.net>
59281
59282         * tests/test-yesno.sh: Silence stderr during test.
59283
59284 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59285
59286         * modules/crypto/gc-camellia: New file.
59287
59288         * m4/gc-camellia.m4: New file.
59289
59290         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
59291
59292         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
59293
59294 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59295
59296         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
59297         --help to stdout.  Reported by sms@antinode.org (Steven
59298         M. Schweda).
59299
59300 2007-10-22  Simon Josefsson  <simon@josefsson.org>
59301
59302         * users.txt: Fix link to libksba.
59303
59304 2007-10-21  Ben Pfaff  <blp@gnu.org>
59305
59306         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
59307         round.c roundf implementation that depends on floorf and ceilf to
59308         be tested unconditionally.
59309
59310 2007-10-21  Ben Pfaff  <blp@gnu.org>
59311
59312         * m4/check-libm-func.m4: Removed.
59313         * m4/check-math-lib.m4: New file.
59314         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
59315         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
59316         definition and lack of AC_LIBOBJ([roundf]).
59317         * m4/roundl.m4: Ditto, and similarly for roundl.
59318         * modules/round: Reference new m4 file.
59319         * modules/roundf: Ditto.
59320         * modules/roundl: Ditto.
59321         * tests/test-round2.c (main): Use ROUND instead of round.
59322         Bug report from Bruno Haible.
59323
59324 2007-10-21  Bruno Haible  <bruno@clisp.org>
59325
59326         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
59327         context.
59328
59329 2007-10-21  Bruno Haible  <bruno@clisp.org>
59330
59331         * tests/test-wcwidth.c (main): Allow negative result for some control
59332         characters.
59333
59334         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
59335         Needed on OSF/1 5.1.
59336
59337 2007-10-21  Bruno Haible  <bruno@clisp.org>
59338
59339         * tests/test-floorf1.c: Include isnanf.h.
59340         (main): Use isnanf() instead of isnan().
59341         * tests/test-ceilf1.c: Include isnanf.h.
59342         (main): Use isnanf() instead of isnan().
59343         * tests/test-truncf1.c: Include isnanf.h.
59344         (main): Use isnanf() instead of isnan().
59345         * tests/test-roundf1.c: Include isnanf.h.
59346         (main): Use isnanf() instead of isnan().
59347
59348 2007-10-21  Eric Blake  <ebb9@byu.net>
59349
59350         * users.txt: Update URL for m4.
59351
59352 2007-10-21  Bruno Haible  <bruno@clisp.org>
59353
59354         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
59355
59356 2007-10-21  Bruno Haible  <bruno@clisp.org>
59357
59358         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
59359         Git's management files if the CVS files are not present.
59360
59361 2007-10-20  Bruno Haible  <bruno@clisp.org>
59362
59363         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
59364         gcc-3.4.x.
59365
59366 2007-10-20  Ben Pfaff  <blp@gnu.org>
59367
59368         * lib/math.in.h: Declare round, roundf, roundl if we are providing
59369         implementations.
59370         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
59371         * lib/round.c: New file.
59372         * lib/roundf.c: New file.
59373         * lib/roundl.c: New file.
59374         * m4/round.m4: New file.
59375         * m4/roundf.m4: New file.
59376         * m4/roundl.m4: New file.
59377         * m4/check-libm-func-m4: New file.
59378         * modules/math: Replace round, roundf, roundl related @VARS@ in
59379         math.in.h.
59380         * modules/round: New file.
59381         * modules/round-tests: New file.
59382         * modules/roundf: New file.
59383         * modules/roundf-tests: New file.
59384         * modules/roundl: New file.
59385         * modules/roundl-tests: New file.
59386         * tests/test-round1.c: New file.
59387         * tests/test-round2.c: New file.
59388         * tests/test-roundf1.c: New file.
59389         * tests/test-roundf2.c: New file.
59390         * tests/test-roundl.c: New file.
59391         * doc/functions/round.texi: Mention round module.
59392         * doc/functions/roundf.texi: Mention roundf module.
59393         * doc/functions/roundl.texi: Mention roundl module.
59394         * MODULES.html.sh: Mention new modules.
59395         Thanks to Bruno Haible for suggestions.
59396
59397 2007-10-20  Jim Meyering  <meyering@redhat.com>
59398
59399         * lib/xprintf.c: Include <config.h> unconditionally.
59400
59401         Change xprintf's license to GPL.
59402         * modules/xprintf (License): s/LGPL/GPL/, since this module
59403         depends on modules (exit and exitfail) which are GPL.
59404         Suggestion from Bruno Haible.
59405
59406         xprintf fixes.
59407         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
59408         Use a clearer diagnostic.
59409         Patch from Bruno Haible.
59410
59411 2007-10-20  Bruno Haible  <bruno@clisp.org>
59412
59413         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
59414         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
59415         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59416
59417 2007-10-20  Bruno Haible  <bruno@clisp.org>
59418
59419         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
59420         precision in the comparison result > x - 1 or similar.
59421         * tests/test-ceilf2.c (correct_result_p): Likewise.
59422         * tests/test-truncf2.c (correct_result_p): Likewise.
59423         * tests/test-trunc2.c (correct_result_p): Likewise.
59424         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59425
59426 2007-10-20  Bruno Haible  <bruno@clisp.org>
59427
59428         * modules/ceil: New file.
59429         * m4/ceil.m4: New file.
59430         * doc/functions/ceil.texi: Mention the 'ceil' module.
59431
59432 2007-10-20  Bruno Haible  <bruno@clisp.org>
59433
59434         * modules/floor: New file.
59435         * m4/floor.m4: New file.
59436         * doc/functions/floor.texi: Mention the 'floor' module.
59437
59438 2007-10-20  Bruno Haible  <bruno@clisp.org>
59439
59440         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59441         of %a.
59442         * modules/floorf-tests (Depends-on): Likewise.
59443         * modules/truncf-tests (Depends-on): Likewise.
59444         * modules/trunc-tests (Depends-on): Likewise.
59445         Reported by Ben Pfaff.
59446
59447 2007-10-19  Jim Meyering  <meyering@redhat.com>
59448
59449         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59450         Don't bother testing specific errno values.  Just test ferror.
59451
59452         New module: xprintf
59453         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59454
59455 2007-10-19  Bruno Haible  <bruno@clisp.org>
59456
59457         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59458         syntax.
59459         * modules/javaexec (Makefile.am): Likewise.
59460         * modules/relocatable-prog (Makefile.am): Likewise.
59461         Suggested by Jim Meyering.
59462
59463 2007-10-18  Bruno Haible  <bruno@clisp.org>
59464
59465         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59466         Reported by Jim Meyering.
59467
59468 2007-10-18  Eric Blake  <ebb9@byu.net>
59469
59470         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59471
59472 2007-10-18  Bruno Haible  <bruno@clisp.org>
59473
59474         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59475         the format string into writable memory. Needed in Fortify conditions.
59476
59477 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59478             Bruno Haible  <bruno@clisp.org>
59479
59480         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59481         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59482         * modules/trim (Depends-on): Add mbchar.
59483         (configure.ac): Add gl_FUNC_MBRTOWC.
59484         (Makefile.am): Augment lib_SOURCES.
59485
59486 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59487
59488         Modify glob.c to use fstatat and dirfd, to simplify it.
59489         Suggested by Eric Blake.
59490         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59491         Don't include <stdbool.h>; not used.
59492         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59493         (link_exists_p): Simplify implementation, since we can now assume
59494         dirfd and fstatat.
59495         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59496
59497 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59498
59499         * gnulib-tool (func_get_dependencies): Fix sed script to
59500         match only tests.
59501
59502 2007-10-17  Bruno Haible  <bruno@clisp.org>
59503
59504         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59505         allow locale names without encoding suffix.
59506         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59507         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59508
59509 2007-10-16  Bruno Haible  <bruno@clisp.org>
59510
59511         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59512         * lib/getgroups.c (getgroups): Likewise.
59513         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59514
59515 2007-10-16  Bruno Haible  <bruno@clisp.org>
59516
59517         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59518         * modules/malloc-posix (License): Likewise.
59519         * modules/realloc-posix (License): Likewise.
59520         * modules/calloc-posix (License): Likewise.
59521         * modules/intprops (License): Change from GPL to LGPL, with
59522         Paul Eggert's approval.
59523
59524 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59525
59526         Merge glibc changes into lib/glob.c.
59527
59528         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59529         2007-10-15 04:59:03 UTC.  Here are the changes:
59530
59531         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59532
59533         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59534
59535         * lib/glob.c: Add some branch prediction throughout.
59536
59537         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59538
59539         [BZ #5103]
59540         * lib/glob.c (glob): Recognize patterns starting \/.
59541
59542         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59543
59544         [BZ #3996]
59545         * lib/glob.c (attribute_hidden): Define if not defined.
59546         (glob): Unescape dirname, filename or username when needed and not
59547         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59548         is NULL.  Handle unescaped [ in pattern without closing ].
59549         Don't pass GLOB_CHECK down to recursive glob for directories.
59550         (__glob_pattern_type): New function.
59551         (__glob_pattern_p): Implement using __glob_pattern_type.
59552         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59553         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59554         Remove unreachable code.
59555
59556         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59557
59558         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59559         explain why there are no leaks.
59560
59561         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59562
59563         [BZ #3253]
59564         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59565         time, rather allocate increasingly bigger arrays of pointers, if
59566         possible with alloca, if too large with malloc.
59567
59568 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59569
59570         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59571         Problem reported by H.Merijn Brand in
59572         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59573         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59574         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59575
59576 2007-10-15  Bruno Haible  <bruno@clisp.org>
59577
59578         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59579         with explicit rpl_ prefix.
59580         * lib/fopen.c (fopen): Likewise.
59581         * lib/freopen.c (freopen): Likewise.
59582         * lib/iconv.c (iconv): Likewise.
59583         * lib/iconv_close.c (iconv_close): Likewise.
59584
59585 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59586
59587         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59588
59589 2007-10-15  Bruno Haible  <bruno@clisp.org>
59590
59591         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59592         <stddef.h> instead of <stdlib.h> since we only need NULL.
59593         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59594
59595 2007-10-15  Bruno Haible  <bruno@clisp.org>
59596
59597         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59598         Replace paragraph talking about LIBOBJS.
59599         Reported by Colin Watson <cjwatson@debian.org>.
59600
59601 2007-10-15  Bruno Haible  <bruno@clisp.org>
59602
59603         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59604         <stdlib.h> before using NULL.
59605
59606 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59607
59608         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59609         Reported by Albert Chin <china@thewrittenword.com>.
59610
59611 2007-10-14  Bruno Haible  <bruno@clisp.org>
59612
59613         * modules/iconv_open-utf-tests: New file.
59614         * tests/test-iconv-utf.c: New file.
59615
59616         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59617         * modules/iconv_open-utf: New file.
59618         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59619         (iconv, iconv_close): New declarations.
59620         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59621         be defined.
59622         (iconv_open): Add special handling of conversion between UTF-8 and
59623         UTF-{16,32}{BE,LE}.
59624         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59625         * lib/iconv_close.c: New file.
59626         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59627         gl_FUNC_ICONV_OPEN.
59628         (gl_FUNC_ICONV_OPEN): Use it.
59629         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59630         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59631         and REPLACE_ICONV_UTF.
59632         * modules/iconv_open (Depends-on): Add c-strcase.
59633         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59634         ICONV_CONST.
59635         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59636
59637 2007-10-13  Albert Chin  <china@thewrittenword.com>
59638             Bruno Haible  <bruno@clisp.org>
59639
59640         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59641         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59642
59643 2007-10-13  Bruno Haible  <bruno@clisp.org>
59644
59645         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59646         defined, use the ISO C99 inline semantics.
59647         * lib/argp.h (ARGP_EI): Likewise.
59648
59649 2007-10-13  Bruno Haible  <bruno@clisp.org>
59650
59651         Handle 'inline' change in gcc 4.3.0.
59652         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59653         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59654         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59655         argp_fmtstream_point): Disable 'extern' declaration if the function
59656         definition is going to be provided inline.
59657         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59658         semantics, not the ISO C99 inline semantics.
59659         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59660         'extern' declaration if the function definition is going to be provided
59661         inline.
59662         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59663         the GNU C inline semantics, not the ISO C99 inline semantics. With
59664         GCC 4.2, avoid a warning.
59665
59666 2007-10-13  Bruno Haible  <bruno@clisp.org>
59667
59668         * lib/freading.h (freading): Enable the use of __freading for
59669         glibc >= 2.7.
59670         * lib/freading.c (freading): Likewise.
59671
59672 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59673
59674         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59675         "warning: C99 inline functions are not supported; using GNU89".
59676
59677 2007-10-12  Bruno Haible  <bruno@clisp.org>
59678
59679         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59680         of 2.
59681         * tests/test-ceilf2.c: New file.
59682         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59683
59684         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59685         * modules/ceilf-tests: Update.
59686
59687 2007-10-12  Bruno Haible  <bruno@clisp.org>
59688
59689         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59690         of 2.
59691         * tests/test-floorf2.c: New file.
59692         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59693
59694         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59695         * modules/floorf-tests: Update.
59696
59697 2007-10-12  Bruno Haible  <bruno@clisp.org>
59698
59699         * tests/test-trunc2.c: New file.
59700         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59701
59702         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59703         * modules/trunc-tests: Update.
59704
59705 2007-10-12  Bruno Haible  <bruno@clisp.org>
59706
59707         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59708         of 2.
59709         * tests/test-truncf2.c: New file.
59710         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59711
59712         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59713         * modules/truncf-tests: Update.
59714
59715 2007-10-11  Eric Blake  <ebb9@byu.net>
59716
59717         Don't claim strerror is broken on Interix.
59718         * doc/functions/strerror.texi (strerror): Known broken systems are
59719         now Solaris 8, and not Interix.
59720         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59721         Interix on cross-compile.
59722         Reported by Martin Koeppe in
59723         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59724
59725 2007-10-11  Bruno Haible  <bruno@clisp.org>
59726
59727         * modules/i-ring-tests: New file.
59728         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59729         instead of assert.
59730
59731 2007-10-11  Bruno Haible  <bruno@clisp.org>
59732
59733         * modules/filenamecat-tests: New file.
59734         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59735         * lib/filenamecat.c: Remove test code.
59736
59737 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59738
59739         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59740
59741         * lib/strerror.c: Include <string.h> always, to test interface,
59742         and to remove the need for the dummy.
59743         Include intprops.h to compute width instead of doing it ourselves
59744         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59745         (strerror): Define it to return NULL if there's no system strerror.
59746         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59747         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59748         ancient pre-strerror Unix systems well any more.  Saying "unknown
59749         system error" is enough.
59750         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59751         simpler strerror.c implementation.
59752         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59753         Simplify the tests to reflect the simpler strerror implementation.
59754         * modules/strerror (Depends-on): Add intprops.
59755
59756 2007-10-09  Eric Blake  <ebb9@byu.net>
59757
59758         Silence test-fpending.
59759         * modules/fpending-tests (Files): Add wrapper script.
59760         * tests/test-fpending.sh: New file.
59761
59762 2007-10-09  Bruno Haible  <bruno@clisp.org>
59763
59764         * MODULES.html.sh (func_module): Don't create a hyperlink for
59765         function names like 'printf_frexp'.
59766         (Misc): Add crc, memxor.
59767         (Characteristics of floating types): New section.
59768         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59769         isnanf-nolibm, signbit, trunc, truncf, truncl.
59770         (Enhancements for ISO C 99 functions): New subsection Input/output.
59771         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59772         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59773         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59774         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59775         (Enhancements for POSIX:2001 functions): Add chdir-long.
59776         (File system functions): Add areadlink, chdir-safer, read-file.
59777         Remove cycle-check.
59778         (File system as inode set): New section.
59779         (Date and time): Add gethrxtime.
59780         (Multithreading): Add openmp.
59781         (Internationalization functions): Add localename.
59782         (Unicode string functions): Add unistr/u*-mbsnlen.
59783         (Support for maintaining and releasing projects): Add git-version-gen.
59784         (Lone files): Remove directories.
59785
59786 2007-10-08  Ben Pfaff  <blp@gnu.org>
59787
59788         * lib/xmalloca.h: Fix typo in comment.
59789
59790 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59791
59792         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59793         when avoiding problems with integer overflow.  Use a portable test
59794         instead.
59795
59796 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59797
59798         * modules/dummy (License): Change to LGPLv2+.
59799         * modules/float (License): Likewise
59800         * modules/realloc (License): Likewise
59801         * modules/stdlib (License): Likewise
59802
59803 2007-10-07  Bruno Haible  <bruno@clisp.org>
59804
59805         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59806         * floor.c (TWO_MANT_DIG): Likewise.
59807         * ceil.c (TWO_MANT_DIG): Likewise.
59808         Reported by Ben Pfaff.
59809
59810 2007-10-07  Bruno Haible  <bruno@clisp.org>
59811
59812         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59813         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59814         * lib/frexp.c (FUNC): Likewise.
59815         * lib/printf-frexp.h (printf_frexp): Likewise.
59816         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59817         * lib/printf-frexp.c (FUNC): Likewise.
59818         Suggested by Jim Meyering.
59819
59820 2007-10-07  Jim Meyering  <meyering@redhat.com>
59821
59822         Make xnanosleep's integer overflow test more robust.
59823         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59824         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59825
59826 2007-10-07  Bruno Haible  <bruno@clisp.org>
59827
59828         * NEWS: Mention the license change.
59829
59830         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59831         abbreviations in the modules files.
59832
59833         Change copyright notice from GPLv2+ to GPLv3+.
59834         * README: Change copyright notice.
59835         * MODULES.html.sh: Likewise.
59836         * build-aux/bootstrap.conf: Likewise.
59837         * build-aux/config.libpath: Likewise.
59838         * build-aux/csharpcomp.sh.in: Likewise.
59839         * build-aux/csharpexec.sh.in: Likewise.
59840         * build-aux/install-reloc: Likewise.
59841         * build-aux/javacomp.sh.in: Likewise.
59842         * build-aux/javaexec.sh.in: Likewise.
59843         * build-aux/ldd.sh.in: Likewise.
59844         * build-aux/reloc-ldflags: Likewise.
59845         * build-aux/relocatable.sh.in: Likewise.
59846         * build-aux/x-to-1.in: Likewise.
59847         * check-module: Likewise.
59848         * config/srclistvars.sh: Likewise.
59849         * gnulib-tool: Likewise.
59850         * lib/acl-internal.h: Likewise.
59851         * lib/acl.c: Likewise.
59852         * lib/acl.h: Likewise.
59853         * lib/acl_entries.c: Likewise.
59854         * lib/areadlink-with-size.c: Likewise.
59855         * lib/areadlink.c: Likewise.
59856         * lib/areadlink.h: Likewise.
59857         * lib/argmatch.c: Likewise.
59858         * lib/argmatch.h: Likewise.
59859         * lib/argp-ba.c: Likewise.
59860         * lib/argp-eexst.c: Likewise.
59861         * lib/argp-fmtstream.c: Likewise.
59862         * lib/argp-fmtstream.h: Likewise.
59863         * lib/argp-fs-xinl.c: Likewise.
59864         * lib/argp-help.c: Likewise.
59865         * lib/argp-namefrob.h: Likewise.
59866         * lib/argp-parse.c: Likewise.
59867         * lib/argp-pin.c: Likewise.
59868         * lib/argp-pv.c: Likewise.
59869         * lib/argp-pvh.c: Likewise.
59870         * lib/argp-xinl.c: Likewise.
59871         * lib/argp.h: Likewise.
59872         * lib/at-func.c: Likewise.
59873         * lib/atanl.c: Likewise.
59874         * lib/backupfile.c: Likewise.
59875         * lib/backupfile.h: Likewise.
59876         * lib/basename.c: Likewise.
59877         * lib/binary-io.h: Likewise.
59878         * lib/byteswap.in.h: Likewise.
59879         * lib/c-stack.c: Likewise.
59880         * lib/c-stack.h: Likewise.
59881         * lib/c-strcasestr.c: Likewise.
59882         * lib/c-strcasestr.h: Likewise.
59883         * lib/c-strstr.c: Likewise.
59884         * lib/c-strstr.h: Likewise.
59885         * lib/c-strtod.c: Likewise.
59886         * lib/calloc.c: Likewise.
59887         * lib/canon-host.c: Likewise.
59888         * lib/canon-host.h: Likewise.
59889         * lib/canonicalize-lgpl.c: Likewise.
59890         * lib/canonicalize.c: Likewise.
59891         * lib/canonicalize.h: Likewise.
59892         * lib/ceil.c: Likewise.
59893         * lib/ceilf.c: Likewise.
59894         * lib/ceill.c: Likewise.
59895         * lib/chdir-long.c: Likewise.
59896         * lib/chdir-long.h: Likewise.
59897         * lib/chdir-safer.c: Likewise.
59898         * lib/chdir-safer.h: Likewise.
59899         * lib/chown.c: Likewise.
59900         * lib/classpath.c: Likewise.
59901         * lib/classpath.h: Likewise.
59902         * lib/clean-temp.c: Likewise.
59903         * lib/clean-temp.h: Likewise.
59904         * lib/cloexec.c: Likewise.
59905         * lib/close-stream.c: Likewise.
59906         * lib/closein.c: Likewise.
59907         * lib/closein.h: Likewise.
59908         * lib/closeout.c: Likewise.
59909         * lib/closeout.h: Likewise.
59910         * lib/concat-filename.c: Likewise.
59911         * lib/copy-file.c: Likewise.
59912         * lib/copy-file.h: Likewise.
59913         * lib/count-one-bits.h: Likewise.
59914         * lib/crc.c: Likewise.
59915         * lib/crc.h: Likewise.
59916         * lib/creat-safer.c: Likewise.
59917         * lib/csharpcomp.c: Likewise.
59918         * lib/csharpcomp.h: Likewise.
59919         * lib/csharpexec.c: Likewise.
59920         * lib/csharpexec.h: Likewise.
59921         * lib/cycle-check.c: Likewise.
59922         * lib/cycle-check.h: Likewise.
59923         * lib/diacrit.c: Likewise.
59924         * lib/diacrit.h: Likewise.
59925         * lib/diffseq.h: Likewise.
59926         * lib/dirchownmod.c: Likewise.
59927         * lib/dirent.in.h: Likewise.
59928         * lib/dirfd.c: Likewise.
59929         * lib/dirfd.h: Likewise.
59930         * lib/dirname.c: Likewise.
59931         * lib/dirname.h: Likewise.
59932         * lib/dummy.c: Likewise.
59933         * lib/dup-safer.c: Likewise.
59934         * lib/dup2.c: Likewise.
59935         * lib/eealloc.h: Likewise.
59936         * lib/error.c: Likewise.
59937         * lib/error.h: Likewise.
59938         * lib/euidaccess.c: Likewise.
59939         * lib/exclude.c: Likewise.
59940         * lib/exclude.h: Likewise.
59941         * lib/execute.c: Likewise.
59942         * lib/execute.h: Likewise.
59943         * lib/exitfail.c: Likewise.
59944         * lib/exitfail.h: Likewise.
59945         * lib/expl.c: Likewise.
59946         * lib/fatal-signal.c: Likewise.
59947         * lib/fatal-signal.h: Likewise.
59948         * lib/fbufmode.c: Likewise.
59949         * lib/fbufmode.h: Likewise.
59950         * lib/fchdir.c: Likewise.
59951         * lib/fchmodat.c: Likewise.
59952         * lib/fchownat.c: Likewise.
59953         * lib/fcntl--.h: Likewise.
59954         * lib/fcntl-safer.h: Likewise.
59955         * lib/fcntl.in.h: Likewise.
59956         * lib/fd-safer.c: Likewise.
59957         * lib/fflush.c: Likewise.
59958         * lib/file-has-acl.c: Likewise.
59959         * lib/file-set.c: Likewise.
59960         * lib/file-type.c: Likewise.
59961         * lib/file-type.h: Likewise.
59962         * lib/fileblocks.c: Likewise.
59963         * lib/filemode.c: Likewise.
59964         * lib/filemode.h: Likewise.
59965         * lib/filename.h: Likewise.
59966         * lib/filenamecat.c: Likewise.
59967         * lib/filenamecat.h: Likewise.
59968         * lib/findprog.c: Likewise.
59969         * lib/findprog.h: Likewise.
59970         * lib/float.in.h: Likewise.
59971         * lib/floor.c: Likewise.
59972         * lib/floorf.c: Likewise.
59973         * lib/floorl.c: Likewise.
59974         * lib/fopen-safer.c: Likewise.
59975         * lib/fopen.c: Likewise.
59976         * lib/fpending.c: Likewise.
59977         * lib/fpending.h: Likewise.
59978         * lib/fprintf.c: Likewise.
59979         * lib/fprintftime.h: Likewise.
59980         * lib/fpucw.h: Likewise.
59981         * lib/fpurge.c: Likewise.
59982         * lib/fpurge.h: Likewise.
59983         * lib/freadable.c: Likewise.
59984         * lib/freadable.h: Likewise.
59985         * lib/freadahead.c: Likewise.
59986         * lib/freadahead.h: Likewise.
59987         * lib/freading.c: Likewise.
59988         * lib/freading.h: Likewise.
59989         * lib/free.c: Likewise.
59990         * lib/freopen.c: Likewise.
59991         * lib/frexp.c: Likewise.
59992         * lib/frexpl.c: Likewise.
59993         * lib/fseek.c: Likewise.
59994         * lib/fseterr.c: Likewise.
59995         * lib/fseterr.h: Likewise.
59996         * lib/fstatat.c: Likewise.
59997         * lib/fstrcmp.c: Likewise.
59998         * lib/fstrcmp.h: Likewise.
59999         * lib/fsusage.c: Likewise.
60000         * lib/fsusage.h: Likewise.
60001         * lib/ftell.c: Likewise.
60002         * lib/ftello.c: Likewise.
60003         * lib/fts-cycle.c: Likewise.
60004         * lib/fts.c: Likewise.
60005         * lib/fts_.h: Likewise.
60006         * lib/full-read.c: Likewise.
60007         * lib/full-read.h: Likewise.
60008         * lib/full-write.c: Likewise.
60009         * lib/full-write.h: Likewise.
60010         * lib/fwritable.c: Likewise.
60011         * lib/fwritable.h: Likewise.
60012         * lib/fwriteerror.c: Likewise.
60013         * lib/fwriteerror.h: Likewise.
60014         * lib/fwriting.c: Likewise.
60015         * lib/fwriting.h: Likewise.
60016         * lib/gcd.c: Likewise.
60017         * lib/gcd.h: Likewise.
60018         * lib/getcwd.c: Likewise.
60019         * lib/getdate.h: Likewise.
60020         * lib/getdate.y: Likewise.
60021         * lib/getdomainname.c: Likewise.
60022         * lib/getdomainname.h: Likewise.
60023         * lib/getgroups.c: Likewise.
60024         * lib/gethostname.c: Likewise.
60025         * lib/gethrxtime.c: Likewise.
60026         * lib/gethrxtime.h: Likewise.
60027         * lib/getloadavg.c: Likewise.
60028         * lib/getndelim2.c: Likewise.
60029         * lib/getndelim2.h: Likewise.
60030         * lib/getnline.c: Likewise.
60031         * lib/getnline.h: Likewise.
60032         * lib/getopt.c: Likewise.
60033         * lib/getopt.in.h: Likewise.
60034         * lib/getopt1.c: Likewise.
60035         * lib/getopt_int.h: Likewise.
60036         * lib/getpagesize.h: Likewise.
60037         * lib/getsubopt.c: Likewise.
60038         * lib/gettime.c: Likewise.
60039         * lib/getugroups.c: Likewise.
60040         * lib/getugroups.h: Likewise.
60041         * lib/getusershell.c: Likewise.
60042         * lib/gl_anyavltree_list1.h: Likewise.
60043         * lib/gl_anyavltree_list2.h: Likewise.
60044         * lib/gl_anyhash_list1.h: Likewise.
60045         * lib/gl_anyhash_list2.h: Likewise.
60046         * lib/gl_anylinked_list1.h: Likewise.
60047         * lib/gl_anylinked_list2.h: Likewise.
60048         * lib/gl_anyrbtree_list1.h: Likewise.
60049         * lib/gl_anyrbtree_list2.h: Likewise.
60050         * lib/gl_anytree_list1.h: Likewise.
60051         * lib/gl_anytree_list2.h: Likewise.
60052         * lib/gl_anytree_oset.h: Likewise.
60053         * lib/gl_anytreehash_list1.h: Likewise.
60054         * lib/gl_anytreehash_list2.h: Likewise.
60055         * lib/gl_array_list.c: Likewise.
60056         * lib/gl_array_list.h: Likewise.
60057         * lib/gl_array_oset.c: Likewise.
60058         * lib/gl_array_oset.h: Likewise.
60059         * lib/gl_avltree_list.c: Likewise.
60060         * lib/gl_avltree_list.h: Likewise.
60061         * lib/gl_avltree_oset.c: Likewise.
60062         * lib/gl_avltree_oset.h: Likewise.
60063         * lib/gl_avltreehash_list.c: Likewise.
60064         * lib/gl_avltreehash_list.h: Likewise.
60065         * lib/gl_carray_list.c: Likewise.
60066         * lib/gl_carray_list.h: Likewise.
60067         * lib/gl_linked_list.c: Likewise.
60068         * lib/gl_linked_list.h: Likewise.
60069         * lib/gl_linkedhash_list.c: Likewise.
60070         * lib/gl_linkedhash_list.h: Likewise.
60071         * lib/gl_list.c: Likewise.
60072         * lib/gl_list.h: Likewise.
60073         * lib/gl_oset.c: Likewise.
60074         * lib/gl_oset.h: Likewise.
60075         * lib/gl_rbtree_list.c: Likewise.
60076         * lib/gl_rbtree_list.h: Likewise.
60077         * lib/gl_rbtree_oset.c: Likewise.
60078         * lib/gl_rbtree_oset.h: Likewise.
60079         * lib/gl_rbtreehash_list.c: Likewise.
60080         * lib/gl_rbtreehash_list.h: Likewise.
60081         * lib/gl_sublist.c: Likewise.
60082         * lib/gl_sublist.h: Likewise.
60083         * lib/group-member.c: Likewise.
60084         * lib/group-member.h: Likewise.
60085         * lib/hard-locale.c: Likewise.
60086         * lib/hard-locale.h: Likewise.
60087         * lib/hash-pjw.c: Likewise.
60088         * lib/hash-pjw.h: Likewise.
60089         * lib/hash-triple.c: Likewise.
60090         * lib/hash.c: Likewise.
60091         * lib/hash.h: Likewise.
60092         * lib/human.c: Likewise.
60093         * lib/human.h: Likewise.
60094         * lib/i-ring.c: Likewise.
60095         * lib/i-ring.h: Likewise.
60096         * lib/idcache.c: Likewise.
60097         * lib/imaxabs.c: Likewise.
60098         * lib/imaxdiv.c: Likewise.
60099         * lib/inet_pton.c: Likewise.
60100         * lib/inet_pton.h: Likewise.
60101         * lib/intprops.h: Likewise.
60102         * lib/inttostr.c: Likewise.
60103         * lib/inttostr.h: Likewise.
60104         * lib/inttypes.in.h: Likewise.
60105         * lib/isapipe.c: Likewise.
60106         * lib/isdir.c: Likewise.
60107         * lib/isnan.c: Likewise.
60108         * lib/isnan.h: Likewise.
60109         * lib/isnanf.c: Likewise.
60110         * lib/isnanf.h: Likewise.
60111         * lib/isnanl-nolibm.h: Likewise.
60112         * lib/isnanl.c: Likewise.
60113         * lib/isnanl.h: Likewise.
60114         * lib/javacomp.c: Likewise.
60115         * lib/javacomp.h: Likewise.
60116         * lib/javaexec.c: Likewise.
60117         * lib/javaexec.h: Likewise.
60118         * lib/javaversion.c: Likewise.
60119         * lib/javaversion.h: Likewise.
60120         * lib/javaversion.java: Likewise.
60121         * lib/lbrkprop.h: Likewise.
60122         * lib/lchmod.h: Likewise.
60123         * lib/lchown.c: Likewise.
60124         * lib/ldexpl.c: Likewise.
60125         * lib/linebreak.c: Likewise.
60126         * lib/linebreak.h: Likewise.
60127         * lib/linebuffer.c: Likewise.
60128         * lib/linebuffer.h: Likewise.
60129         * lib/locale.in.h: Likewise.
60130         * lib/logl.c: Likewise.
60131         * lib/long-options.c: Likewise.
60132         * lib/long-options.h: Likewise.
60133         * lib/lstat.c: Likewise.
60134         * lib/lstat.h: Likewise.
60135         * lib/math.in.h: Likewise.
60136         * lib/mbchar.c: Likewise.
60137         * lib/mbchar.h: Likewise.
60138         * lib/mbfile.h: Likewise.
60139         * lib/mbiter.h: Likewise.
60140         * lib/mbscasecmp.c: Likewise.
60141         * lib/mbscasestr.c: Likewise.
60142         * lib/mbschr.c: Likewise.
60143         * lib/mbscspn.c: Likewise.
60144         * lib/mbslen.c: Likewise.
60145         * lib/mbsncasecmp.c: Likewise.
60146         * lib/mbsnlen.c: Likewise.
60147         * lib/mbspbrk.c: Likewise.
60148         * lib/mbspcasecmp.c: Likewise.
60149         * lib/mbsrchr.c: Likewise.
60150         * lib/mbssep.c: Likewise.
60151         * lib/mbsspn.c: Likewise.
60152         * lib/mbsstr.c: Likewise.
60153         * lib/mbstok_r.c: Likewise.
60154         * lib/mbswidth.c: Likewise.
60155         * lib/mbswidth.h: Likewise.
60156         * lib/mbuiter.h: Likewise.
60157         * lib/memcasecmp.c: Likewise.
60158         * lib/memcasecmp.h: Likewise.
60159         * lib/memchr.c: Likewise.
60160         * lib/memcmp.c: Likewise.
60161         * lib/memcoll.c: Likewise.
60162         * lib/memcoll.h: Likewise.
60163         * lib/memcpy.c: Likewise.
60164         * lib/memrchr.c: Likewise.
60165         * lib/mkancesdirs.c: Likewise.
60166         * lib/mkdir-p.c: Likewise.
60167         * lib/mkdir-p.h: Likewise.
60168         * lib/mkdir.c: Likewise.
60169         * lib/mkdirat.c: Likewise.
60170         * lib/mkdtemp.c: Likewise.
60171         * lib/mkstemp-safer.c: Likewise.
60172         * lib/mkstemp.c: Likewise.
60173         * lib/modechange.c: Likewise.
60174         * lib/modechange.h: Likewise.
60175         * lib/mountlist.c: Likewise.
60176         * lib/mountlist.h: Likewise.
60177         * lib/mpsort.c: Likewise.
60178         * lib/nanosleep.c: Likewise.
60179         * lib/obstack.c: Likewise.
60180         * lib/obstack.h: Likewise.
60181         * lib/open-safer.c: Likewise.
60182         * lib/open.c: Likewise.
60183         * lib/openat-die.c: Likewise.
60184         * lib/openat-priv.h: Likewise.
60185         * lib/openat-proc.c: Likewise.
60186         * lib/openat.c: Likewise.
60187         * lib/openat.h: Likewise.
60188         * lib/pagealign_alloc.c: Likewise.
60189         * lib/pagealign_alloc.h: Likewise.
60190         * lib/physmem.c: Likewise.
60191         * lib/physmem.h: Likewise.
60192         * lib/pipe-safer.c: Likewise.
60193         * lib/pipe.c: Likewise.
60194         * lib/pipe.h: Likewise.
60195         * lib/posixtm.c: Likewise.
60196         * lib/posixtm.h: Likewise.
60197         * lib/posixver.c: Likewise.
60198         * lib/printf-frexp.c: Likewise.
60199         * lib/printf-frexp.h: Likewise.
60200         * lib/printf-frexpl.c: Likewise.
60201         * lib/printf-frexpl.h: Likewise.
60202         * lib/printf.c: Likewise.
60203         * lib/progname.c: Likewise.
60204         * lib/progname.h: Likewise.
60205         * lib/progreloc.c: Likewise.
60206         * lib/putenv.c: Likewise.
60207         * lib/quote.c: Likewise.
60208         * lib/quote.h: Likewise.
60209         * lib/quotearg.c: Likewise.
60210         * lib/quotearg.h: Likewise.
60211         * lib/raise.c: Likewise.
60212         * lib/readline.c: Likewise.
60213         * lib/readline.h: Likewise.
60214         * lib/readlink.c: Likewise.
60215         * lib/readtokens.c: Likewise.
60216         * lib/readtokens.h: Likewise.
60217         * lib/readtokens0.c: Likewise.
60218         * lib/readtokens0.h: Likewise.
60219         * lib/readutmp.c: Likewise.
60220         * lib/readutmp.h: Likewise.
60221         * lib/realloc.c: Likewise.
60222         * lib/relocwrapper.c: Likewise.
60223         * lib/rename-dest-slash.c: Likewise.
60224         * lib/rename.c: Likewise.
60225         * lib/rmdir.c: Likewise.
60226         * lib/rpmatch.c: Likewise.
60227         * lib/safe-read.c: Likewise.
60228         * lib/safe-read.h: Likewise.
60229         * lib/safe-write.c: Likewise.
60230         * lib/safe-write.h: Likewise.
60231         * lib/same-inode.h: Likewise.
60232         * lib/same.c: Likewise.
60233         * lib/same.h: Likewise.
60234         * lib/save-cwd.c: Likewise.
60235         * lib/save-cwd.h: Likewise.
60236         * lib/savedir.c: Likewise.
60237         * lib/savedir.h: Likewise.
60238         * lib/savewd.c: Likewise.
60239         * lib/savewd.h: Likewise.
60240         * lib/search.in.h: Likewise.
60241         * lib/setenv.c: Likewise.
60242         * lib/setenv.h: Likewise.
60243         * lib/settime.c: Likewise.
60244         * lib/sh-quote.c: Likewise.
60245         * lib/sh-quote.h: Likewise.
60246         * lib/sig2str.c: Likewise.
60247         * lib/sig2str.h: Likewise.
60248         * lib/signal.in.h: Likewise.
60249         * lib/signbitd.c: Likewise.
60250         * lib/signbitf.c: Likewise.
60251         * lib/signbitl.c: Likewise.
60252         * lib/sigprocmask.c: Likewise.
60253         * lib/sincosl.c: Likewise.
60254         * lib/sleep.c: Likewise.
60255         * lib/sprintf.c: Likewise.
60256         * lib/sqrtl.c: Likewise.
60257         * lib/stat-time.h: Likewise.
60258         * lib/stdio--.h: Likewise.
60259         * lib/stdio-safer.h: Likewise.
60260         * lib/stdlib--.h: Likewise.
60261         * lib/stdlib-safer.h: Likewise.
60262         * lib/stdlib.in.h: Likewise.
60263         * lib/stpcpy.c: Likewise.
60264         * lib/stpncpy.c: Likewise.
60265         * lib/strchrnul.c: Likewise.
60266         * lib/strcspn.c: Likewise.
60267         * lib/strerror.c: Likewise.
60268         * lib/strftime.c: Likewise.
60269         * lib/strftime.h: Likewise.
60270         * lib/striconveh.c: Likewise.
60271         * lib/striconveh.h: Likewise.
60272         * lib/striconveha.c: Likewise.
60273         * lib/striconveha.h: Likewise.
60274         * lib/stripslash.c: Likewise.
60275         * lib/strnlen1.c: Likewise.
60276         * lib/strnlen1.h: Likewise.
60277         * lib/strtod.c: Likewise.
60278         * lib/strtoimax.c: Likewise.
60279         * lib/strtok_r.c: Likewise.
60280         * lib/strtol.c: Likewise.
60281         * lib/strtoll.c: Likewise.
60282         * lib/strtoul.c: Likewise.
60283         * lib/strtoull.c: Likewise.
60284         * lib/sysexits.in.h: Likewise.
60285         * lib/tempname.c: Likewise.
60286         * lib/tempname.h: Likewise.
60287         * lib/timespec.h: Likewise.
60288         * lib/tls.c: Likewise.
60289         * lib/tls.h: Likewise.
60290         * lib/tmpdir.c: Likewise.
60291         * lib/tmpdir.h: Likewise.
60292         * lib/tmpfile-safer.c: Likewise.
60293         * lib/tmpfile.c: Likewise.
60294         * lib/trigl.c: Likewise.
60295         * lib/trigl.h: Likewise.
60296         * lib/trim.c: Likewise.
60297         * lib/trim.h: Likewise.
60298         * lib/trunc.c: Likewise.
60299         * lib/truncf.c: Likewise.
60300         * lib/truncl.c: Likewise.
60301         * lib/tsearch.c: Likewise.
60302         * lib/unicodeio.c: Likewise.
60303         * lib/unicodeio.h: Likewise.
60304         * lib/unistd--.h: Likewise.
60305         * lib/unistd-safer.h: Likewise.
60306         * lib/unistdio/ulc-fprintf.c: Likewise.
60307         * lib/unistdio/ulc-vfprintf.c: Likewise.
60308         * lib/unlinkdir.c: Likewise.
60309         * lib/unlinkdir.h: Likewise.
60310         * lib/unlocked-io.h: Likewise.
60311         * lib/unsetenv.c: Likewise.
60312         * lib/userspec.c: Likewise.
60313         * lib/utime.c: Likewise.
60314         * lib/utimecmp.c: Likewise.
60315         * lib/utimecmp.h: Likewise.
60316         * lib/utimens.c: Likewise.
60317         * lib/verify.h: Likewise.
60318         * lib/verror.c: Likewise.
60319         * lib/verror.h: Likewise.
60320         * lib/version-etc-fsf.c: Likewise.
60321         * lib/version-etc.c: Likewise.
60322         * lib/version-etc.h: Likewise.
60323         * lib/vfprintf.c: Likewise.
60324         * lib/vprintf.c: Likewise.
60325         * lib/vsprintf.c: Likewise.
60326         * lib/w32spawn.h: Likewise.
60327         * lib/wait-process.c: Likewise.
60328         * lib/wait-process.h: Likewise.
60329         * lib/wcwidth.c: Likewise.
60330         * lib/write-any-file.c: Likewise.
60331         * lib/xalloc-die.c: Likewise.
60332         * lib/xalloc.h: Likewise.
60333         * lib/xasprintf.c: Likewise.
60334         * lib/xgetcwd.c: Likewise.
60335         * lib/xgetcwd.h: Likewise.
60336         * lib/xgetdomainname.c: Likewise.
60337         * lib/xgetdomainname.h: Likewise.
60338         * lib/xgethostname.c: Likewise.
60339         * lib/xmalloc.c: Likewise.
60340         * lib/xmalloca.c: Likewise.
60341         * lib/xmalloca.h: Likewise.
60342         * lib/xmemcoll.c: Likewise.
60343         * lib/xnanosleep.c: Likewise.
60344         * lib/xreadlink.c: Likewise.
60345         * lib/xreadlink.h: Likewise.
60346         * lib/xsetenv.c: Likewise.
60347         * lib/xsetenv.h: Likewise.
60348         * lib/xstriconv.c: Likewise.
60349         * lib/xstriconv.h: Likewise.
60350         * lib/xstrndup.c: Likewise.
60351         * lib/xstrndup.h: Likewise.
60352         * lib/xstrtod.c: Likewise.
60353         * lib/xstrtod.h: Likewise.
60354         * lib/xstrtol-error.c: Likewise.
60355         * lib/xstrtol.c: Likewise.
60356         * lib/xstrtol.h: Likewise.
60357         * lib/xtime.h: Likewise.
60358         * lib/xvasprintf.c: Likewise.
60359         * lib/xvasprintf.h: Likewise.
60360         * lib/yesno.c: Likewise.
60361         * lib/yesno.h: Likewise.
60362         * posix-modules: Likewise.
60363         * tests/test-alloca-opt.c: Likewise.
60364         * tests/test-arcfour.c: Likewise.
60365         * tests/test-arctwo.c: Likewise.
60366         * tests/test-argmatch.c: Likewise.
60367         * tests/test-argp-2.sh: Likewise.
60368         * tests/test-argp.c: Likewise.
60369         * tests/test-arpa_inet.c: Likewise.
60370         * tests/test-array_list.c: Likewise.
60371         * tests/test-array_oset.c: Likewise.
60372         * tests/test-atexit.c: Likewise.
60373         * tests/test-avltree_list.c: Likewise.
60374         * tests/test-avltree_oset.c: Likewise.
60375         * tests/test-avltreehash_list.c: Likewise.
60376         * tests/test-base64.c: Likewise.
60377         * tests/test-binary-io.c: Likewise.
60378         * tests/test-byteswap.c: Likewise.
60379         * tests/test-c-ctype.c: Likewise.
60380         * tests/test-c-strcasecmp.c: Likewise.
60381         * tests/test-c-strcasestr.c: Likewise.
60382         * tests/test-c-strncasecmp.c: Likewise.
60383         * tests/test-c-strstr.c: Likewise.
60384         * tests/test-canonicalize-lgpl.c: Likewise.
60385         * tests/test-canonicalize.c: Likewise.
60386         * tests/test-carray_list.c: Likewise.
60387         * tests/test-ceilf.c: Likewise.
60388         * tests/test-ceill.c: Likewise.
60389         * tests/test-count-one-bits.c: Likewise.
60390         * tests/test-crc.c: Likewise.
60391         * tests/test-dirname.c: Likewise.
60392         * tests/test-fbufmode.c: Likewise.
60393         * tests/test-fcntl.c: Likewise.
60394         * tests/test-fflush.c: Likewise.
60395         * tests/test-floorf.c: Likewise.
60396         * tests/test-floorl.c: Likewise.
60397         * tests/test-fopen.c: Likewise.
60398         * tests/test-fprintf-posix.c: Likewise.
60399         * tests/test-fprintf-posix.h: Likewise.
60400         * tests/test-fpurge.c: Likewise.
60401         * tests/test-freadable.c: Likewise.
60402         * tests/test-freadahead.c: Likewise.
60403         * tests/test-freading.c: Likewise.
60404         * tests/test-freopen.c: Likewise.
60405         * tests/test-frexp.c: Likewise.
60406         * tests/test-frexpl.c: Likewise.
60407         * tests/test-fseek.c: Likewise.
60408         * tests/test-fseeko.c: Likewise.
60409         * tests/test-fseterr.c: Likewise.
60410         * tests/test-fstrcmp.c: Likewise.
60411         * tests/test-ftell.c: Likewise.
60412         * tests/test-ftello.c: Likewise.
60413         * tests/test-fwritable.c: Likewise.
60414         * tests/test-fwriting.c: Likewise.
60415         * tests/test-getaddrinfo.c: Likewise.
60416         * tests/test-getpass.c: Likewise.
60417         * tests/test-gettimeofday.c: Likewise.
60418         * tests/test-hmac-md5.c: Likewise.
60419         * tests/test-hmac-sha1.c: Likewise.
60420         * tests/test-iconv.c: Likewise.
60421         * tests/test-iconvme.c: Likewise.
60422         * tests/test-inttypes.c: Likewise.
60423         * tests/test-isnan.c: Likewise.
60424         * tests/test-isnanf.c: Likewise.
60425         * tests/test-isnanl-nolibm.c: Likewise.
60426         * tests/test-isnanl.c: Likewise.
60427         * tests/test-isnanl.h: Likewise.
60428         * tests/test-ldexpl.c: Likewise.
60429         * tests/test-linked_list.c: Likewise.
60430         * tests/test-linkedhash_list.c: Likewise.
60431         * tests/test-locale.c: Likewise.
60432         * tests/test-localename.c: Likewise.
60433         * tests/test-lock.c: Likewise.
60434         * tests/test-lseek.c: Likewise.
60435         * tests/test-malloca.c: Likewise.
60436         * tests/test-math.c: Likewise.
60437         * tests/test-mbscasecmp.c: Likewise.
60438         * tests/test-mbscasestr1.c: Likewise.
60439         * tests/test-mbscasestr2.c: Likewise.
60440         * tests/test-mbscasestr3.c: Likewise.
60441         * tests/test-mbscasestr4.c: Likewise.
60442         * tests/test-mbschr.c: Likewise.
60443         * tests/test-mbscspn.c: Likewise.
60444         * tests/test-mbsncasecmp.c: Likewise.
60445         * tests/test-mbspbrk.c: Likewise.
60446         * tests/test-mbspcasecmp.c: Likewise.
60447         * tests/test-mbsrchr.c: Likewise.
60448         * tests/test-mbsspn.c: Likewise.
60449         * tests/test-mbsstr1.c: Likewise.
60450         * tests/test-mbsstr2.c: Likewise.
60451         * tests/test-mbsstr3.c: Likewise.
60452         * tests/test-md5.c: Likewise.
60453         * tests/test-memmem.c: Likewise.
60454         * tests/test-netinet_in.c: Likewise.
60455         * tests/test-open.c: Likewise.
60456         * tests/test-printf-frexp.c: Likewise.
60457         * tests/test-printf-frexpl.c: Likewise.
60458         * tests/test-printf-posix.c: Likewise.
60459         * tests/test-printf-posix.h: Likewise.
60460         * tests/test-rbtree_list.c: Likewise.
60461         * tests/test-rbtree_oset.c: Likewise.
60462         * tests/test-rbtreehash_list.c: Likewise.
60463         * tests/test-read-file.c: Likewise.
60464         * tests/test-rijndael.c: Likewise.
60465         * tests/test-search.c: Likewise.
60466         * tests/test-signbit.c: Likewise.
60467         * tests/test-sleep.c: Likewise.
60468         * tests/test-snprintf-posix.c: Likewise.
60469         * tests/test-snprintf-posix.h: Likewise.
60470         * tests/test-snprintf.c: Likewise.
60471         * tests/test-sprintf-posix.c: Likewise.
60472         * tests/test-sprintf-posix.h: Likewise.
60473         * tests/test-stat-time.c: Likewise.
60474         * tests/test-stdbool.c: Likewise.
60475         * tests/test-stdint.c: Likewise.
60476         * tests/test-stdio.c: Likewise.
60477         * tests/test-stdlib.c: Likewise.
60478         * tests/test-stpncpy.c: Likewise.
60479         * tests/test-strcasestr.c: Likewise.
60480         * tests/test-striconv.c: Likewise.
60481         * tests/test-striconveh.c: Likewise.
60482         * tests/test-striconveha.c: Likewise.
60483         * tests/test-string.c: Likewise.
60484         * tests/test-sys_select.c: Likewise.
60485         * tests/test-sys_socket.c: Likewise.
60486         * tests/test-sys_stat.c: Likewise.
60487         * tests/test-sys_time.c: Likewise.
60488         * tests/test-sysexits.c: Likewise.
60489         * tests/test-time.c: Likewise.
60490         * tests/test-tls.c: Likewise.
60491         * tests/test-trunc.c: Likewise.
60492         * tests/test-truncf.c: Likewise.
60493         * tests/test-truncl.c: Likewise.
60494         * tests/test-unistd.c: Likewise.
60495         * tests/test-vasnprintf-posix.c: Likewise.
60496         * tests/test-vasnprintf-posix2.c: Likewise.
60497         * tests/test-vasnprintf.c: Likewise.
60498         * tests/test-vasprintf-posix.c: Likewise.
60499         * tests/test-vasprintf.c: Likewise.
60500         * tests/test-verify.c: Likewise.
60501         * tests/test-vfprintf-posix.c: Likewise.
60502         * tests/test-vprintf-posix.c: Likewise.
60503         * tests/test-vsnprintf-posix.c: Likewise.
60504         * tests/test-vsnprintf.c: Likewise.
60505         * tests/test-vsprintf-posix.c: Likewise.
60506         * tests/test-wchar.c: Likewise.
60507         * tests/test-wctype.c: Likewise.
60508         * tests/test-wcwidth.c: Likewise.
60509         * tests/test-xstrtol.c: Likewise.
60510         * tests/test-xvasprintf.c: Likewise.
60511         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60512         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60513         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60514         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60515         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60516         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60517         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60518         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60519         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60520         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60521         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60522         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60523         * tests/uniname/test-uninames.c: Likewise.
60524         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60525         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60526         * tests/unistdio/test-u16-printf1.h: Likewise.
60527         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60528         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60529         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60530         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60531         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60532         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60533         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60534         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60535         * tests/unistdio/test-u32-printf1.h: Likewise.
60536         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60537         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60538         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60539         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60540         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60541         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60542         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60543         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60544         * tests/unistdio/test-u8-printf1.h: Likewise.
60545         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60546         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60547         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60548         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60549         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60550         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60551         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60552         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60553         * tests/unistdio/test-ulc-printf1.h: Likewise.
60554         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60555         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60556         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60557         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60558         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60559         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60560         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60561         * tests/uniwidth/test-u16-width.c: Likewise.
60562         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60563         * tests/uniwidth/test-u32-width.c: Likewise.
60564         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60565         * tests/uniwidth/test-u8-width.c: Likewise.
60566         * tests/uniwidth/test-uc_width.c: Likewise.
60567         * config/srclist-update: Likewise.
60568         (fixlicense): Update to GPLv3+.
60569
60570         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60571         * tests/test-tsearch.c: Change copyright notice.
60572
60573         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60574         * lib/c-strcaseeq.h: Change copyright notice.
60575         * lib/streq.h: Likewise.
60576         * lib/uniconv.h: Likewise.
60577         * lib/uniconv/u-conv-from-enc.h: Likewise.
60578         * lib/uniconv/u-conv-to-enc.h: Likewise.
60579         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60580         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60581         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60582         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60583         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60584         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60585         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60586         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60587         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60588         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60589         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60590         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60591         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60592         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60593         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60594         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60595         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60596         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60597         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60598         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60599         * lib/uniname.h: Likewise.
60600         * lib/uniname/uniname.c: Likewise.
60601         * lib/unistdio.h: Likewise.
60602         * lib/unistdio/u-asnprintf.h: Likewise.
60603         * lib/unistdio/u-asprintf.h: Likewise.
60604         * lib/unistdio/u-printf-args.c: Likewise.
60605         * lib/unistdio/u-printf-args.h: Likewise.
60606         * lib/unistdio/u-printf-parse.h: Likewise.
60607         * lib/unistdio/u-snprintf.h: Likewise.
60608         * lib/unistdio/u-sprintf.h: Likewise.
60609         * lib/unistdio/u-vasprintf.h: Likewise.
60610         * lib/unistdio/u-vsnprintf.h: Likewise.
60611         * lib/unistdio/u-vsprintf.h: Likewise.
60612         * lib/unistdio/u16-asnprintf.c: Likewise.
60613         * lib/unistdio/u16-asprintf.c: Likewise.
60614         * lib/unistdio/u16-printf-parse.c: Likewise.
60615         * lib/unistdio/u16-snprintf.c: Likewise.
60616         * lib/unistdio/u16-sprintf.c: Likewise.
60617         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60618         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60619         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60620         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60621         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60622         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60623         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60624         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60625         * lib/unistdio/u16-vasnprintf.c: Likewise.
60626         * lib/unistdio/u16-vasprintf.c: Likewise.
60627         * lib/unistdio/u16-vsnprintf.c: Likewise.
60628         * lib/unistdio/u16-vsprintf.c: Likewise.
60629         * lib/unistdio/u32-asnprintf.c: Likewise.
60630         * lib/unistdio/u32-asprintf.c: Likewise.
60631         * lib/unistdio/u32-printf-parse.c: Likewise.
60632         * lib/unistdio/u32-snprintf.c: Likewise.
60633         * lib/unistdio/u32-sprintf.c: Likewise.
60634         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60635         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60636         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60637         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60638         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60639         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60640         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60641         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60642         * lib/unistdio/u32-vasnprintf.c: Likewise.
60643         * lib/unistdio/u32-vasprintf.c: Likewise.
60644         * lib/unistdio/u32-vsnprintf.c: Likewise.
60645         * lib/unistdio/u32-vsprintf.c: Likewise.
60646         * lib/unistdio/u8-asnprintf.c: Likewise.
60647         * lib/unistdio/u8-asprintf.c: Likewise.
60648         * lib/unistdio/u8-printf-parse.c: Likewise.
60649         * lib/unistdio/u8-snprintf.c: Likewise.
60650         * lib/unistdio/u8-sprintf.c: Likewise.
60651         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60652         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60653         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60654         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60655         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60656         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60657         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60658         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60659         * lib/unistdio/u8-vasnprintf.c: Likewise.
60660         * lib/unistdio/u8-vasprintf.c: Likewise.
60661         * lib/unistdio/u8-vsnprintf.c: Likewise.
60662         * lib/unistdio/u8-vsprintf.c: Likewise.
60663         * lib/unistdio/ulc-asnprintf.c: Likewise.
60664         * lib/unistdio/ulc-asprintf.c: Likewise.
60665         * lib/unistdio/ulc-printf-parse.c: Likewise.
60666         * lib/unistdio/ulc-snprintf.c: Likewise.
60667         * lib/unistdio/ulc-sprintf.c: Likewise.
60668         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60669         * lib/unistdio/ulc-vasprintf.c: Likewise.
60670         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60671         * lib/unistdio/ulc-vsprintf.c: Likewise.
60672         * lib/unistr.h: Likewise.
60673         * lib/unistr/u-cpy-alloc.h: Likewise.
60674         * lib/unistr/u-cpy.h: Likewise.
60675         * lib/unistr/u-endswith.h: Likewise.
60676         * lib/unistr/u-move.h: Likewise.
60677         * lib/unistr/u-set.h: Likewise.
60678         * lib/unistr/u-startswith.h: Likewise.
60679         * lib/unistr/u-stpcpy.h: Likewise.
60680         * lib/unistr/u-stpncpy.h: Likewise.
60681         * lib/unistr/u-strcat.h: Likewise.
60682         * lib/unistr/u-strcpy.h: Likewise.
60683         * lib/unistr/u-strcspn.h: Likewise.
60684         * lib/unistr/u-strdup.h: Likewise.
60685         * lib/unistr/u-strlen.h: Likewise.
60686         * lib/unistr/u-strncat.h: Likewise.
60687         * lib/unistr/u-strncpy.h: Likewise.
60688         * lib/unistr/u-strnlen.h: Likewise.
60689         * lib/unistr/u-strpbrk.h: Likewise.
60690         * lib/unistr/u-strspn.h: Likewise.
60691         * lib/unistr/u-strstr.h: Likewise.
60692         * lib/unistr/u-strtok.h: Likewise.
60693         * lib/unistr/u16-check.c: Likewise.
60694         * lib/unistr/u16-chr.c: Likewise.
60695         * lib/unistr/u16-cmp.c: Likewise.
60696         * lib/unistr/u16-cpy-alloc.c: Likewise.
60697         * lib/unistr/u16-cpy.c: Likewise.
60698         * lib/unistr/u16-endswith.c: Likewise.
60699         * lib/unistr/u16-mblen.c: Likewise.
60700         * lib/unistr/u16-mbsnlen.c: Likewise.
60701         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60702         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60703         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60704         * lib/unistr/u16-mbtouc.c: Likewise.
60705         * lib/unistr/u16-mbtoucr.c: Likewise.
60706         * lib/unistr/u16-move.c: Likewise.
60707         * lib/unistr/u16-next.c: Likewise.
60708         * lib/unistr/u16-prev.c: Likewise.
60709         * lib/unistr/u16-set.c: Likewise.
60710         * lib/unistr/u16-startswith.c: Likewise.
60711         * lib/unistr/u16-stpcpy.c: Likewise.
60712         * lib/unistr/u16-stpncpy.c: Likewise.
60713         * lib/unistr/u16-strcat.c: Likewise.
60714         * lib/unistr/u16-strchr.c: Likewise.
60715         * lib/unistr/u16-strcmp.c: Likewise.
60716         * lib/unistr/u16-strcpy.c: Likewise.
60717         * lib/unistr/u16-strcspn.c: Likewise.
60718         * lib/unistr/u16-strdup.c: Likewise.
60719         * lib/unistr/u16-strlen.c: Likewise.
60720         * lib/unistr/u16-strmblen.c: Likewise.
60721         * lib/unistr/u16-strmbtouc.c: Likewise.
60722         * lib/unistr/u16-strncat.c: Likewise.
60723         * lib/unistr/u16-strncmp.c: Likewise.
60724         * lib/unistr/u16-strncpy.c: Likewise.
60725         * lib/unistr/u16-strnlen.c: Likewise.
60726         * lib/unistr/u16-strpbrk.c: Likewise.
60727         * lib/unistr/u16-strrchr.c: Likewise.
60728         * lib/unistr/u16-strspn.c: Likewise.
60729         * lib/unistr/u16-strstr.c: Likewise.
60730         * lib/unistr/u16-strtok.c: Likewise.
60731         * lib/unistr/u16-to-u32.c: Likewise.
60732         * lib/unistr/u16-to-u8.c: Likewise.
60733         * lib/unistr/u16-uctomb-aux.c: Likewise.
60734         * lib/unistr/u16-uctomb.c: Likewise.
60735         * lib/unistr/u32-check.c: Likewise.
60736         * lib/unistr/u32-chr.c: Likewise.
60737         * lib/unistr/u32-cmp.c: Likewise.
60738         * lib/unistr/u32-cpy-alloc.c: Likewise.
60739         * lib/unistr/u32-cpy.c: Likewise.
60740         * lib/unistr/u32-endswith.c: Likewise.
60741         * lib/unistr/u32-mblen.c: Likewise.
60742         * lib/unistr/u32-mbsnlen.c: Likewise.
60743         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60744         * lib/unistr/u32-mbtouc.c: Likewise.
60745         * lib/unistr/u32-mbtoucr.c: Likewise.
60746         * lib/unistr/u32-move.c: Likewise.
60747         * lib/unistr/u32-next.c: Likewise.
60748         * lib/unistr/u32-prev.c: Likewise.
60749         * lib/unistr/u32-set.c: Likewise.
60750         * lib/unistr/u32-startswith.c: Likewise.
60751         * lib/unistr/u32-stpcpy.c: Likewise.
60752         * lib/unistr/u32-stpncpy.c: Likewise.
60753         * lib/unistr/u32-strcat.c: Likewise.
60754         * lib/unistr/u32-strchr.c: Likewise.
60755         * lib/unistr/u32-strcmp.c: Likewise.
60756         * lib/unistr/u32-strcpy.c: Likewise.
60757         * lib/unistr/u32-strcspn.c: Likewise.
60758         * lib/unistr/u32-strdup.c: Likewise.
60759         * lib/unistr/u32-strlen.c: Likewise.
60760         * lib/unistr/u32-strmblen.c: Likewise.
60761         * lib/unistr/u32-strmbtouc.c: Likewise.
60762         * lib/unistr/u32-strncat.c: Likewise.
60763         * lib/unistr/u32-strncmp.c: Likewise.
60764         * lib/unistr/u32-strncpy.c: Likewise.
60765         * lib/unistr/u32-strnlen.c: Likewise.
60766         * lib/unistr/u32-strpbrk.c: Likewise.
60767         * lib/unistr/u32-strrchr.c: Likewise.
60768         * lib/unistr/u32-strspn.c: Likewise.
60769         * lib/unistr/u32-strstr.c: Likewise.
60770         * lib/unistr/u32-strtok.c: Likewise.
60771         * lib/unistr/u32-to-u16.c: Likewise.
60772         * lib/unistr/u32-to-u8.c: Likewise.
60773         * lib/unistr/u32-uctomb.c: Likewise.
60774         * lib/unistr/u8-check.c: Likewise.
60775         * lib/unistr/u8-chr.c: Likewise.
60776         * lib/unistr/u8-cmp.c: Likewise.
60777         * lib/unistr/u8-cpy-alloc.c: Likewise.
60778         * lib/unistr/u8-cpy.c: Likewise.
60779         * lib/unistr/u8-endswith.c: Likewise.
60780         * lib/unistr/u8-mblen.c: Likewise.
60781         * lib/unistr/u8-mbsnlen.c: Likewise.
60782         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60783         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60784         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60785         * lib/unistr/u8-mbtouc.c: Likewise.
60786         * lib/unistr/u8-mbtoucr.c: Likewise.
60787         * lib/unistr/u8-move.c: Likewise.
60788         * lib/unistr/u8-next.c: Likewise.
60789         * lib/unistr/u8-prev.c: Likewise.
60790         * lib/unistr/u8-set.c: Likewise.
60791         * lib/unistr/u8-startswith.c: Likewise.
60792         * lib/unistr/u8-stpcpy.c: Likewise.
60793         * lib/unistr/u8-stpncpy.c: Likewise.
60794         * lib/unistr/u8-strcat.c: Likewise.
60795         * lib/unistr/u8-strchr.c: Likewise.
60796         * lib/unistr/u8-strcmp.c: Likewise.
60797         * lib/unistr/u8-strcpy.c: Likewise.
60798         * lib/unistr/u8-strcspn.c: Likewise.
60799         * lib/unistr/u8-strdup.c: Likewise.
60800         * lib/unistr/u8-strlen.c: Likewise.
60801         * lib/unistr/u8-strmblen.c: Likewise.
60802         * lib/unistr/u8-strmbtouc.c: Likewise.
60803         * lib/unistr/u8-strncat.c: Likewise.
60804         * lib/unistr/u8-strncmp.c: Likewise.
60805         * lib/unistr/u8-strncpy.c: Likewise.
60806         * lib/unistr/u8-strnlen.c: Likewise.
60807         * lib/unistr/u8-strpbrk.c: Likewise.
60808         * lib/unistr/u8-strrchr.c: Likewise.
60809         * lib/unistr/u8-strspn.c: Likewise.
60810         * lib/unistr/u8-strstr.c: Likewise.
60811         * lib/unistr/u8-strtok.c: Likewise.
60812         * lib/unistr/u8-to-u16.c: Likewise.
60813         * lib/unistr/u8-to-u32.c: Likewise.
60814         * lib/unistr/u8-uctomb-aux.c: Likewise.
60815         * lib/unistr/u8-uctomb.c: Likewise.
60816         * lib/unitypes.h: Likewise.
60817         * lib/uniwidth.h: Likewise.
60818         * lib/uniwidth/cjk.h: Likewise.
60819         * lib/uniwidth/u16-strwidth.c: Likewise.
60820         * lib/uniwidth/u16-width.c: Likewise.
60821         * lib/uniwidth/u32-strwidth.c: Likewise.
60822         * lib/uniwidth/u32-width.c: Likewise.
60823         * lib/uniwidth/u8-strwidth.c: Likewise.
60824         * lib/uniwidth/u8-width.c: Likewise.
60825         * lib/uniwidth/width.c: Likewise.
60826
60827 2007-10-07  Bruno Haible  <bruno@clisp.org>
60828
60829         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60830         The file is still under LGPL (see modules/inttypes).
60831
60832 2007-10-06  Bruno Haible  <bruno@clisp.org>
60833
60834         * modules/trunc (Dependencies): Add 'extensions'.
60835         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60836         Reported by Ben Pfaff <blp@gnu.org>.
60837
60838 2007-10-06  Bruno Haible  <bruno@clisp.org>
60839
60840         * modules/freopen-tests: New file.
60841         * tests/test-freopen.c: New file.
60842
60843         * modules/fopen-tests: New file.
60844         * tests/test-fopen.c: New file.
60845
60846         * modules/fopen: New file.
60847         * lib/fopen.c: New file.
60848         * m4/fopen.m4: New file.
60849         * modules/freopen: New file.
60850         * lib/freopen.c: New file.
60851         * m4/freopen.m4: New file.
60852         * lib/stdio.in.h (fopen, freopen): New declarations.
60853         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60854         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60855         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60856         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60857         * doc/functions/fopen.texi: Mention the 'fopen' module.
60858         * doc/functions/freopen.texi: Mention the 'freopen' module.
60859
60860 2007-10-06  Bruno Haible  <bruno@clisp.org>
60861
60862         * modules/open-tests: New file.
60863         * tests/test-open.c: New file.
60864
60865         * modules/open: New file.
60866         * lib/open.c: New file.
60867         * m4/open.m4: New file.
60868         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60869         lib/open.c does.
60870         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60871         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60872         macros.
60873         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60874         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60875         REPLACE_OPEN.
60876         * doc/functions/open.texi: Mention the 'open' module.
60877
60878 2007-10-04  Bruno Haible  <bruno@clisp.org>
60879
60880         * modules/ceill-tests: New file.
60881         * tests/test-ceill.c: New file.
60882
60883         * modules/ceill: New file.
60884         * lib/ceill.c: Replace entire file.
60885         * m4/ceill.m4: New file.
60886         * lib/math.in.h (ceill): Replace declaration.
60887         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60888         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60889         * doc/functions/ceill.texi: Mention the 'ceill' module.
60890         * modules/mathl (Files): Remove lib/ceill.c.
60891         (Depends-on): Add ceill.
60892
60893 2007-10-04  Bruno Haible  <bruno@clisp.org>
60894
60895         * modules/ceilf-tests: New file.
60896         * tests/test-ceilf.c: New file.
60897
60898         * modules/ceilf: New file.
60899         * lib/ceil.c: New file.
60900         * lib/ceilf.c: New file.
60901         * m4/ceilf.m4: New file.
60902         * lib/math.in.h (ceilf): New declaration.
60903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60904         HAVE_DECL_CEILF.
60905         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60906         HAVE_DECL_CEILF.
60907         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60908
60909 2007-10-04  Bruno Haible  <bruno@clisp.org>
60910
60911         * modules/floorl-tests: New file.
60912         * tests/test-floorl.c: New file.
60913
60914         * modules/floorl: New file.
60915         * lib/floorl.c: Replace entire file.
60916         * m4/floorl.m4: New file.
60917         * lib/math.in.h (floorl): Replace declaration.
60918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60919         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60920         * doc/functions/floorl.texi: Mention the 'floorl' module.
60921         * modules/mathl (Files): Remove lib/floorl.c.
60922         (Depends-on): Add floorl.
60923
60924 2007-10-04  Bruno Haible  <bruno@clisp.org>
60925
60926         * modules/floorf-tests: New file.
60927         * tests/test-floorf.c: New file.
60928
60929         * modules/floorf: New file.
60930         * lib/floor.c: New file.
60931         * lib/floorf.c: New file.
60932         * m4/floorf.m4: New file.
60933         * lib/math.in.h (floorf): New declaration.
60934         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60935         HAVE_DECL_FLOORF.
60936         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60937         HAVE_DECL_FLOORF.
60938         * doc/functions/floorf.texi: Mention the 'floorf' module.
60939
60940 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60941             Bruno Haible  <bruno@clisp.org>
60942
60943         Advertise for the Git server instead of the CVS server.
60944         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60945         repository instead of the CVS one.
60946         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60947         about all VCS systems generically.
60948         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60949
60950 2007-10-04  Bruno Haible  <bruno@clisp.org>
60951
60952         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60953         means.
60954         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60955
60956 2007-10-04  Bruno Haible  <bruno@clisp.org>
60957
60958         * modules/truncl-tests: New file.
60959         * tests/test-truncl.c: New file.
60960
60961         * modules/truncl: New file.
60962         * lib/truncl.c: New file.
60963         * m4/truncl.m4: New file.
60964         * lib/math.in.h (truncl): New declaration.
60965         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60966         HAVE_DECL_TRUNCL.
60967         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60968         HAVE_DECL_TRUNCL.
60969         * doc/functions/truncl.texi: Mention the 'truncl' module.
60970
60971 2007-10-04  Bruno Haible  <bruno@clisp.org>
60972
60973         * modules/truncf-tests: New file.
60974         * tests/test-truncf.c: New file.
60975
60976         * modules/truncf: New file.
60977         * lib/trunc.c: Make paramerizable through USE_* macros.
60978         * lib/truncf.c: New file.
60979         * m4/truncf.m4: New file.
60980         * lib/math.in.h (truncf): New declaration.
60981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60982         HAVE_DECL_TRUNCF.
60983         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60984         HAVE_DECL_TRUNCF.
60985         * doc/functions/truncf.texi: Mention the 'truncf' module.
60986
60987 2007-10-03  Bruno Haible  <bruno@clisp.org>
60988
60989         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60990         augmentation also for tests modules.
60991         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60992         * modules/atexit-tests (Makefile.am): Likewise.
60993         * modules/binary-io-tests (Makefile.am): Likewise.
60994         * modules/c-strcase-tests (Makefile.am): Likewise.
60995         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60996         * modules/canonicalize-tests (Makefile.am): Likewise.
60997         * modules/closein-tests (Makefile.am): Likewise.
60998         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60999         * modules/freadahead-tests (Makefile.am): Likewise.
61000         * modules/fseek-tests (Makefile.am): Likewise.
61001         * modules/fseeko-tests (Makefile.am): Likewise.
61002         * modules/ftell-tests (Makefile.am): Likewise.
61003         * modules/ftello-tests (Makefile.am): Likewise.
61004         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
61005         * modules/isnanl-tests (Makefile.am): Likewise.
61006         * modules/lseek-tests (Makefile.am): Likewise.
61007         * modules/mbscasecmp-tests (Makefile.am): Likewise.
61008         * modules/mbscasestr-tests (Makefile.am): Likewise.
61009         * modules/mbschr-tests (Makefile.am): Likewise.
61010         * modules/mbscspn-tests (Makefile.am): Likewise.
61011         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
61012         * modules/mbspbrk-tests (Makefile.am): Likewise.
61013         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
61014         * modules/mbsrchr-tests (Makefile.am): Likewise.
61015         * modules/mbsspn-tests (Makefile.am): Likewise.
61016         * modules/mbsstr-tests (Makefile.am): Likewise.
61017         * modules/printf-posix-tests (Makefile.am): Likewise.
61018         * modules/snprintf-posix-tests (Makefile.am): Likewise.
61019         * modules/sprintf-posix-tests (Makefile.am): Likewise.
61020         * modules/tsearch-tests (Makefile.am): Likewise.
61021         * modules/uniname/uniname-tests (Makefile.am): Likewise.
61022         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
61023         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
61024         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
61025         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
61026         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
61027         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
61028         * modules/vprintf-posix-tests (Makefile.am): Likewise.
61029         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
61030         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
61031         * modules/xstrtoimax-tests (Makefile.am): Likewise.
61032         * modules/xstrtol-tests (Makefile.am): Likewise.
61033         * modules/xstrtoumax-tests (Makefile.am): Likewise.
61034         * modules/yesno-tests (Makefile.am): Likewise.
61035
61036 2007-10-03  Bruno Haible  <bruno@clisp.org>
61037
61038         * modules/trunc-tests: New file.
61039         * tests/test-trunc.c: New file.
61040
61041         * modules/trunc: New file.
61042         * lib/trunc.c: New file.
61043         * m4/trunc.m4: New file.
61044         * lib/math.in.h (trunc): New declaration.
61045         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
61046         HAVE_DECL_TRUNC.
61047         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
61048         HAVE_DECL_TRUNC.
61049         * doc/functions/trunc.texi: Mention the 'trunc' module.
61050
61051 2007-10-03  Bruno Haible  <bruno@clisp.org>
61052
61053         * tests/test-fpending.c: New file, mostly copied
61054         from coreutils/lib/t-fpending.c.
61055         * modules/fpending-tests: New file.
61056
61057 2007-10-03  Bruno Haible  <bruno@clisp.org>
61058
61059         Port the stdio extensions to QNX (untested).
61060         * lib/fseterr.c (fseterr): Add support for QNX.
61061         * lib/fbufmode.c (fbufmode): Likewise.
61062         * lib/freadable.c (freadable): Likewise.
61063         * lib/fwritable.c (fwritable): Likewise.
61064         * lib/freading.c (freading): Likewise.
61065         * lib/fwriting.c (fwriting): Likewise.
61066         * lib/freadahead.c (freadahed): Likewise.
61067         * lib/fpurge.c (fpurge): Likewise.
61068         * lib/fseeko.c (rpl_fseeko): Likewise.
61069
61070 2007-10-03  Bruno Haible  <bruno@clisp.org>
61071             Jim Meyering  <jim@meyering.net>
61072             Eric Blake  <ebb9@byu.net>
61073
61074         * doc/relocatable.texi: Use @command instead of @program.
61075
61076 2007-10-02  Jim Meyering  <jim@meyering.net>
61077
61078         Perform one more "_.h" -> ".in.h" substitution.
61079         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
61080         instead of unistd_.h here, too.
61081
61082 2007-10-01  Bruno Haible  <bruno@clisp.org>
61083
61084         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
61085         Needed for the alloca-opt module.
61086
61087 2007-09-30  Bruno Haible  <bruno@clisp.org>
61088
61089         * lib/alloca.in.h: Renamed from lib/alloca_.h.
61090         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
61091         alloca_.h.
61092         * lib/argz.in.h: Renamed from lib/argz_.h.
61093         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
61094         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
61095         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
61096         byteswap_.h.
61097         * lib/dirent.in.h: Renamed from lib/dirent_.h.
61098         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
61099         dirent_.h.
61100         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
61101         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
61102         fcntl_.h.
61103         * lib/float.in.h: Renamed from lib/float_.h.
61104         * modules/float (Files, Makefile.am): Use float.in.h instead of
61105         float_.h.
61106         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
61107         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
61108         fnmatch_.h.
61109         * lib/getopt.in.h: Renamed from lib/getopt_.h.
61110         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
61111         getopt_.h.
61112         * lib/glob.in.h: Renamed from lib/glob_.h.
61113         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
61114         * lib/iconv.in.h: Renamed from lib/iconv_.h.
61115         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
61116         iconv_.h.
61117         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
61118         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
61119         inttypes_.h.
61120         * lib/locale.in.h: Renamed from lib/locale_.h.
61121         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
61122         locale_.h.
61123         * lib/math.in.h: Renamed from lib/math_.h.
61124         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
61125         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
61126         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
61127         of netinet_in_.h. Add dependency.
61128         * lib/poll.in.h: Renamed from lib/poll_.h.
61129         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
61130         * lib/search.in.h: Renamed from lib/search_.h.
61131         * modules/search (Files, Makefile.am): Use search.in.h instead of
61132         search_.h.
61133         * lib/signal.in.h: Renamed from lib/signal_.h.
61134         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
61135         _signal.h.
61136         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
61137         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
61138         stdbool_.h.
61139         * lib/stdint.in.h: Renamed from lib/stdint_.h.
61140         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
61141         stdint_.h.
61142         * lib/stdio.in.h: Renamed from lib/stdio_.h.
61143         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
61144         stdio_.h.
61145         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
61146         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61147         stdlib_.h.
61148         * lib/string.in.h: Renamed from lib/string_.h.
61149         * modules/string (Files, Makefile.am): Use string.in.h instead of
61150         string_.h.
61151         * doc/gnulib-tool.texi (Initial import): Update.
61152         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
61153         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
61154         of sys_select_.h. Add dependency.
61155         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
61156         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
61157         of sys_socket_.h.
61158         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
61159         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
61160         sys_stat_.h.
61161         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
61162         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
61163         sys_time_.h.
61164         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
61165         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
61166         sysexits_.h.
61167         * lib/time.in.h: Renamed from lib/time_.h.
61168         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
61169         * lib/unistd.in.h: Renamed from lib/unistd_.h.
61170         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
61171         unistd_.h.
61172         * lib/wchar.in.h: Renamed from lib/wchar_.h.
61173         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
61174         wchar_.h.
61175         * lib/wctype.in.h: Renamed from lib/wctype_.h.
61176         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
61177         wctype_.h.
61178         * build-aux/bootstrap (slurp): Update.
61179         * lib/.cppi-disable: Update.
61180
61181 2007-09-30  Bruno Haible  <bruno@clisp.org>
61182
61183         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
61184         Needed on BeOS.
61185
61186 2007-09-30  Bruno Haible  <bruno@clisp.org>
61187
61188         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
61189
61190 2007-09-29  Bruno Haible  <bruno@clisp.org>
61191
61192         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
61193
61194 2007-09-29  Bruno Haible  <bruno@clisp.org>
61195
61196         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
61197         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
61198         * build-aux/install-reloc: Compile also areadlink.c.
61199         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
61200
61201 2007-09-29  Bruno Haible  <bruno@clisp.org>
61202
61203         * gnulib-tool (func_emit_initmacro_done): Indentation.
61204
61205 2007-09-29  Bruno Haible  <bruno@clisp.org>
61206
61207         * README: Add CVS checkout update instructions.
61208         Info from Bob Proulx <bob@proulx.com>.
61209
61210 2007-09-28  Eric Blake  <ebb9@byu.net>
61211
61212         Provide move-if-change.
61213         * build-aux/move-if-change: New file, based on best practice
61214         rather than any canonical upstream location.
61215
61216 2007-09-28  Jim Meyering  <jim@meyering.net>
61217
61218         Fix canonicalize loop-detection corner case.
61219         Do not attempt to stat the symlink values stored via seen_triple.
61220         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
61221         on linux-2.6.18, (but not 2.6.22).
61222         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
61223         triple_compare.  The former compares dev,ino,filename, while the latter
61224         would actually stat dirname(filename) when dev and ino were equal.
61225         * lib/hash-triple.c: Install <string.h>.
61226         (STREQ): Define.
61227         (triple_compare_ino_str): New function.
61228         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
61229
61230 2007-09-28  Eric Blake  <ebb9@byu.net>
61231
61232         Enforce that AC_REPLACE_FUNCS files exist.
61233         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
61234         override check for typos.
61235
61236         Fix test-closein on Solaris 10.
61237         * tests/test-closein.c (main): Don't assume stdin can be inherited
61238         closed on all systems.
61239         * tests/test-closein.sh: Likewise.
61240         Reported by Piotr Tarnowski.
61241
61242 2007-09-28  Jim Meyering  <jim@meyering.net>
61243
61244         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
61245
61246 2007-09-27  Jim Meyering  <jim@meyering.net>
61247
61248         canonicalize: Avoid a false-positive cycle failure.
61249         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
61250         Sort.  Remove cycle-check.
61251         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
61252         not cycle-check.h.
61253         (seen_triple): New function.
61254         (canonicalize_filename_mode): Use it instead of cycle-check.
61255         * tests/test-canonicalize.c: Add a test for this bug.
61256         * tests/test-canonicalize.sh: Set up and run the test.
61257
61258         New module, file-set, from coreutils.
61259         * modules/file-set: Define it.
61260         * lib/file-set.c, lib/file-set.h: Implement.
61261
61262         New module, hash-triple, from coreutils.
61263         * modules/hash-triple: Define it.
61264         * lib/hash-triple.c, lib/hash-triple.h: Implement.
61265
61266 2007-09-25  Eric Blake  <ebb9@byu.net>
61267
61268         Fix strerror on Interix.
61269         * lib/string_.h (strerror): Declare replacement.
61270         * doc/functions/strerror.texi (strerror): Document the Interix
61271         shortcoming.
61272         * modules/string (Makefile.am): Support new hooks.
61273         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
61274         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
61275         gl_FUNC_STRERROR_SEPARATE.
61276         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
61277         * lib/strerror.c (rpl_strerror): Provide replacement.
61278         * modules/strerror (Depends-on): Add string.
61279         (configure.ac): Detect use of module.
61280         * tests/test-strerror.c: New file.
61281         * modules/strerror-tests: New test module.
61282         * modules/argp (Depends-on): Add strerror.
61283         * modules/error (Depends-on): Likewise.
61284         Reported by Martin Koeppe.
61285
61286 2007-09-24  Bruno Haible  <bruno@clisp.org>
61287
61288         * README: Update git instructions.
61289
61290 2007-09-24  Eric Blake  <ebb9@byu.net>
61291
61292         Revert fpending breakage from 2007-09-08.
61293         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
61294         __fpending.c.
61295
61296 2007-09-24  Jim Meyering  <jim@meyering.net>
61297
61298         filenamecat.c: Add a test.
61299         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
61300         showing how the function works when DIR is the empty string.
61301
61302 2007-09-21  Simon Josefsson  <simon@josefsson.org>
61303
61304         * tests/test-canonicalize.sh: Turn on executable bit.
61305
61306 2007-09-19  Eric Blake  <ebb9@byu.net>
61307
61308         * README: Update CVS instructions.
61309
61310 2007-09-18  Bruno Haible  <bruno@clisp.org>
61311
61312         * modules/areadlink: New file.
61313         * lib/areadlink.h (areadlink): New declaration.
61314         * lib/areadlink.c: New file, based on lib/xreadlink.c.
61315
61316 2007-09-17  Jim Meyering  <jim@meyering.net>
61317
61318         * lib/savewd.c (ESTALE) [!defined]: Define.
61319         Reported to be required on Interix by Martin Koeppe.
61320
61321 2007-09-17  Bruno Haible  <bruno@clisp.org>
61322
61323         * gnulib-tool (func_version): Use $version.
61324
61325 2007-09-16  Bruno Haible  <bruno@clisp.org>
61326
61327         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
61328         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
61329         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
61330         Reported by Greg Schafer <gschafer@zip.com.au>.
61331
61332 2007-09-15  Bruno Haible  <bruno@clisp.org>
61333
61334         * gnulib-tool (sed): Try a little harder to make bash understand the
61335         alias.
61336         Reported by Bruce Korb <bruce.korb@gmail.com>.
61337
61338 2007-09-13  Eric Blake  <ebb9@byu.net>
61339
61340         * ChangeLog: Remove conflict markers.
61341
61342 2007-09-13  Simon Josefsson  <simon@josefsson.org>
61343
61344         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
61345         Reported by Bruno Haible <bruno@clisp.org>.
61346
61347 2007-09-12  Bruno Haible  <bruno@clisp.org>
61348
61349         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
61350         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
61351         is not defined.
61352
61353 2007-09-12  Eric Blake  <ebb9@byu.net>
61354
61355         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
61356         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
61357         Autoconf definition.
61358         * modules/euidaccess (Depends-on): Add extensions, for
61359         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
61360         * modules/fnmatch (Depends-on): Likewise.
61361         * modules/getaddrinfo (Depends-on): Likewise.
61362         * modules/getdelim (Depends-on): Likewise.
61363         * modules/getline (Depends-on): Likewise.
61364         * modules/getsubopt (Depends-on): Likewise.
61365         * modules/gettext (Depends-on): Likewise.
61366         * modules/group-member (Depends-on): Likewise.
61367         * modules/mbchar (Depends-on): Likewise.
61368         * modules/memmem (Depends-on): Likewise.
61369         * modules/mempcpy (Depends-on): Likewise.
61370         * modules/memrchr (Depends-on): Likewise.
61371         * modules/pagealign_alloc (Depends-on): Likewise.
61372         * modules/readutmp (Depends-on): Likewise.
61373         * modules/stpcpy (Depends-on): Likewise.
61374         * modules/stpncpy (Depends-on): Likewise.
61375         * modules/strchrnul (Depends-on): Likewise.
61376         * modules/strndup (Depends-on): Likewise.
61377         * modules/strsep (Depends-on): Likewise.
61378         * modules/strverscmp (Depends-on): Likewise.
61379         * modules/vasprintf (Depends-on): Likewise.
61380         * modules/wcwidth (Depends-on): Likewise.
61381         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
61382         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
61383         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
61384         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
61385         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61386         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61387         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
61388         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
61389         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
61390         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
61391         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
61392         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
61393         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
61394         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
61395         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
61396         * m4/readutmp.m4 (gl_READUTMP): Likewise.
61397         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61398         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
61399         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
61400         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
61401         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
61402         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
61403         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
61404         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
61405         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
61406         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
61407         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
61408         so that lock.m4 can be used in gettext without extensions module.
61409
61410 2007-09-11  Bruno Haible  <bruno@clisp.org>
61411
61412         * m4/isc-posix.m4: Remove file.
61413         Suggested by Eric Blake.
61414
61415 2007-09-11  Eric Blake  <ebb9@byu.net>
61416
61417         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
61418
61419 2007-09-10  Bruno Haible  <bruno@clisp.org>
61420
61421         * posix-modules: Fix typo in error message.
61422         Reported by Matt <mkraai@beckman.com>.
61423
61424 2007-09-09  Bruno Haible  <bruno@clisp.org>
61425
61426         * doc/functions/getdelim.texi: Update list of platforms lacking the
61427         function.
61428         * doc/functions/getline.texi: Likewise.
61429
61430 2007-09-09  Jim Meyering  <jim@meyering.net>
61431
61432         * lib/hash.c (hash_initialize): Detect calloc failure.
61433         Reported by Bruno Haible.
61434
61435 2007-09-09  Bruno Haible  <bruno@clisp.org>
61436
61437         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
61438         malloc or realloc fails.
61439
61440 2007-09-09  Bruno Haible  <bruno@clisp.org>
61441
61442         * modules/getcwd (Depends-on): Add malloc-posix.
61443         * modules/glob (Depends-on): Likewise.
61444         * modules/putenv (Depends-on): Likewise.
61445         * modules/strdup (Depends-on): Likewise.
61446         * modules/getdelim (Depends-on): Add realloc-posix.
61447         * modules/read-file (Depends-on): Likewise.
61448
61449 2007-09-09  Bruno Haible  <bruno@clisp.org>
61450
61451         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61452         (gl_FUNC_MALLOC_POSIX): Require it.
61453         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61454         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61455         * modules/realloc (Files): Add m4/malloc.m4.
61456         * modules/calloc (Files): Likewise.
61457
61458 2007-09-09  Bruno Haible  <bruno@clisp.org>
61459
61460         * modules/malloc-posix: New file.
61461         * modules/malloc (Depends-on): Add malloc-posix.
61462         * lib/malloc.c: Include errno.h.
61463         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61464         and a POSIX-compatible malloc into a single function. Set ENOMEM
61465         when returning NULL.
61466         * m4/malloc.m4: New file.
61467         * doc/functions/malloc.texi: Mention the malloc-posix module.
61468         * lib/stdlib_.h (malloc): New declaration.
61469         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61470         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61471         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61472         and HAVE_MALLOC_POSIX.
61473
61474 2007-09-09  Bruno Haible  <bruno@clisp.org>
61475
61476         * modules/realloc-posix: New file.
61477         * modules/realloc (Depends-on): Add realloc-posix.
61478         * lib/realloc.c: Include errno.h.
61479         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61480         and a POSIX-compatible realloc into a single function. Set ENOMEM
61481         when returning NULL.
61482         * m4/realloc.m4: New file.
61483         * doc/functions/realloc.texi: Mention the realloc-posix module.
61484         * lib/stdlib_.h (realloc): New declaration.
61485         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61486         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61487         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61488         and HAVE_REALLOC_POSIX.
61489
61490 2007-09-09  Bruno Haible  <bruno@clisp.org>
61491
61492         * modules/calloc-posix: New file.
61493         * modules/calloc (Depends-on): Add calloc-posix.
61494         * lib/calloc.c: Include errno.h.
61495         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61496         and a POSIX-compatible calloc into a single function. Set ENOMEM
61497         when returning NULL.
61498         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61499         * doc/functions/calloc.texi: Mention the calloc-posix module.
61500         * lib/stdlib_.h (calloc): New declaration.
61501         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61502         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61503         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61504         and HAVE_CALLOC_POSIX.
61505
61506 2007-09-09  Bruno Haible  <bruno@clisp.org>
61507
61508         Allow for modules to show an arbitrary notice.
61509         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61510         * gnulib-tool: New option --extract-notice.
61511         (func_usage): Document it.
61512         (sed_extract_prog): Update.
61513         (func_get_notice): New function.
61514         (func_modules_notice): New function.
61515         (func_import, func_create_testdir): Invoke it.
61516         Suggested by Jim Meyering.
61517
61518 2007-09-09  Bruno Haible  <bruno@clisp.org>
61519
61520         * gnulib-tool: New options --verbose, --quiet.
61521         (func_usage): Document them.
61522         (verbose): New variable.
61523         (func_execute_command): New function.
61524         (func_import): Don't show the module list and the file list if
61525         $verbose < 0.
61526         (func_create_testdir): Likewise. Use func_execute_command.
61527         (func_create_megatestdir): Use func_execute_command.
61528
61529 2007-09-08  Bruno Haible  <bruno@clisp.org>
61530
61531         * gnulib-tool (func_import): Prefer rsync over wget when available,
61532         for fetching the PO files.
61533
61534 2007-09-08  Bruno Haible  <bruno@clisp.org>
61535
61536         * posix-modules: New file. Portions copied from gnulib-tool.
61537         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61538
61539 2007-09-08  Jim Meyering  <jim@meyering.net>
61540
61541         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61542         * lib/fpending.h: Rename from __fpending.h.
61543         * lib/fpending.c: Rename from __fpending.c.
61544         Include "fpending.h", not "__fpending.h".
61545         * lib/__fpending.h, lib/__fpending.c: Remove files.
61546         * modules/fpending (Files): Reflect new file names.
61547         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61548
61549 2007-09-08  Bruno Haible  <bruno@clisp.org>
61550
61551         * m4/inttypes-h.m4: Remove stub file.
61552
61553 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61554
61555         * doc/headers/stdint.texi: Discuss #include_next issue.
61556
61557 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61558
61559         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61560
61561 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61562
61563         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61564         in variable name.
61565
61566 2007-09-03  Jim Meyering  <jim@meyering.net>
61567
61568         New module: git-version-gen.
61569         * modules/git-version-gen: New file.
61570
61571         Import changes from coreutils for bootstrap script.
61572
61573         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61574
61575         bootstrap: uses rsync to download the .po files
61576         * build-aux/bootstrap (po_download_command_format): New global.
61577         (download_po_files): Use rsync.
61578         (update_po_files): Don't remove .po files after download,
61579         so future rsync runs can take advantage of the copies.
61580
61581         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61582
61583         Solve the unnecessary-.po-file-regeneration problem once and for all.
61584         * build-aux/bootstrap (download_po_files): New function, renamed from
61585         get_translations.  Now, downloads, but doesn't update LINGUAS.
61586         (update_po_files): New function.
61587
61588         bootstrap: Ignore more.
61589         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61590         uniwidth to e.g., lib/.gitignore.
61591         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61592
61593         * build-aux/bootstrap: New setting: vc_ignore.
61594         (insert_sorted_if_absent): Create $file if absent.
61595         Adapt to new, possibly empty, list: $vc_ignore.
61596
61597         bootstrap: generate more ignorable names
61598         * build-aux/bootstrap (slurp): When generating ignorable names,
61599         also map .sin to .sed, .gperf to .c, and .y to .c.
61600
61601 2007-09-03  Jim Meyering  <jim@meyering.net>
61602
61603         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61604         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61605
61606 2007-09-02  Bruno Haible  <bruno@clisp.org>
61607
61608         Fix mis-recognition of 'mcs' on QNX 6.
61609         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61610         output contains the string "Mono".
61611         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61612         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61613
61614 2007-09-01  Bruno Haible  <bruno@clisp.org>
61615
61616         Fix collision between uniwidth/* and linebreak modules.
61617         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61618         u32_width): Remove declarations.
61619         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61620         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61621         streq3, streq2, streq1, streq0): Remove functions.
61622         (STREQ): Remove macro.
61623         (is_cjk_encoding): Remove function.
61624         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61625         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61626         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61627         * NEWS: Document the change.
61628
61629 2007-09-01  Bruno Haible  <bruno@clisp.org>
61630
61631         * lib/streq.h: Add double-inclusion guard.
61632
61633 2007-09-01  Karl Berry  <karl@gnu.org>
61634
61635         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61636
61637 2007-08-28  Jim Meyering  <jim@meyering.net>
61638
61639         Rename mreadlink_with_size to areadlink_with_size.
61640         * NEWS: Document the change.
61641         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61642         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61643         * lib/mreadlink.h: Rename this to...
61644         * lib/areadlink.h: ...this.
61645         * modules/mreadlink-with-size: Rename this to...
61646         * modules/areadlink-with-size: ...this.
61647         * lib/canonicalize.c: Reflect the renaming.
61648         * modules/canonicalize: Likewise.
61649
61650 2007-08-26  Bruno Haible  <bruno@clisp.org>
61651
61652         * gnulib-tool (func_import): When deciding which files to remove,
61653         consider also dangling symbolic links.
61654         Reported by Eric Blake.
61655
61656 2007-08-26  Bruno Haible  <bruno@clisp.org>
61657
61658         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61659
61660 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61661
61662         * lib/readline.c: Don't include getline.h, the prototype is now
61663         found in stdio.h.
61664
61665 2007-08-23  Jim Meyering  <jim@meyering.net>
61666
61667         Getdelim touchup.
61668         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61669         around the funlockfile call, since funlockfile never sets errno.
61670         Don't set errno upon failed realloc.
61671
61672 2007-08-22  Eric Blake  <ebb9@byu.net>
61673
61674         Getline touchups.
61675         * lib/getdelim.c (getdelim): Revert regression that required *n to
61676         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61677         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61678         getdelim, rather than whether implementation is missing.
61679         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61680         * lib/stdio_.h (getline): Also declare if replacement is
61681         required.
61682         * doc/functions/getdelim.texi: New file.
61683         * doc/functions/getline.texi: Likewise.
61684         * doc/gnulib.texi (Function Substitutes): Add new files.
61685         Reported by Bruno Haible.
61686
61687 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61688
61689         * users.txt: Add Guile.
61690
61691 2007-08-22  Eric Blake  <ebb9@byu.net>
61692
61693         * tests/test-getdelim.c (main): Use remove, not unlink.
61694         * tests/test-getline.c (main): Likewise.
61695
61696         Move getline and getdelim into stdio.h, per POSIX 200x.
61697         * modules/getline (Files): Remove getline.h.
61698         (Depends-on): Add stdio.
61699         (configure.ac): Add module indicator.
61700         * modules/getdelim (Files): Remove getdelim.h.
61701         (Depends-on): Add stdio.
61702         (configure.ac): Add module indicator.
61703         * modules/stdio (Makefile.am): Work with new indicators.
61704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61705         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61706         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61707         * lib/getdelim.h: Delete.
61708         * lib/getline.h: Delete.
61709         * lib/stdio_.h (getdelim, getline): Declare.
61710         * modules/getdelim-tests: New module.
61711         * modules/getline-tests: Likewise.
61712         * tests/test-getdelim.c: New file.
61713         * tests/test-getline.c: Likewise.
61714         * NEWS: Document the change.
61715         * lib/getline.c: Update choice of header.
61716         * lib/csharpcomp.c: Likewise.
61717         * lib/getpass.c: Likewise.
61718         * lib/javacomp.c: Likewise.
61719         * lib/javaversion.c: Likewise.
61720         * lib/yesno.c: Likewise.
61721         * lib/getdelim.c: Likewise.
61722         (getdelim): Set errno on failure, and avoid memory leak.
61723
61724 2007-08-19  Bruno Haible  <bruno@clisp.org>
61725
61726         * modules/closein (Depends-on): Add freadahead.
61727         * lib/closein.c: Include freadahead.h.
61728         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61729         is zero.
61730
61731 2007-08-19  Bruno Haible  <bruno@clisp.org>
61732
61733         * modules/freadahead-tests: New file.
61734         * tests/test-freadahead.sh: New file.
61735         * tests/test-freadahead.c: New file.
61736
61737         * modules/freadahead: New file.
61738         * lib/freadahead.h: New file.
61739         * lib/freadahead.c: New file.
61740         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61741         fbufmode, fpurge, freadable, fwritable.
61742
61743 2007-08-19  Eric Blake  <ebb9@byu.net>
61744
61745         Test yesno in combination with closein.
61746         * lib/yesno.c (yesno): Document use of stdin.
61747         * modules/yesno-tests (Files): New module.
61748         * tests/test-yesno.c (main): New file.
61749         * tests/test-yesno.sh: Likewise.
61750
61751 2007-08-19  Bruno Haible  <bruno@clisp.org>
61752
61753         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61754         * lib/fseeko.c (rpl_fseeko): Likewise.
61755         * lib/fseterr.c (fseterr): Likewise.
61756
61757 2007-08-19  Bruno Haible  <bruno@clisp.org>
61758
61759         * tests/test-lseek.c (main): Disable a test for BeOS.
61760         * doc/functions/lseek.texi: Document the BeOS bug.
61761
61762 2007-08-19  Bruno Haible  <bruno@clisp.org>
61763             Eric Blake  <ebb9@byu.net>
61764
61765         * lib/lseek.c: Include <sys/stat.h>.
61766         (rpl_lseek): Add workaround code also for Unix platforms.
61767         Needed for BeOS.
61768         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61769         * doc/functions/lseek.texi: Document BeOS definiency.
61770
61771 2007-08-18  Bruno Haible  <bruno@clisp.org>
61772
61773         * modules/fstrcmp-tests: New file.
61774         * tests/test-fstrcmp.c: New file.
61775
61776 2007-08-18  Bruno Haible  <bruno@clisp.org>
61777
61778         * modules/fstrcmp: New file, from GNU gettext with modifications.
61779         * lib/fstrcmp.h: New file, from GNU gettext.
61780         * lib/fstrcmp.c: New file, from GNU gettext.
61781         * MODULES.html.sh (String handling): Add fstrcmp.
61782
61783 2007-08-18  Bruno Haible  <bruno@clisp.org>
61784
61785         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61786         'bool'.
61787         (diag, compareseq): Remove const from the ctxt argument.
61788         (USE_HEURISTIC): Undefine at the end.
61789
61790 2007-08-18  Jim Meyering  <jim@meyering.net>
61791
61792         New file: lib/idcache.h
61793         * NEWS: Mention the addition.
61794         * modules/idcache (Files): Add lib/idcache.h
61795         * lib/idcache.c: Include "idcache.h".
61796         Don't include <sys/types.h>.
61797         Add a FIXME comment.
61798         Move file-scoped "static" declarations to the top.
61799         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61800
61801 2007-08-17  Bruno Haible  <bruno@clisp.org>
61802         and Paul Eggert  <eggert@cs.ucla.edu>
61803
61804         * MODULES.html.sh: Add diffseq.
61805         * modules/diffseq: New file.
61806         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61807         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61808
61809 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61810
61811         Import changes from coreutils for bootstrap script.
61812
61813         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61814
61815         * build-aux/bootstrap (slurp): Work even in environments where
61816         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61817         current code does not slurp files whose names start with ".", and
61818         this looks like it might be a troublesome area.
61819
61820         2007-07-11  Jim Meyering  <jim@meyering.net>
61821
61822         If there's a GPL vN copyright comment, require that N == 3.
61823
61824         2007-07-08  Jim Meyering  <jim@meyering.net>
61825
61826         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61827         * build-aux/bootstrap (mam_template): Move definition out of loop.
61828
61829         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61830
61831         * build-aux/bootstrap (symlink_to_dir): Rename function from
61832         symlink_to_gnulib.  Add a directory parameter.  Update all
61833         callers.
61834         (cp_mark_as_generated): Also check for -- and link to -- files in
61835         gl/.
61836
61837         2007-07-08  Jim Meyering  <jim@meyering.net>
61838
61839         Adapt to deeper hierarchy in gnulib.
61840         * build-aux/bootstrap (symlink_to_dir): If the destination
61841         directory doesn't exist, create it. This is required at least for
61842         "lib/uniwidth/cjk.h".
61843
61844         2007-05-15  Jim Meyering  <jim@meyering.net>
61845
61846         * build-aux/bootstrap: Now that generated Makefile.am files
61847         are no longer under version control, they must be created at
61848         bootstrap time.
61849
61850 2007-08-14  Ben Pfaff  <blp@gnu.org>
61851
61852         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61853
61854 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61855
61856         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61857         given the changes below.
61858         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61859         even on hosts that have padding bits beyond the supported 64.
61860
61861 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61862
61863         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61864         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61865         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61866         depends on it.
61867         (xstrtol_error): Remove.
61868         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61869         but with a different signature.
61870         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61871         * lib/xstrtol-error.c: Include exitfail.h.
61872         (xstrtol_fatal): New function, with a different signature from the
61873         old xstrtol_error, so that the caller need not worry about passing
61874         in an exit status, or about storage management of the option argument.
61875         (xstrtol_error): Now a static function.  Redo signature to
61876         implement xstrtol_fatal.  Output the correct number of hyphens in
61877         front of the option so that the caller need not worry about
61878         storage management.
61879         (N_): New macro.
61880         (_): Remove; not used now.
61881         * modules/xstrtol: Depend on getopt.
61882         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61883         of old STRTOL_FATAL_ERROR macro.
61884         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61885         of test program.
61886         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61887         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61888
61889 2007-08-08  Eric Blake  <ebb9@byu.net>
61890
61891         * lib/xstrtol-error.c: Add missing include.
61892
61893         Move xstrtol messages into gnulib domain, when --pobase is used.
61894         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61895         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61896         * modules/xstrtol (Files): Distribute new file.
61897         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61898         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61899         * tests/test-xstrtol.c: ...into new file.
61900         * tests/test-xstrtoul.c: Also test xstrtoul.
61901         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61902         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61903         * tests/test-xstrtol.sh: Drive the tests.
61904         * tests/test-xstrtoimax.sh: Likewise.
61905         * tests/test-xstrtoumax.sh: Likewise.
61906         * modules/xstrtol-tests: New module.
61907         * modules/xstrtoimax-tests: Likewise.
61908         * modules/xstrtoumax-tests: Likewise.
61909
61910 2007-08-08  Jim Meyering  <jim@meyering.net>
61911
61912         New function: mfile_name_concat.
61913         * lib/filenamecat.c (mfile_name_concat): New function, just like
61914         file_name_concat, but return NULL upon failure rather than exiting
61915         with a diagnostic.
61916         * lib/filenamecat.h: Declare it.
61917
61918 2007-08-07  Bruno Haible  <bruno@clisp.org>
61919
61920         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61921         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61922         warning from gcc.
61923         Reported by Eric Blake.
61924
61925 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61926
61927         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61928         * modules/crypto/arcfour (License): Likewise.
61929         * modules/crypto/des-tests (License): Likewise.
61930         * modules/crypto/gc-arctwo-tests (License): Likewise.
61931         * modules/crypto/gc-des-tests (License): Likewise.
61932         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61933         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61934         * modules/crypto/gc-md2-tests (License): Likewise.
61935         * modules/crypto/gc-md4-tests (License): Likewise.
61936         * modules/crypto/gc-md5-tests (License): Likewise.
61937         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61938         * modules/crypto/gc-rijndael-tests (License): Likewise.
61939         * modules/crypto/gc-sha1-tests (License): Likewise.
61940         * modules/crypto/gc-tests (License): Likewise.
61941         * modules/crypto/hmac-md5 (License): Likewise.
61942         * modules/crypto/hmac-sha1 (License): Likewise.
61943         * modules/crypto/md2-tests (License): Likewise.
61944         * modules/crypto/md4-tests (License): Likewise.
61945         * modules/crypto/md5 (License): Likewise.
61946         * modules/crypto/rijndael (License): Likewise.
61947         * modules/crypto/sha1 (License): Likewise.
61948         * modules/memxor (License): Likewise.
61949
61950 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61951         and Bruno Haible  <bruno@clisp.org>
61952
61953         * NEWS: Describe interface changes to human, xstrtol.
61954         * lib/human.h: Include <xstrtol.h>.
61955         (human_options): Return enum strtol_error, not int.  Remove
61956         bool arg; take int * instead.
61957         * lib/human.c: Don't include "gettext.h".
61958         (_): Remove; no longer used.
61959         Don't include <xstrtol.h>, since human.h does it.
61960         (human_options): Adjust to abovementioned interface changes.
61961         Do not report error to stderr; that's now the caller's
61962         responsibility.
61963         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61964         interface change.
61965         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61966         Str, Argument_type_string.  All uses changed.  Put " argument"
61967         in diagnostics to make them clearer.  Change wording of suffix
61968         message for clarity.
61969         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61970         Argument_type_string.
61971         (STRTOL_FATAL_WARN): Remove; no longer used.
61972         * modules/human (Depends-on): Remove gettext-h.
61973
61974 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61975
61976         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61977
61978 2007-07-31  Bruno Haible  <bruno@clisp.org>
61979
61980         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61981         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61982         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61983
61984 2007-07-31  Bruno Haible  <bruno@clisp.org>
61985
61986         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61987         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61988
61989 2007-07-30  Bruno Haible  <bruno@clisp.org>
61990
61991         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61992         * modules/c-ctype (License): Likewise.
61993         * modules/c-strcase (License): Likewise.
61994         * modules/check-version (License): Likewise.
61995         * modules/iconv (License): Likewise.
61996         * modules/iconv_open (License): Likewise.
61997         * modules/read-file (License): Likewise.
61998         * modules/striconv (License): Likewise.
61999         * modules/strverscmp (License): Likewise.
62000         * modules/vasprintf (License): Likewise.
62001         * modules/crypto/des (License): Likewise.
62002         * modules/crypto/gc (License): Likewise.
62003         * modules/crypto/gc-arcfour (License): Likewise.
62004         * modules/crypto/gc-arctwo (License): Likewise.
62005         * modules/crypto/gc-des (License): Likewise.
62006         * modules/crypto/gc-hmac-md5 (License): Likewise.
62007         * modules/crypto/gc-hmac-sha1 (License): Likewise.
62008         * modules/crypto/gc-md2 (License): Likewise.
62009         * modules/crypto/gc-md4 (License): Likewise.
62010         * modules/crypto/gc-md5 (License): Likewise.
62011         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
62012         * modules/crypto/gc-random (License): Likewise.
62013         * modules/crypto/gc-rijndael (License): Likewise.
62014         * modules/crypto/gc-sha1 (License): Likewise.
62015         * modules/crypto/md2 (License): Likewise.
62016         * modules/crypto/md4 (License): Likewise.
62017
62018 2007-07-30  Jim Meyering  <jim@meyering.net>
62019
62020         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
62021         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
62022         it has valid stat data.  This bug would cause du not to count the
62023         sizes of inaccessible directories.
62024         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
62025         in <http://bugzilla.redhat.com/250077>.
62026
62027 2007-07-25  Peter O'Gorman  <peter@pogma.com>
62028             Bruno Haible  <bruno@clisp.org>
62029
62030         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
62031         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
62032         #include_next, gives a diagnostic about it, but reports no error in
62033         the exit code.
62034         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
62035
62036 2007-07-24  Ben Pfaff  <blp@gnu.org>
62037
62038         Improve name: "count-one-bits" is better than "popcount".
62039         * MODULES.html.sh: Update name.
62040         * lib/popcount.h: Renamed lib/count-one-bits.h.
62041         (popcount): Renamed count_one_bits.
62042         (popcountl): Renamed count_one_bits_l.
62043         (popcountll): Renamed count_one_bits_ll.
62044         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
62045         * modules/popcount: Renamed module/count-one-bits.
62046         * modules/popcount-tests: Renamed module/count-one-bits-tests.
62047         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
62048
62049 2007-07-23  Ben Pfaff  <blp@gnu.org>
62050
62051         * lib/popcount.h (popcount32): Reduce size of constants, to allow
62052         better code generation, and add U to large constants to avoid
62053         warnings, in non-GCC case.
62054         Suggested by Bruno Haible.
62055
62056 2007-07-23  Ben Pfaff  <blp@gnu.org>
62057
62058         * lib/popcount.h: Use verify_true instead of if...abort.
62059         * modules/popcount: Depend on verify module.
62060         Suggested by Jim Meyering.
62061
62062 2007-07-23  Bruno Haible  <bruno@clisp.org>
62063
62064         * gnulib-tool (func_import): Create a .cvsignore file also when the
62065         directory is not yet in CVS but the toplevel directory is. When
62066         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
62067         Reported by Karl Berry.
62068
62069 2007-07-22  Ben Pfaff  <blp@gnu.org>
62070
62071         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
62072         case.
62073         Suggested by Eric Blake.
62074
62075 2007-07-22  Ben Pfaff  <blp@gnu.org>
62076
62077         New module: popcount.
62078         * MODULES.html.sh: Add popcount.
62079         * modules/popcount: New file.
62080         * modules/popcount-tests: New file.
62081         * tests/test-popcount.c: New file.
62082         * lib/popcount.h: New file.
62083         * m4/popcount.m4: New file.
62084
62085 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
62086
62087         * build-aux/announce-gen: Update to GPLv3.
62088
62089         * build-aux/config.guess: Update from config.
62090
62091 2007-07-21  Bruno Haible  <bruno@clisp.org>
62092
62093         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
62094         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
62095
62096 2007-07-20  Jim Meyering  <jim@meyering.net>
62097
62098         * check-module: Diagnose a self-dependency.
62099
62100 2007-07-19  Bruno Haible  <bruno@clisp.org>
62101
62102         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
62103         empty.
62104         Reported by Eric Blake.
62105
62106 2007-07-18  Bruno Haible  <bruno@clisp.org>
62107
62108         * gnulib-tool: New options --po-base, --po-domain.
62109         (func_usage): Document them.
62110         (pobase, po_domain): New variables.
62111         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
62112         DEFAULT_TEXT_DOMAIN.
62113         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
62114         (func_import): Consider pobase and po_domain. Create a po/ directory.
62115         (func_create_testdir): Set pobase and po_domain to empty.
62116         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
62117         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
62118
62119 2007-07-18  Bruno Haible  <bruno@clisp.org>
62120
62121         * gnulib-tool (func_get_automake_snippet): Synthesize also an
62122         EXTRA_DIST augmentation for files in build-aux/.
62123
62124 2007-07-16  Bruno Haible  <bruno@clisp.org>
62125
62126         * modules/lseek (License): Use the synonymous term "LGPLv2+".
62127         * modules/getdelim (License): Likewise.
62128
62129 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62130
62131         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
62132         * modules/d-type (License): Likewise.
62133         * modules/extensions (License): Likewise.
62134         * modules/fnmatch (License): Likewise.
62135         * modules/fseeko (License): Likewise.
62136         * modules/getaddrinfo (License): Likewise.
62137         * modules/getline (License): Likewise.
62138         * modules/getlogin_r (License): Likewise.
62139         * modules/getpass (License): Likewise.
62140         * modules/gettimeofday (License): Likewise.
62141         * modules/glob (License): Likewise.
62142         * modules/inet_ntop (License): Likewise.
62143         * modules/malloc (License): Likewise.
62144         * modules/malloca (License): Likewise.
62145         * modules/memmem (License): Likewise.
62146         * modules/mempcpy (License): Likewise.
62147         * modules/memset (License): Likewise.
62148         * modules/minmax (License): Likewise.
62149         * modules/mktime (License): Likewise.
62150         * modules/netinet_in (License): Likewise.
62151         * modules/pathmax (License): Likewise.
62152         * modules/poll (License): Likewise.
62153         * modules/regex (License): Likewise.
62154         * modules/snprintf (License): Likewise.
62155         * modules/stdbool (License): Likewise.
62156         * modules/stdint (License): Likewise.
62157         * modules/stdio (License): Likewise.
62158         * modules/strcase (License): Likewise.
62159         * modules/strcasestr (License): Likewise.
62160         * modules/strdup (License): Likewise.
62161         * modules/string (License): Likewise.
62162         * modules/strndup (License): Likewise.
62163         * modules/strnlen (License): Likewise.
62164         * modules/strpbrk (License): Likewise.
62165         * modules/strptime (License): Likewise.
62166         * modules/strsep (License): Likewise.
62167         * modules/sys_select (License): Likewise.
62168         * modules/sys_socket (License): Likewise.
62169         * modules/sys_stat (License): Likewise.
62170         * modules/sys_time (License): Likewise.
62171         * modules/time (License): Likewise.
62172         * modules/time_r (License): Likewise.
62173         * modules/timegm (License): Likewise.
62174         * modules/unistd (License): Likewise.
62175         * modules/vsnprintf (License): Likewise.
62176         * modules/wctype (License): Likewise.
62177
62178 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62179
62180         * modules/argz (License): LGPLv2+.
62181
62182 2007-07-15  Karl Berry  <karl@gnu.org>
62183
62184         * doc/gnulib.texi: revise node structure per new fdl.texi.
62185
62186 2007-07-14  Bruno Haible  <bruno@clisp.org>
62187
62188         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
62189         the output file.
62190         * lib/uniname/uninames.h: Regenerated.
62191
62192 2007-07-14  Karl Berry  <karl@gnu.org>
62193
62194         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
62195         omitting sectioning and index commands.
62196
62197 2007-07-13  Bruno Haible  <bruno@clisp.org>
62198
62199         New gnulib-tool option --more-symlinks.
62200         * gnulib-tool (func_usage): Document --more-symlinks.
62201         (do_copyrights): New variable.
62202         Recognize option --more-symlinks.
62203         (func_import): Don't add a copyright notice transform to
62204         sed_transform_lib_file if do_copyrights is empty.
62205
62206 2007-07-13  Bruno Haible  <bruno@clisp.org>
62207
62208         * lib/vasnprintf.c (decimal_point_char): Define also if
62209         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
62210         && !NEED_PRINTF_DIRECTIVE_A.
62211         Reported by Clemens Koller <clemens.koller@anagramm.de> via
62212         Gary V. Vaughan <gary@gnu.org>.
62213
62214 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
62215
62216         * lib/inttypes_.h: Undo previous change, since it was fixed
62217         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
62218
62219 2007-07-13  Bruno Haible  <bruno@clisp.org>
62220
62221         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
62222         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
62223
62224 2007-07-13  Jim Meyering  <jim@meyering.net>
62225
62226         df: Don't fail for Tru64's "file-on-file mount".
62227         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
62228         so we fall through and use statfs instead.  Details here:
62229         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
62230         Reported by Albert Chin.
62231
62232 2007-07-13  Bruno Haible  <bruno@clisp.org>
62233
62234         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
62235         * modules/configmake (License): Likewise.
62236         * modules/gettext (License): Likewise.
62237         * modules/gettext-h (License): Likewise.
62238         * modules/include_next (License): Likewise.
62239         * modules/link-warning (License): Likewise.
62240         * modules/localcharset (License): Likewise.
62241         * modules/localename (License): Likewise.
62242         * modules/lock (License): Likewise.
62243         * modules/relocatable-lib-lgpl (License): Likewise.
62244         * modules/size_max (License): Likewise.
62245         * modules/vasnprintf (License): Likewise.
62246         * modules/wchar (License): Likewise.
62247         * modules/xsize (License): Likewise.
62248
62249 2007-07-13  Bruno Haible  <bruno@clisp.org>
62250
62251         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
62252         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
62253
62254 2007-07-12  Bruno Haible  <bruno@clisp.org>
62255
62256         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
62257         in the modules files.
62258
62259 2007-07-11  Karl Berry  <karl@gnu.org>
62260
62261         * MODULES.html.sh (func_module): use
62262          sed -e '\|^'"${includefile}"'$|d'
62263          instead of /.../d, to avoid errors on $includefile's containing /.
62264
62265 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62266
62267         * gnulib-tool (func_import): Avoid duplication of --avoid
62268         statements
62269         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
62270         names to `_' in variable names.
62271
62272 2007-07-10  Eric Blake  <ebb9@byu.net>
62273
62274         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
62275         * NEWS: Document this change.
62276
62277 2007-07-08  Bruno Haible  <bruno@clisp.org>
62278
62279         Update to Unicode 5.0.
62280         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
62281         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
62282         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
62283         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
62284         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
62285         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
62286         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
62287         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
62288         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
62289         U+10A3F, U+1D242..U+1D244.
62290         (nonspacing_table_ind): Update.
62291         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
62292         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
62293
62294 2007-07-08  Bruno Haible  <bruno@clisp.org>
62295
62296         Update to Unicode 5.0.
62297         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
62298         code transform. Extend the name index field of unicode_name_to_code and
62299         unicode_code_to_name from 16 to 24 bits.
62300         * lib/uniname/uniname.c (unicode_character_name,
62301         unicode_name_character): Add the range 0x12xxx to the code transform.
62302         * lib/uniname/uninames.h: Regenerated.
62303         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
62304
62305 2007-07-07  Bruno Haible  <bruno@clisp.org>
62306
62307         * modules/wcwidth-tests: New file.
62308         * tests/test-wcwidth.c: New file.
62309
62310         Work around MacOS X wcwidth() bug.
62311         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
62312         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
62313         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
62314         original wcwidth in non-UTF-8 locales.
62315         * modules/wcwidth (Depends-on): Add localcharset, streq,
62316         uniwidth/width.
62317         * doc/functions/wcwidth.texi: Update.
62318
62319 2007-07-07  Bruno Haible  <bruno@clisp.org>
62320
62321         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
62322         (wcwidth): New declaration.
62323         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
62324         macros.
62325         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
62326         here. Prepare for creating <wchar.h> unconditionally.
62327         * modules/wchar (Depends-on): Add link-warning.
62328         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
62329         REPLACE_WCWIDTH, and GL_LINK_WARNING.
62330         * lib/wcwidth.h: Remove file.
62331         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
62332         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
62333         * modules/wcwidth (Files): Remove lib/wcwidth.h.
62334         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
62335         (Include): Replace wcwidth.h with <wchar.h>.
62336         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
62337         * lib/mbchar.h: Don't include wcwidth.h.
62338         * lib/mbswidth.c: Likewise.
62339         * NEWS: Mention the change.
62340
62341 2007-07-07  Bruno Haible  <bruno@clisp.org>
62342
62343         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
62344         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
62345         definition with an external declaration.
62346         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
62347         defined as a function. Remove AC_C_INLINE requirement.
62348         * modules/wcwidth (Files): Add lib/wcwidth.c.
62349         (Makefile.am): Remove redundant statement.
62350
62351 2007-07-07  Bruno Haible  <bruno@clisp.org>
62352
62353         * MODULES.html.sh (Unicode string functions): Add the new modules.
62354
62355         * tests/uniwidth/test-u32-strwidth.c: New file.
62356         * modules/uniwidth/u32-strwidth-tests: New file.
62357
62358         * lib/uniwidth/u32-strwidth.c: New file.
62359         * modules/uniwidth/u32-strwidth: New file.
62360
62361         * tests/uniwidth/test-u16-strwidth.c: New file.
62362         * modules/uniwidth/u16-strwidth-tests: New file.
62363
62364         * lib/uniwidth/u16-strwidth.c: New file.
62365         * modules/uniwidth/u16-strwidth: New file.
62366
62367         * tests/uniwidth/test-u8-strwidth.c: New file.
62368         * modules/uniwidth/u8-strwidth-tests: New file.
62369
62370         * lib/uniwidth/u8-strwidth.c: New file.
62371         * modules/uniwidth/u8-strwidth: New file.
62372
62373         * tests/uniwidth/test-u32-width.c: New file.
62374         * modules/uniwidth/u32-width-tests: New file.
62375
62376         * lib/uniwidth/u32-width.c: New file.
62377         * modules/uniwidth/u32-width: New file.
62378
62379         * tests/uniwidth/test-u16-width.c: New file.
62380         * modules/uniwidth/u16-width-tests: New file.
62381
62382         * lib/uniwidth/u16-width.c: New file.
62383         * modules/uniwidth/u16-width: New file.
62384
62385         * tests/uniwidth/test-u8-width.c: New file.
62386         * modules/uniwidth/u8-width-tests: New file.
62387
62388         * lib/uniwidth/u8-width.c: New file.
62389         * modules/uniwidth/u8-width: New file.
62390
62391         * tests/uniwidth/test-uc_width.c: New file.
62392         * modules/uniwidth/width-tests: New file.
62393
62394         * lib/uniwidth/width.c: New file, from GNU libiconv.
62395         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
62396         * modules/uniwidth/width: New file.
62397
62398         * lib/uniwidth.h: New file, from GNU libiconv.
62399         * modules/uniwidth/base: New file.
62400
62401 2007-07-07  Bruno Haible  <bruno@clisp.org>
62402
62403         * lib/uniname.h: New file, from GNU gettext.
62404         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
62405         * lib/uniname/uninames.h: New file, from GNU gettext.
62406         * lib/uniname/uniname.c: New file, from GNU gettext.
62407         * tests/uniname/test-uninames.sh: New file.
62408         * tests/uniname/test-uninames.c: New file, from GNU gettext.
62409         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
62410         * modules/uniname/base: New file.
62411         * modules/uniname/uniname: New file.
62412         * modules/uniname/uniname-tests: New file.
62413         * MODULES.html.sh (Unicode string functions): Add the new modules.
62414
62415 2007-07-06  Bruno Haible  <bruno@clisp.org>
62416
62417         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
62418
62419 2007-07-06  Bruno Haible  <bruno@clisp.org>
62420
62421         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
62422         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
62423         includes <cygwin/sys_time.h> which includes <sys/select.h> which
62424         include <sys/time.h>.
62425         Reported by Eric Blake.
62426
62427 2007-07-06  Eric Blake  <ebb9@byu.net>
62428
62429         Fix testing canonicalize on cygwin.
62430         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62431         Revert patch from 2007-06-19.
62432         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
62433         canonicalize module is also in use.
62434         * tests/test-canonicalize.c: New file.
62435         * tests/test-canonicalize.sh: Likewise.
62436         * modules/canonicalize-tests: Likewise.
62437
62438 2007-07-06  Jim Meyering  <jim@meyering.net>
62439
62440         * lib/getugroups.c (getugroups): Detect getgrent failure.
62441         Adjust comment to reflect reality: this function may return -1.
62442
62443 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62444
62445         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62446         the new TP address.
62447         (usage): Fix typo
62448         (gnulib_mk): New variable.
62449
62450 2007-07-05  Jim Meyering  <jim@meyering.net>
62451
62452         Don't let endgrent clobber errno, no matter how improbable.
62453         * lib/getugroups.c (getugroups): Save and restore errno around
62454         endgrent call.
62455
62456         Close the group DB even when failing with 2^31 or more members.
62457         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62458
62459 2007-07-04  Jim Meyering  <jim@meyering.net>
62460
62461         * lib/getugroups.h: New file.
62462         * lib/getugroups.c: Include "getugroups.h".
62463         Remove uses of "register" keyword.
62464         Move local variable, "cp", down into scope where used.
62465         Give "username" parameter the "const" attribute.
62466         * modules/getugroups (Files): Add lib/getugroups.h
62467
62468 2007-07-04  Karl Berry  <karl@gnu.org>
62469
62470         * MODULES.html.sh (func_all_modules): Complete rename of
62471         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62472
62473 2007-07-02  Bruno Haible  <bruno@clisp.org>
62474
62475         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62476         mode, when inttypes.h comes from gnulib.
62477         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62478
62479 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62480
62481         * NEWS: Mention lgpl module name change.
62482
62483         * modules/lgpl-2.1: Renamed from lgpl.
62484
62485         * NEWS: Mention gpl module name change.
62486
62487         * modules/gpl-3.0: New file, based on gpl-2.0.
62488
62489         * modules/gpl-2.0: Renamed from gpl.
62490
62491         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62492         doc/gpl-2.0.texi.
62493
62494 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62495
62496         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62497         #define __STDC_LIMIT_MACROS temporarily while including
62498         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62499         Problem reported by Joel E. Denny in
62500         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62501
62502 2007-07-01  Bruno Haible  <bruno@clisp.org>
62503
62504         * lib/unistdio.h: New file.
62505         * lib/unistdio/u-asnprintf.h: New file.
62506         * lib/unistdio/u-asprintf.h: New file.
62507         * lib/unistdio/u-printf-args.c: New file.
62508         * lib/unistdio/u-printf-args.h: New file.
62509         * lib/unistdio/u-printf-parse.h: New file.
62510         * lib/unistdio/u-snprintf.h: New file.
62511         * lib/unistdio/u-sprintf.h: New file.
62512         * lib/unistdio/u-vasprintf.h: New file.
62513         * lib/unistdio/u-vsnprintf.h: New file.
62514         * lib/unistdio/u-vsprintf.h: New file.
62515         * lib/unistdio/ulc-asnprintf.c: New file.
62516         * lib/unistdio/ulc-asprintf.c: New file.
62517         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62518         * lib/unistdio/ulc-printf-parse.c: New file.
62519         * lib/unistdio/ulc-snprintf.c: New file.
62520         * lib/unistdio/ulc-sprintf.c: New file.
62521         * lib/unistdio/ulc-vasnprintf.c: New file.
62522         * lib/unistdio/ulc-vasprintf.c: New file.
62523         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62524         * lib/unistdio/ulc-vsnprintf.c: New file.
62525         * lib/unistdio/ulc-vsprintf.c: New file.
62526         * lib/unistdio/u8-asnprintf.c: New file.
62527         * lib/unistdio/u8-asprintf.c: New file.
62528         * lib/unistdio/u8-printf-parse.c: New file.
62529         * lib/unistdio/u8-snprintf.c: New file.
62530         * lib/unistdio/u8-sprintf.c: New file.
62531         * lib/unistdio/u8-vasnprintf.c: New file.
62532         * lib/unistdio/u8-vasprintf.c: New file.
62533         * lib/unistdio/u8-vsnprintf.c: New file.
62534         * lib/unistdio/u8-vsprintf.c: New file.
62535         * lib/unistdio/u8-u8-asnprintf.c: New file.
62536         * lib/unistdio/u8-u8-asprintf.c: New file.
62537         * lib/unistdio/u8-u8-snprintf.c: New file.
62538         * lib/unistdio/u8-u8-sprintf.c: New file.
62539         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62540         * lib/unistdio/u8-u8-vasprintf.c: New file.
62541         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62542         * lib/unistdio/u8-u8-vsprintf.c: New file.
62543         * lib/unistdio/u16-asnprintf.c: New file.
62544         * lib/unistdio/u16-asprintf.c: New file.
62545         * lib/unistdio/u16-printf-parse.c: New file.
62546         * lib/unistdio/u16-snprintf.c: New file.
62547         * lib/unistdio/u16-sprintf.c: New file.
62548         * lib/unistdio/u16-vasnprintf.c: New file.
62549         * lib/unistdio/u16-vasprintf.c: New file.
62550         * lib/unistdio/u16-vsnprintf.c: New file.
62551         * lib/unistdio/u16-vsprintf.c: New file.
62552         * lib/unistdio/u16-u16-asnprintf.c: New file.
62553         * lib/unistdio/u16-u16-asprintf.c: New file.
62554         * lib/unistdio/u16-u16-snprintf.c: New file.
62555         * lib/unistdio/u16-u16-sprintf.c: New file.
62556         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62557         * lib/unistdio/u16-u16-vasprintf.c: New file.
62558         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62559         * lib/unistdio/u16-u16-vsprintf.c: New file.
62560         * lib/unistdio/u32-asnprintf.c: New file.
62561         * lib/unistdio/u32-asprintf.c: New file.
62562         * lib/unistdio/u32-printf-parse.c: New file.
62563         * lib/unistdio/u32-snprintf.c: New file.
62564         * lib/unistdio/u32-sprintf.c: New file.
62565         * lib/unistdio/u32-vasnprintf.c: New file.
62566         * lib/unistdio/u32-vasprintf.c: New file.
62567         * lib/unistdio/u32-vsnprintf.c: New file.
62568         * lib/unistdio/u32-vsprintf.c: New file.
62569         * lib/unistdio/u32-u32-asnprintf.c: New file.
62570         * lib/unistdio/u32-u32-asprintf.c: New file.
62571         * lib/unistdio/u32-u32-snprintf.c: New file.
62572         * lib/unistdio/u32-u32-sprintf.c: New file.
62573         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62574         * lib/unistdio/u32-u32-vasprintf.c: New file.
62575         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62576         * lib/unistdio/u32-u32-vsprintf.c: New file.
62577         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62578         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62579         * tests/unistdio/test-ulc-printf1.h: New file.
62580         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62581         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62582         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62583         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62584         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62585         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62586         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62587         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62588         * tests/unistdio/test-u8-asnprintf1.c: New file.
62589         * tests/unistdio/test-u8-asnprintf1.h: New file.
62590         * tests/unistdio/test-u8-printf1.h: New file.
62591         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62592         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62593         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62594         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62595         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62596         * tests/unistdio/test-u8-vasprintf1.c: New file.
62597         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62598         * tests/unistdio/test-u8-vsprintf1.c: New file.
62599         * tests/unistdio/test-u16-asnprintf1.c: New file.
62600         * tests/unistdio/test-u16-asnprintf1.h: New file.
62601         * tests/unistdio/test-u16-printf1.h: New file.
62602         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62603         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62604         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62605         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62606         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62607         * tests/unistdio/test-u16-vasprintf1.c: New file.
62608         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62609         * tests/unistdio/test-u16-vsprintf1.c: New file.
62610         * tests/unistdio/test-u32-asnprintf1.c: New file.
62611         * tests/unistdio/test-u32-asnprintf1.h: New file.
62612         * tests/unistdio/test-u32-printf1.h: New file.
62613         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62614         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62615         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62616         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62617         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62618         * tests/unistdio/test-u32-vasprintf1.c: New file.
62619         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62620         * tests/unistdio/test-u32-vsprintf1.c: New file.
62621         * modules/unistdio/base: New file.
62622         * modules/unistdio/u-printf-args: New file.
62623         * modules/unistdio/ulc-asnprintf: New file.
62624         * modules/unistdio/ulc-asprintf: New file.
62625         * modules/unistdio/ulc-fprintf: New file.
62626         * modules/unistdio/ulc-printf-parse: New file.
62627         * modules/unistdio/ulc-snprintf: New file.
62628         * modules/unistdio/ulc-sprintf: New file.
62629         * modules/unistdio/ulc-vasnprintf: New file.
62630         * modules/unistdio/ulc-vasprintf: New file.
62631         * modules/unistdio/ulc-vfprintf: New file.
62632         * modules/unistdio/ulc-vsnprintf: New file.
62633         * modules/unistdio/ulc-vsprintf: New file.
62634         * modules/unistdio/u8-asnprintf: New file.
62635         * modules/unistdio/u8-asprintf: New file.
62636         * modules/unistdio/u8-printf-parse: New file.
62637         * modules/unistdio/u8-snprintf: New file.
62638         * modules/unistdio/u8-sprintf: New file.
62639         * modules/unistdio/u8-vasnprintf: New file.
62640         * modules/unistdio/u8-vasprintf: New file.
62641         * modules/unistdio/u8-vsnprintf: New file.
62642         * modules/unistdio/u8-vsprintf: New file.
62643         * modules/unistdio/u8-u8-asnprintf: New file.
62644         * modules/unistdio/u8-u8-asprintf: New file.
62645         * modules/unistdio/u8-u8-snprintf: New file.
62646         * modules/unistdio/u8-u8-sprintf: New file.
62647         * modules/unistdio/u8-u8-vasnprintf: New file.
62648         * modules/unistdio/u8-u8-vasprintf: New file.
62649         * modules/unistdio/u8-u8-vsnprintf: New file.
62650         * modules/unistdio/u8-u8-vsprintf: New file.
62651         * modules/unistdio/u16-asnprintf: New file.
62652         * modules/unistdio/u16-asprintf: New file.
62653         * modules/unistdio/u16-printf-parse: New file.
62654         * modules/unistdio/u16-snprintf: New file.
62655         * modules/unistdio/u16-sprintf: New file.
62656         * modules/unistdio/u16-vasnprintf: New file.
62657         * modules/unistdio/u16-vasprintf: New file.
62658         * modules/unistdio/u16-vsnprintf: New file.
62659         * modules/unistdio/u16-vsprintf: New file.
62660         * modules/unistdio/u16-u16-asnprintf: New file.
62661         * modules/unistdio/u16-u16-asprintf: New file.
62662         * modules/unistdio/u16-u16-snprintf: New file.
62663         * modules/unistdio/u16-u16-sprintf: New file.
62664         * modules/unistdio/u16-u16-vasnprintf: New file.
62665         * modules/unistdio/u16-u16-vasprintf: New file.
62666         * modules/unistdio/u16-u16-vsnprintf: New file.
62667         * modules/unistdio/u16-u16-vsprintf: New file.
62668         * modules/unistdio/u32-asnprintf: New file.
62669         * modules/unistdio/u32-asprintf: New file.
62670         * modules/unistdio/u32-printf-parse: New file.
62671         * modules/unistdio/u32-snprintf: New file.
62672         * modules/unistdio/u32-sprintf: New file.
62673         * modules/unistdio/u32-vasnprintf: New file.
62674         * modules/unistdio/u32-vasprintf: New file.
62675         * modules/unistdio/u32-vsnprintf: New file.
62676         * modules/unistdio/u32-vsprintf: New file.
62677         * modules/unistdio/u32-u32-asnprintf: New file.
62678         * modules/unistdio/u32-u32-asprintf: New file.
62679         * modules/unistdio/u32-u32-snprintf: New file.
62680         * modules/unistdio/u32-u32-sprintf: New file.
62681         * modules/unistdio/u32-u32-vasnprintf: New file.
62682         * modules/unistdio/u32-u32-vasprintf: New file.
62683         * modules/unistdio/u32-u32-vsnprintf: New file.
62684         * modules/unistdio/u32-u32-vsprintf: New file.
62685         * modules/unistdio/ulc-asnprintf-tests: New file.
62686         * modules/unistdio/ulc-vasnprintf-tests: New file.
62687         * modules/unistdio/ulc-vasprintf-tests: New file.
62688         * modules/unistdio/ulc-vsnprintf-tests: New file.
62689         * modules/unistdio/ulc-vsprintf-tests: New file.
62690         * modules/unistdio/u8-asnprintf-tests: New file.
62691         * modules/unistdio/u8-vasnprintf-tests: New file.
62692         * modules/unistdio/u8-vasprintf-tests: New file.
62693         * modules/unistdio/u8-vsnprintf-tests: New file.
62694         * modules/unistdio/u8-vsprintf-tests: New file.
62695         * modules/unistdio/u16-asnprintf-tests: New file.
62696         * modules/unistdio/u16-vasnprintf-tests: New file.
62697         * modules/unistdio/u16-vasprintf-tests: New file.
62698         * modules/unistdio/u16-vsnprintf-tests: New file.
62699         * modules/unistdio/u16-vsprintf-tests: New file.
62700         * modules/unistdio/u32-asnprintf-tests: New file.
62701         * modules/unistdio/u32-vasnprintf-tests: New file.
62702         * modules/unistdio/u32-vasprintf-tests: New file.
62703         * modules/unistdio/u32-vsnprintf-tests: New file.
62704         * modules/unistdio/u32-vsprintf-tests: New file.
62705         * MODULES.html.sh (Unicode string functions): Add the new modules.
62706
62707 2007-07-01  Bruno Haible  <bruno@clisp.org>
62708
62709         * lib/sprintf.c (sprintf): Limit the available length estimation,
62710         to avoid address wraparound.
62711         * lib/vsprintf.c (vsprintf): Likewise.
62712         * modules/sprintf-posix (Dependencies): Add stdint.
62713         * modules/vsprintf-posix (Dependencies): Likewise.
62714
62715 2007-07-01  Bruno Haible  <bruno@clisp.org>
62716
62717         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62718         Windows PATH as well. Conservative double-quoting. Comments.
62719
62720 2007-07-01  Bruno Haible  <bruno@clisp.org>
62721             Eric Blake  <ebb9@byu.net>
62722             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62723
62724         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62725         empty components in $PATH, denoting '.'.
62726
62727 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62728
62729         * gnulib-tool: Fix indentation.
62730         (func_create_megatestdir): Likewise.
62731         Report by Bruno Haible.
62732
62733 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62734
62735         Sync from Automake.
62736         * build-aux/gnupload: Fix shell portability issues with for loops.
62737         Report by Karl Berry.
62738
62739 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62740
62741         * build-aux/maint.mk (POURL): Use translationproject.org.
62742
62743 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62744             Bruno Haible  <bruno@clisp.org>
62745
62746         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62747         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62748         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62749         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62750         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62751
62752 2007-06-27  Bruno Haible  <bruno@clisp.org>
62753
62754         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62755         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62756
62757 2007-06-26  Karl Berry  <karl@gnu.org>
62758
62759         * MODULES.html.sh: remove xreadlink-with-size.
62760
62761 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62762
62763         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62764         method that I hope also handles the double-include problem noted
62765         by Bruno Haible in
62766         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62767
62768 2007-06-23  Bruno Haible  <bruno@clisp.org>
62769
62770         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62771         Don't let the 'mostlyclean' target fail if the last subdirectory could
62772         not be removed.
62773         Reported by Karl Berry.
62774
62775 2007-06-23  Bruno Haible  <bruno@clisp.org>
62776
62777         * gnulib-tool (echo): Add a speedier workaround for ksh.
62778         * tests/test-echo.sh: Likewise.
62779
62780 2007-06-23  Bruno Haible  <bruno@clisp.org>
62781
62782         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62783         * tests/test-echo.sh: Likewise.
62784
62785 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62786
62787         * gnulib-tool (IFS): Initialize early, so we don't set it to
62788         empty later.
62789         (self_abspathname): Rewrite algorithm to set it, reindent.
62790         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62791         (func_create_megatestdir): Merge some sed scripts.
62792
62793 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62794
62795         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62796         exposed by Sun Studio 11 cc on Solaris 8.
62797
62798 2007-06-22  Bruno Haible  <bruno@clisp.org>
62799
62800         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62801         backslashes.
62802         * tests/test-echo.sh: New file.
62803
62804 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62805
62806         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62807         simplify `sed_replace_build_aux' scripts, they are portable but
62808         echoing them with `echo' is not.
62809         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62810
62811 2007-06-21  Karl Berry  <karl@gnu.org>
62812
62813         * config/srclist.txt: guess we can't handle the licenses via
62814         srclist at the moment.
62815
62816 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62817
62818         * MODULES.html.sh: Add include_next.
62819         * modules/include_next: New file.
62820
62821 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62822
62823         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62824         INCLUDE_NEXT.
62825         (gl_CHECK_NEXT_HEADERS): New macro.
62826         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62827         the obsolescent gl_ABSOLUTE_HEADER.
62828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62829         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62830         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62831         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62832         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62833         * m4/math_h.m4 (gl_MATH_H): Likewise.
62834         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62835         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62836         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62837         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62838         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62839         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62840         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62841         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62842         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62843         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62844         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62845         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62846         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62847         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62848         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62849         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62850         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62851         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62852         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62853         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62854         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62855         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62856         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62857         * lib/float_.h: Likewise.
62858         * lib/inttypes_.h: Likewise.
62859         * lib/math_.h: Likewise.
62860         * lib/search_.h: Likewise.
62861         * lib/signal_.h: Likewise.
62862         * lib/stdint_.h: Likewise.
62863         * lib/stdio_.h: Likewise.
62864         * lib/stdlib_.h: Likewise.
62865         * lib/string_.h: Likewise.
62866         * lib/sys_stat_.h: Likewise.
62867         * lib/sys_time_.h: Likewise.
62868         * lib/time_.h: Likewise.
62869         * lib/unistd_.h: Likewise.
62870         * lib/wchar_.h: Likewise.
62871         * lib/wctype_.h: Likewise.
62872         * lib/dirent_.h: Likewise.
62873         * lib/iconv_.h: Likewise.
62874         * lib/locale_.h: Likewise.
62875         * lib/netinet_in_.h: Likewise.
62876         * lib/sys_select_.h: Likewise.
62877         * lib/sys_socket_.h: Likewise.
62878         * lib/sysexits_.h: Likewise.
62879         * modules/fcntl (Depends-on): Depend on include_next, not
62880         absolute_header.
62881         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62882         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62883         * modules/fchdir: Likewise.
62884         * modules/float: Likewise.
62885         * modules/iconv_open: Likewise.
62886         * modules/inttypes: Likewise.
62887         * modules/locale: Likewise.
62888         * modules/math: Likewise.
62889         * modules/netinet_in: Likewise.
62890         * modules/search: Likewise.
62891         * modules/signal: Likewise.
62892         * modules/stdint: Likewise.
62893         * modules/stdio: Likewise.
62894         * modules/stdlib: Likewise.
62895         * modules/string: Likewise.
62896         * modules/sys_select: Likewise.
62897         * modules/sys_socket: Likewise.
62898         * modules/sys_stat: Likewise.
62899         * modules/sys_time: Likewise.
62900         * modules/sysexits: Likewise.
62901         * modules/time: Likewise.
62902         * modules/unistd: Likewise.
62903         * modules/wchar: Likewise.
62904         * modules/wctype: Likewise.
62905         * modules/sys_stat: Change maintainer to "all".
62906         * modules/unistd: Likewise.
62907
62908 2007-06-20  Karl Berry  <karl@gnu.org>
62909
62910         * config/srclist.txt: track www changes in license files.
62911
62912 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62913
62914         * build-aux/bootstrap: Remove stray dot.
62915         Make sure build_aux settings are honored when linking
62916         gnulib_extra_files.
62917
62918 2007-06-19  Eric Blake  <ebb9@byu.net>
62919
62920         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62921         Allow compilation on cygwin.
62922
62923 2007-06-19  Jim Meyering  <jim@meyering.net>
62924
62925         xreadlink-with-size: Remove module.  No longer used.
62926         Ex-callers now use xreadlink or mreadlink-with-size.
62927         * modules/xreadlink-with-size: Remove module.
62928         * lib/xreadlink-with-size.c: Remove file.
62929         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62930         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62931         just before the function definition *is* accurate.
62932
62933         Eliminate one way canonicalize_filename_mode could exit.
62934         * lib/canonicalize.c (canonicalize_filename_mode):
62935         Use mreadlink_with_size, not xreadlink_with_size.
62936
62937 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62938
62939         Detect porting problems to FreeBSD/arm, which has time_t wider than
62940         long int.  Original problem reported for GNU diff by Xin Li in
62941         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62942         * modules/getdate (Depends-on): Add intprops, verify.
62943         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62944         is an integer type no wider than long int.
62945
62946 2007-06-18  Jim Meyering  <jim@meyering.net>
62947
62948         New module: mreadlink-with-size.
62949         * MODULES.html.sh: Add mreadlink-with-size.
62950         * modules/mreadlink-with-size: New module
62951         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62952         not xreadlink-with-size.
62953         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62954
62955 2007-06-16  Bruno Haible  <bruno@clisp.org>
62956
62957         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62958         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62959         Reported by Gary V. Vaughan <gary@gnu.org>.
62960
62961 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62962
62963         Revamp lchown so that it lives in unistd.h where it belongs.
62964         * lib/lchown.h: Remove.
62965         * lib/dirchownmod.c: Don't include lib/lchown.h.
62966         * lib/fchownat.c: Likewise.
62967         * lib/openat.c: Likewise.
62968         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62969         does not follow symlinks.
62970         (EOPNOTSUPP): Define if not defined.
62971         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62972         is defined to 0.
62973         (lchown): New decl.
62974         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62975         Do not check for lchown decl.
62976         Set REPLACE_LCHOWN.
62977         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62978         REPLACE_LCHOWN.
62979         * modules/chown: Make it clear it follows symlinks.
62980         * modules/lchown: Make it clear it doesn't follow symlinks.
62981         (Files): Remove lib/lchown.h
62982         (Depends-on): Add unistd.
62983         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62984         (Include): Include <unistd.h>, not "lchown.h".
62985         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62986         REPLACE_LCHOWN.
62987
62988 2007-06-15  Jim Meyering  <jim@meyering.net>
62989
62990         Change license (GPL to LGPL) of fsusage and dependents.
62991         * modules/fsusage (License): Change to LGPL.
62992         * modules/full-read (License): Likewise.
62993         * modules/full-write (License): Likewise.
62994         * modules/safe-read (License): Likewise.
62995         * modules/safe-write (License): Likewise.
62996
62997 2007-06-14  Ben Pfaff  <blp@gnu.org>
62998
62999         Missing part of allocsa -> malloca transition.
63000         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
63001         gl_MALLOCA.
63002
63003 2007-06-12  Bruno Haible  <bruno@clisp.org>
63004
63005         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
63006         to ia64, x86_64, i386.
63007         Reported by Eric Blake.
63008
63009 2007-06-12  Bruno Haible  <bruno@clisp.org>
63010
63011         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
63012         cross-compiling to x86_64.
63013
63014 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
63015
63016         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
63017         glitch reported by Ralf Wildenhues in
63018         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
63019
63020         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
63021         Vin Shelton.
63022
63023 2007-06-11  Bruno Haible  <bruno@clisp.org>
63024
63025         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
63026         replacement string.
63027         Reported by Eric Blake.
63028
63029 2007-06-10  Bruno Haible  <bruno@clisp.org>
63030
63031         Prepare vasnprintf code for use with Unicode strings.
63032         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
63033         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
63034         TYPE_U32_STRING.
63035         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
63036         a_u32_string variants.
63037         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63038         * lib/printf-args.c: Don't include config.h and the specification
63039         header if PRINTF_FETCHARGS is already defined.
63040         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
63041         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
63042         TYPE_U16_STRING, TYPE_U32_STRING.
63043         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
63044         u16_directive, u16_directives, u32_directive, u32_directives): New
63045         types.
63046         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
63047         New declarations.
63048         * lib/printf-parse.c: Don't include config.h and the specification
63049         header if PRINTF_PARSE is already defined. Eliminate the set of
63050         parameters for WIDE_CHAR_VERSION; the user of this file must provide
63051         them now. Include c-ctype.h.
63052         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
63053         directive and CHAR_T_ONLY_ASCII.
63054         * lib/vasnprintf.c: Don't include config.h and the specification header
63055         if VASNPRINTF is already defined.
63056         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
63057         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
63058         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
63059         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
63060         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
63061         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
63062         code accordingly.
63063         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
63064         pad_ourselves also in this case, with the 'c' and 's' directives, and
63065         with a different notion of "width".
63066         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
63067
63068 2007-06-10  Bruno Haible  <bruno@clisp.org>
63069
63070         * modules/unistr/u32-mbsnlen: New file.
63071         * lib/unistr/u32-mbsnlen.c: New file.
63072
63073         * modules/unistr/u16-mbsnlen: New file.
63074         * lib/unistr/u16-mbsnlen.c: New file.
63075
63076         * modules/unistr/u8-mbsnlen: New file.
63077         * lib/unistr/u8-mbsnlen.c: New file.
63078
63079         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
63080         declarations.
63081
63082 2007-06-10  Bruno Haible  <bruno@clisp.org>
63083
63084         * lib/string_.h (mbsnlen): New declaration.
63085         * lib/mbsnlen.c: New file.
63086         * m4/mbsnlen.m4: New file.
63087         * modules/mbsnlen: New file.
63088         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
63089         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
63090         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
63091
63092 2007-06-10  Bruno Haible  <bruno@clisp.org>
63093
63094         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
63095
63096 2007-06-10  Bruno Haible  <bruno@clisp.org>
63097
63098         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
63099         * lib/mbuiter.h: Likewise.
63100
63101 2007-06-10  Bruno Haible  <bruno@clisp.org>
63102
63103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
63104         declaration.
63105
63106 2007-06-10  Karl Berry  <karl@gnu.org>
63107
63108         * config/srclist.txt: remove gettext entries, Bruno prefers
63109         to update individually.
63110
63111 2007-06-10  Bruno Haible  <bruno@clisp.org>
63112
63113         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
63114         'maxlen'. Ensure only length + width bytes are allocated, not
63115         length + 1 + width.
63116
63117 2007-06-09  Bruno Haible  <bruno@clisp.org>
63118
63119         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
63120         (CHAR_T): Remove macro.
63121         (VASNPRINTF): Update.
63122
63123 2007-06-09  Bruno Haible  <bruno@clisp.org>
63124
63125         * MODULES.html.sh (Unicode string functions): Add the new modules.
63126
63127         * modules/uniconv/u32-conv-to-enc: New file.
63128         * lib/uniconv/u32-conv-to-enc.c: New file.
63129         * modules/uniconv/u32-conv-to-enc-tests: New file.
63130         * tests/uniconv/test-u32-conv-to-enc.c: New file.
63131
63132         * modules/uniconv/u16-conv-to-enc: New file.
63133         * lib/uniconv/u16-conv-to-enc.c: New file.
63134         * lib/uniconv/u-conv-to-enc.h: New file.
63135         * modules/uniconv/u16-conv-to-enc-tests: New file.
63136         * tests/uniconv/test-u16-conv-to-enc.c: New file.
63137
63138         * modules/uniconv/u8-conv-to-enc: New file.
63139         * lib/uniconv/u8-conv-to-enc.c: New file.
63140         * modules/uniconv/u8-conv-to-enc-tests: New file.
63141         * tests/uniconv/test-u8-conv-to-enc.c: New file.
63142
63143         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
63144         u32_conv_to_encoding): New declarations.
63145
63146 2007-06-09  Bruno Haible  <bruno@clisp.org>
63147
63148         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
63149
63150 2007-06-09  Bruno Haible  <bruno@clisp.org>
63151
63152         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
63153         * modules/malloca: Renamed from modules/allocsa, updated.
63154         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
63155         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
63156         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
63157         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
63158         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
63159         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
63160         * modules/xmalloca: Renamed from modules/xallocsa, updated.
63161         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
63162         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
63163         * modules/c-strcasestr (Depends-on): Update.
63164         * lib/c-strcasestr.c: Update.
63165         * modules/c-strstr (Depends-on): Update.
63166         * lib/c-strstr.c: Update.
63167         * modules/canonicalize-lgpl (Depends-on): Update.
63168         * lib/canonicalize-lgpl.c: Update.
63169         * modules/clean-temp (Depends-on): Update.
63170         * lib/clean-temp.c: Update.
63171         * modules/csharpcomp (Depends-on): Update.
63172         * lib/csharpcomp.c: Update.
63173         * modules/csharpexec (Depends-on): Update.
63174         * lib/csharpexec.c: Update.
63175         * modules/javacomp (Depends-on): Update.
63176         * lib/javacomp.c: Update.
63177         * modules/javaexec (Depends-on): Update.
63178         * lib/javaexec.c: Update.
63179         * modules/mbscasestr (Depends-on): Update.
63180         * lib/mbscasestr.c: Update.
63181         * modules/mbsstr (Depends-on): Update.
63182         * lib/mbsstr.c: Update.
63183         * modules/setenv (Depends-on): Update.
63184         * lib/setenv.c: Update.
63185         * modules/strcasestr (Depends-on): Update.
63186         * lib/strcasestr.c: Update.
63187         * modules/striconveha (Depends-on): Update.
63188         * lib/striconveha.c: Update.
63189         * modules/relocatable-prog-wrapper (Files): Update.
63190         * lib/relocwrapper.c: Update.
63191         * build-aux/install-reloc: Update.
63192         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
63193
63194 2007-06-08  Bruno Haible  <bruno@clisp.org>
63195
63196         Port to uClibc.
63197         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
63198         * lib/fpurge.c (fpurge): Likewise.
63199         * lib/freading.c (freading): Likewise.
63200         * lib/fseeko.c (rpl_fseeko): Likewise.
63201         * lib/fseterr.c (fseterr): Likewise.
63202         * lib/fwriting.c (fwriting): Likewise.
63203         * tests/test-fflush.c (main): Avoid a failure on uClibc.
63204
63205 2007-06-08  Bruno Haible  <bruno@clisp.org>
63206
63207         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
63208         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
63209         * modules/gettext (Files): Add m4/intlmacosx.m4.
63210
63211 2007-06-07  Bruno Haible  <bruno@clisp.org>
63212
63213         * modules/localename-tests: New file.
63214         * tests/test-localename.c: New file.
63215
63216         New module 'localename'.
63217         * lib/localename.h: New file.
63218         * lib/localename.c: New file, from GNU gettext.
63219         * m4/localename.m4: New file.
63220         * modules/localename: New file.
63221
63222 2007-06-07  Bruno Haible  <bruno@clisp.org>
63223
63224         Work around the lack of <wchar.h> on some builds of uClibc.
63225         * doc/headers/wchar.texi: Update.
63226         * lib/wchar_.h: Include <wchar.h> only if it exists.
63227         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
63228         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
63229         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
63230         doesn't exist.
63231         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
63232         * modules/mbfile (Depends-on): Add wchar.
63233         * modules/mbiter (Depends-on): Likewise.
63234         * modules/mbuiter (Depends-on): Likewise.
63235         Reported by Simon Josefsson.
63236
63237 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63238
63239         Work around problem reported by Steven M. Schweda in
63240         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
63241         Tru64 5.1B with the Compaq compiler environment installed declares
63242         an 'isblank' function but does not define it in the C library.
63243         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
63244         * lib/regex_internal.h (isblank): Likewise.
63245         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
63246         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63247
63248 2007-06-05  Bruno Haible  <bruno@clisp.org>
63249
63250         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
63251         ia64.
63252         * modules/printf-safe: New file.
63253         * modules/fprintf-posix (Depends-on): Add printf-safe.
63254         * modules/printf-posix (Depends-on): Likewise.
63255         * modules/snprintf-posix (Depends-on): Likewise.
63256         * modules/sprintf-posix (Depends-on): Likewise.
63257         * modules/vasnprintf-posix (Depends-on): Likewise.
63258         * modules/vasprintf-posix (Depends-on): Likewise.
63259         * modules/vfprintf-posix (Depends-on): Likewise.
63260         * modules/vprintf-posix (Depends-on): Likewise.
63261         * modules/vsnprintf-posix (Depends-on): Likewise.
63262         * modules/vsprintf-posix (Depends-on): Likewise.
63263         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
63264         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
63265         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
63266         "no" on i386, x86_64, ia64.
63267         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
63268         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63269         on i386, x86_64, ia64.
63270         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
63271         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63272         on i386, x86_64, ia64.
63273         * tests/test-vasnprintf-posix.c: Include float.h.
63274         (LDBL80_WORDS): New macro.
63275         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63276         on i386, x86_64, ia64.
63277         * tests/test-vasprintf-posix.c: Include float.h.
63278         (LDBL80_WORDS): New macro.
63279         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
63280         on i386, x86_64, ia64.
63281         * tests/test-snprintf-posix.c: Include float.h.
63282         * tests/test-sprintf-posix.c: Likewise.
63283         * tests/test-vsnprintf-posix.c: Likewise.
63284         * tests/test-vsprintf-posix.c: Likewise.
63285
63286 2007-06-05  Bruno Haible  <bruno@clisp.org>
63287
63288         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
63289         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
63290         non-IEEE numbers on i386, x86_64, ia64.
63291         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
63292         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
63293         * tests/test-isnanl.h: Include float.h.
63294         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
63295
63296 2007-06-05  Bruno Haible  <bruno@clisp.org>
63297
63298         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
63299         also the %a / %A. Handle the %a / %A code before this extra handling.
63300
63301 2007-06-05  Bruno Haible  <bruno@clisp.org>
63302
63303         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
63304         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
63305
63306 2007-06-05  Bruno Haible  <bruno@clisp.org>
63307
63308         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
63309         typo in variable name.
63310
63311 2007-06-05  Eric Blake  <ebb9@byu.net>
63312
63313         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
63314         Reported by Simon Josefsson.
63315
63316 2007-06-04  Bruno Haible  <bruno@clisp.org>
63317
63318         Avoid test failures on some PowerPC platforms.
63319         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
63320         Define differently for PowerPC.
63321         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
63322         Reported by Gary V. Vaughan <gary@gnu.org>.
63323
63324 2007-06-02  Bruno Haible  <bruno@clisp.org>
63325
63326         Fix test-stdint failure on FreeBSD/ia64.
63327         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
63328         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
63329         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
63330         * doc/headers/stdint.texi: Update.
63331
63332 2007-06-01  Bruno Haible  <bruno@clisp.org>
63333
63334         * tests/test-binary-io.c (main): Pass a third argument to open().
63335         Reported by Gary V. Vaughan <gary@gnu.org>.
63336
63337 2007-06-01  Bruno Haible  <bruno@clisp.org>
63338
63339         * doc/functions/frexpl.texi: Update for mingw.
63340
63341 2007-06-01  Bruno Haible  <bruno@clisp.org>
63342
63343         * tests/test-lseek.c (main): Disable test of errno for invalid third
63344         argument.
63345         * doc/functions/lseek.texi: Update.
63346         Reported by Gary V. Vaughan <gary@gnu.org>.
63347
63348 2007-05-28  Bruno Haible  <bruno@clisp.org>
63349
63350         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
63351
63352 2007-05-31  Eric Blake  <ebb9@byu.net>
63353
63354         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
63355         cross compiling.
63356
63357 2007-05-30  Eric Blake  <ebb9@byu.net>
63358         and Bruno Haible  <bruno@clisp.org>
63359
63360         Work around mingw test failures exposed by m4-1.4.9b.
63361         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
63362         * tests/test-unistd.c: Disable uid_t and git_t tests for the
63363         moment.
63364
63365 2007-05-30  Bruno Haible  <bruno@clisp.org>
63366
63367         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
63368         assuming that they are closed. Needed on HP-UX 11.
63369
63370 2007-05-29  Bruno Haible  <bruno@clisp.org>
63371
63372         Fix a problem with #include_next.
63373         * lib/dirent_.h: Split the double-inclusion guard.
63374         * lib/fcntl_.h: Likewise.
63375         * lib/float_.h: Likewise.
63376         * lib/iconv_.h: Likewise.
63377         * lib/inttypes_.h: Likewise.
63378         * lib/locale_.h: Likewise.
63379         * lib/math_.h: Likewise.
63380         * lib/netinet_in_.h: Likewise.
63381         * lib/search_.h: Likewise.
63382         * lib/signal_.h: Likewise.
63383         * lib/stdint_.h: Likewise.
63384         * lib/stdio_.h: Likewise.
63385         * lib/stdlib_.h: Likewise.
63386         * lib/string_.h: Likewise.
63387         * lib/sys_select_.h: Likewise.
63388         * lib/sys_socket_.h: Likewise.
63389         * lib/sys_stat_.h: Likewise.
63390         * lib/sys_time_.h: Likewise.
63391         * lib/sysexits_.h: Likewise.
63392         * lib/time_.h: Likewise.
63393         * lib/unistd_.h: Likewise.
63394         * lib/wchar_.h: Likewise.
63395         * lib/wctype_.h: Likewise.
63396
63397 2007-05-29  Bruno Haible  <bruno@clisp.org>
63398
63399         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
63400         for the moment.
63401
63402 2007-05-29  Bruno Haible  <bruno@clisp.org>
63403
63404         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
63405         invocation.
63406         Reported by Eric Blake.
63407
63408 2007-05-29  Bruno Haible  <bruno@clisp.org>
63409
63410         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
63411         compiling case.
63412
63413 2007-05-29  Eric Blake  <ebb9@byu.net>
63414             Bruno Haible  <bruno@clisp.org>
63415
63416         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
63417         cross compiles.
63418
63419 2007-05-28  Eric Blake  <ebb9@byu.net>
63420
63421         * modules/closein-tests (test_closein_LDADD): Support test on
63422         cygwin with libtool.
63423
63424 2007-05-28  Bruno Haible  <bruno@clisp.org>
63425
63426         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
63427         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63428         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63429         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63430         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63431         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63432         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63433         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63434         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63435
63436 2007-05-28  Eric Blake  <ebb9@byu.net>
63437
63438         Unconditionally include <config.h> in unit tests.
63439         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
63440         * tests/test-allocsa.c, tests/test-arcfour.c,
63441         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63442         tests/test-array_list.c, tests/test-array_oset.c,
63443         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63444         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63445         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63446         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63447         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63448         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63449         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63450         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63451         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63452         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63453         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63454         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63455         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63456         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63457         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63458         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63459         test-md5.c, test-memmem.c, test-printf-posix.c,
63460         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63461         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63462         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63463         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63464         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63465         test-vasnprintf-posix2.c, test-vasnprintf.c,
63466         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63467         test-vfprintf-posix.c, test-vprintf-posix.c,
63468         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63469         test-xvasprintf.c: Likewise.
63470
63471 2007-05-28  Bruno Haible  <bruno@clisp.org>
63472
63473         * gnulib-tool (func_import): Remember the --with-tests command-line
63474         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63475         Reported by Eric Blake.
63476
63477 2007-05-28  Bruno Haible  <bruno@clisp.org>
63478
63479         * modules/ftell-tests: New file.
63480         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63481         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63482
63483         * lib/ftell.c: New file.
63484         * modules/ftell: New file.
63485         * m4/ftell.m4: New file.
63486         * doc/functions/ftell.texi: Update.
63487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63488         REPLACE_FTELL.
63489         * lib/stdio_.h (rpl_ftell): New declaration.
63490         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63491         REPLACE_FTELL.
63492
63493 2007-05-28  Eric Blake  <ebb9@byu.net>
63494
63495         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63496
63497 2007-05-28  Bruno Haible  <bruno@clisp.org>
63498
63499         * modules/fseek-tests: New file.
63500         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63501         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63502
63503         * lib/fseek.c: New file.
63504         * modules/fseek: New file.
63505         * m4/fseek.m4: New file.
63506         * doc/functions/fseek.texi: Update.
63507         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63508         REPLACE_FSEEK.
63509         * lib/stdio_.h (rpl_fseek): New declaration.
63510         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63511         REPLACE_FSEEK.
63512
63513 2007-05-28  Bruno Haible  <bruno@clisp.org>
63514
63515         * lib/stdio_.h (fflush): More comments.
63516
63517 2007-05-28  Bruno Haible  <bruno@clisp.org>
63518
63519         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63520         runtime test.
63521
63522 2007-05-28  Eric Blake  <ebb9@byu.net>
63523
63524         Improve lseek module.
63525         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63526         * lib/unistd_.h (lseek): Scale back link warning message.
63527         * tests/test-lseek.c: Beef up test.
63528         * tests/test-lseek.sh: Exercise more facets of lseek.
63529         Reported by Bruno Haible.
63530
63531 2007-05-28  Bruno Haible  <bruno@clisp.org>
63532
63533         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63534         to define.
63535
63536 2007-05-27  Bruno Haible  <bruno@clisp.org>
63537
63538         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63539
63540 2007-05-27  Bruno Haible  <bruno@clisp.org>
63541
63542         * modules/openmp: New file.
63543         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63544         Noah Misch.
63545
63546 2007-05-26  Bruno Haible  <bruno@clisp.org>
63547
63548         * modules/chdir-long (Depends-on): Add fchdir.
63549         * modules/chdir-safer (Depends-on): Likewise.
63550         * modules/fts (Depends-on): Likewise.
63551         * modules/fts-lgpl (Depends-on): Likewise.
63552         * modules/openat (Depends-on): Likewise.
63553         * modules/savewd (Depends-on): Likewise.
63554
63555 2007-05-24  Eric Blake  <ebb9@byu.net>
63556
63557         Fix lseek on mingw.
63558         * modules/lseek: New module.
63559         * m4/lseek.m4: New file.
63560         * lib/lseek.c: New file.
63561         * modules/lseek-tests: New file.
63562         * tests/test-lseek.c: New file.
63563         * tests/test-lseek.sh: New file.
63564         * MODULES.html.sh: Document lseek module.
63565         * modules/fflush (Depends-on): Add lseek, fseeko.
63566         * modules/fseeko (Depends-on): Likewise.
63567         * modules/ftello (Depends-on): Likewise.
63568         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63569         broken.
63570         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63571         broken.
63572         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63573         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63574         * lib/ftello.c (rpl_ftello): Likewise.
63575         * tests/test-fseeko.c (main): Test this.
63576         * tests/test-fseeko.sh: Likewise.
63577         * tests/test-ftello.c (main): Likewise.
63578         * tests/test-ftello.sh: Likewise.
63579         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63580         implies replacing fseek.
63581         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63582         HAVE_FTELLO.
63583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63584         * modules/unistd (Makefile.am): Likewise.
63585         * lib/unistd_.h (lseek): Declare a replacement.
63586         * doc/functions/lseek.texi (lseek): Document this fix.
63587         * doc/functions/fseek.texi (fseek): Likewise.
63588         * doc/functions/ftell.texi (ftell): Likewise.
63589
63590 2007-05-24  Bruno Haible  <bruno@clisp.org>
63591
63592         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63593         in the printed representation of a NaN.
63594         * tests/test-vasprintf-posix.c (test_function): Likewise.
63595         * tests/test-snprintf-posix.h (test_function): Likewise.
63596         * tests/test-sprintf-posix.h (test_function): Likewise.
63597         Reported by Eric Blake.
63598
63599 2007-05-23  Eric Blake  <ebb9@byu.net>
63600
63601         Fix fseeko/ftello on cygwin 1.5.24.
63602         * doc/functions/fseeko.texi (fseeko): Document the fix.
63603         * doc/functions/ftello.texi (ftello): Document the fix.
63604         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63605         * doc/functions/stdout.text (stdout): New file.
63606         * doc/functions/stderr.text (stderr): New file.
63607         * doc/gnulib.texi (Function Substitutes): Use new files.
63608         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63609         prior to 1.7.0.
63610         * tests/test-ftello.c (main): Likewise for ftello.
63611         * tests/test-fseeko.sh: New file.
63612         * tests/test-ftello.sh: New file.
63613         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63614         with seekable stdin.
63615         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63616         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63617         (gl_REPLACE_FSEEKO): New macro.
63618         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63619         * modules/fseeko (Files): Distribute fseeko.c.
63620         * modules/ftello (Files): Distribute ftello.c.
63621         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63622         mode.
63623         * lib/ftello.c (rpl_ftello): New file.
63624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63625         fseeko, ftello.
63626         (gl_STDIN_LARGE_OFFSET): New macro.
63627         * modules/stdio (Makefile.am): Perform the replacement.
63628         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63629
63630 2007-05-23  Bruno Haible  <bruno@clisp.org>
63631
63632         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63633         GNULIB_POSIXCHECK is defined.
63634
63635 2007-05-21  Bruno Haible  <bruno@clisp.org>
63636
63637         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63638         Check also the output for NaN arguments. When cross-compiling, guess
63639         no on IRIX.
63640         * lib/vasnprintf.c: Update comments.
63641         * tests/test-vasnprintf-posix.c (strisnan): New function.
63642         (test_function): Use it.
63643         * tests/test-vasprintf-posix.c (strisnan): New function.
63644         (test_function): Use it.
63645         * tests/test-snprintf-posix.h (strisnan): New function.
63646         (test_function): Use it.
63647         * tests/test-sprintf-posix.h (strisnan): New function.
63648         (test_function): Use it.
63649         Reported by Eric Blake.
63650
63651 2007-05-20  Bruno Haible  <bruno@clisp.org>
63652
63653         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63654         numbers that fails on BeOS.
63655         * doc/functions/frexpl.texi: Update.
63656
63657 2007-05-20  Jim Meyering  <jim@meyering.net>
63658
63659         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63660         forced upon us by glibc-2.6.
63661
63662 2007-05-20  Bruno Haible  <bruno@clisp.org>
63663
63664         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63665         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63666         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63667         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63668         NEED_PRINTF_INFINITE.
63669         (is_infinitel): New function.
63670         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63671         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63672         gl_PREREQ_VASNPRINTF_INFINITE.
63673         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63675         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63676         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63677         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63678         gl_PREREQ_VASNPRINTF_INFINITE.
63679         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63680         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63681         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63682         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63683         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63684         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63685         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63686         * doc/functions/fprintf.texi: Update.
63687         * doc/functions/printf.texi: Update.
63688         * doc/functions/snprintf.texi: Update.
63689         * doc/functions/sprintf.texi: Update.
63690         * doc/functions/vfprintf.texi: Update.
63691         * doc/functions/vprintf.texi: Update.
63692         * doc/functions/vsnprintf.texi: Update.
63693         * doc/functions/vsprintf.texi: Update.
63694
63695 2007-05-20  Bruno Haible  <bruno@clisp.org>
63696
63697         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63698         was not found in libc.
63699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63700
63701 2007-05-20  Bruno Haible  <bruno@clisp.org>
63702
63703         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63704         printed as "-nan" instead of "nan".
63705         * tests/test-vasprintf-posix.c (test_function): Likewise.
63706         * tests/test-snprintf-posix.h (test_function): Likewise.
63707         * tests/test-sprintf-posix.h (test_function): Likewise.
63708         Needed for HP-UX 11.
63709
63710 2007-05-20  Jim Meyering  <jim@meyering.net>
63711
63712         Fix buggy test for the fchownat-deref bug.
63713         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63714         symlink required for the run-test.  Without it, this test would
63715         always declare that fchownat doesn't work, and client code would
63716         unnecessarily use the replacement function with fixed libc.
63717         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63718         Reported by Greg Schafer.
63719
63720 2007-05-19  Bruno Haible  <bruno@clisp.org>
63721
63722         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63723         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63724         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63725         Needed for IRIX 6.5 and Solaris 2.5.1.
63726
63727 2007-05-19  Bruno Haible  <bruno@clisp.org>
63728
63729         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63730         (test_function): Skip tests involving -0.0 on platforms where
63731         -0.0 = 0.0.
63732         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63733         (test_function): Skip tests involving -0.0 on platforms where
63734         -0.0 = 0.0.
63735         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63736         (test_function): Skip tests involving -0.0 on platforms where
63737         -0.0 = 0.0.
63738         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63739         (test_function): Skip tests involving -0.0 on platforms where
63740         -0.0 = 0.0.
63741         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63742         tests.
63743         * tests/test-printf-posix.h (test_function): Likewise.
63744         * tests/test-printf-posix.output: Remove all -0.0 related results.
63745         Needed for IRIX 6.5.
63746
63747 2007-05-19  Bruno Haible  <bruno@clisp.org>
63748
63749         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63750         printed as "nan0x7fffffff" instead of "nan".
63751         * tests/test-vasprintf-posix.c (test_function): Likewise.
63752         * tests/test-snprintf-posix.h (test_function): Likewise.
63753         * tests/test-sprintf-posix.h (test_function): Likewise.
63754         * tests/test-fprintf-posix.h (NaN): Remove macro.
63755         (test_function): Remove all NaN related tests.
63756         * tests/test-printf-posix.h (NaN): Remove macro.
63757         (test_function): Remove all NaN related tests.
63758         * tests/test-printf-posix.output: Remove all NaN related results.
63759         Needed for IRIX 6.5.
63760
63761 2007-05-19  Bruno Haible  <bruno@clisp.org>
63762
63763         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63764         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63765
63766 2007-05-19  Bruno Haible  <bruno@clisp.org>
63767
63768         * lib/float_.h: New file.
63769         * m4/float_h.m4: New file.
63770         * modules/float: New file.
63771         * modules/isnanl (Dependencies): Add float.
63772         * modules/isnanl-nolibm (Dependencies): Likewise.
63773         * modules/mathl (Dependencies): Likewise.
63774         * modules/printf-frexpl (Dependencies): Likewise.
63775         * modules/signbit (Dependencies): Likewise.
63776         * modules/vasnprintf (Dependencies): Likewise.
63777         * doc/headers/float.texi: Update.
63778
63779 2007-05-19  Jim Meyering  <jim@meyering.net>
63780
63781         * lib/utimens.c (gl_futimens): Rename from futimens,
63782         now that glibc-2.6 declares futimens.
63783         * lib/utimens.h: Likewise.
63784
63785 2007-05-19  Bruno Haible  <bruno@clisp.org>
63786
63787         Avoid test failures on mingw.
63788         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63789         * tests/test-printf-posix.sh: Likewise.
63790         * tests/test-vfprintf-posix.sh: Likewise.
63791         * tests/test-vprintf-posix.sh: Likewise.
63792
63793 2007-05-19  Bruno Haible  <bruno@clisp.org>
63794
63795         Fix *printf result for NaN, Inf, -0.0 on mingw.
63796         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63797         * lib/vasnprintf.c: Include math.h and isnan.h.
63798         (is_infinite_or_zero): New function.
63799         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63800         values in the %f, %F, %e, %E, %g, %G directives.
63801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63802         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63803         gl_PRINTF_INFINITE and test its result. Invoke
63804         gl_PREREQ_VASNPRINTF_INFINITE.
63805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63807         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63808         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63809         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63810         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63812         * doc/functions/fprintf.texi: Update.
63813         * doc/functions/printf.texi: Update.
63814         * doc/functions/snprintf.texi: Update.
63815         * doc/functions/sprintf.texi: Update.
63816         * doc/functions/vfprintf.texi: Update.
63817         * doc/functions/vprintf.texi: Update.
63818         * doc/functions/vsnprintf.texi: Update.
63819         * doc/functions/vsprintf.texi: Update.
63820
63821 2007-05-19  Bruno Haible  <bruno@clisp.org>
63822
63823         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63824         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63825         Instead of multiplying with 10^k, set extra_zeroes to k.
63826         (scale10_round_long_double): Remove function.
63827
63828 2007-05-18  Bruno Haible  <bruno@clisp.org>
63829
63830         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63831         introduced on 2007-05-06.
63832
63833 2007-05-18  Bruno Haible  <bruno@clisp.org>
63834
63835         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63836         %g directives.
63837         * tests/test-vasprintf-posix.c (test_function): Likewise.
63838         * tests/test-snprintf-posix.h (test_function): Likewise.
63839         * tests/test-sprintf-posix.h (test_function): Likewise.
63840
63841 2007-05-18  Bruno Haible  <bruno@clisp.org>
63842
63843         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63844         (strmatch): New function.
63845         (test_function): Test the %f directive on numbers of various exponents.
63846         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63847         (strmatch): New function.
63848         (test_function): Test the %f directive on numbers of various exponents.
63849         * tests/test-snprintf-posix.h (strmatch): New function.
63850         (test_function): Test the %f directive on numbers of various exponents.
63851         * tests/test-sprintf-posix.h (strmatch): New function.
63852         (test_function): Test the %f directive on numbers of various exponents.
63853         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63854         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63855         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63856         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63857
63858 2007-05-18  Bruno Haible  <bruno@clisp.org>
63859
63860         Add support for 'long double' number output.
63861         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63862         * lib/vasnprintf.c: Include math.h and float+.h.
63863         (mp_limb_t): New type.
63864         (GMP_LIMB_BITS): New macro.
63865         (mp_twolimb_t): New type.
63866         (GMP_TWOLIMB_BITS): New macro.
63867         (mpn_t): New type.
63868         (multiply, divide, convert_to_decimal, decode_long_double,
63869         scale10_round_long_double, scale10_round_decimal_long_double,
63870         floorlog10l): New functions.
63871         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63872         for the %f, %F, %e, %E, %g, %G directives.
63873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63875         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63876         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63884         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63885         * modules/snprintf-posix (Depends-on): Likewise.
63886         * modules/sprintf-posix (Depends-on): Likewise.
63887         * modules/vasnprintf-posix (Depends-on): Likewise.
63888         * modules/vasprintf-posix (Depends-on): Likewise.
63889         * modules/vfprintf-posix (Depends-on): Likewise.
63890         * modules/vsnprintf-posix (Depends-on): Likewise.
63891         * modules/vsprintf-posix (Depends-on): Likewise.
63892         * modules/vasnprintf (Files): Add lib/float+.h.
63893         * doc/functions/fprintf.texi: Update.
63894         * doc/functions/printf.texi: Update.
63895         * doc/functions/snprintf.texi: Update.
63896         * doc/functions/sprintf.texi: Update.
63897         * doc/functions/vfprintf.texi: Update.
63898         * doc/functions/vprintf.texi: Update.
63899         * doc/functions/vsnprintf.texi: Update.
63900         * doc/functions/vsprintf.texi: Update.
63901
63902 2007-05-18  Bruno Haible  <bruno@clisp.org>
63903
63904         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63905
63906 2007-05-18  Bruno Haible  <bruno@clisp.org>
63907
63908         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63909         for printing 64-bit integers. Needed for mingw.
63910
63911 2007-05-18  Bruno Haible  <bruno@clisp.org>
63912
63913         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63914         gl_FUNC_FREXPL_WORKS.
63915         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63916
63917 2007-05-18  Bruno Haible  <bruno@clisp.org>
63918
63919         * modules/frexpl-nolibm-tests: New file.
63920
63921         * modules/frexpl-nolibm: New file.
63922         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63923
63924 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63925
63926         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63927         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63928         GCC 4.2, which otherwise issues a lot of warnings.
63929         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63930         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63931         Likewise.
63932         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63933         * modules/iconv_open (iconv.h): Likewise.
63934         * modules/locale (locale.h): Likewise.
63935         * modules/netinet_in (netinet/in.h): Likewise.
63936         * modules/sys_select (sys_select.h): Likewise.
63937         * modules/sys_socket (sys/socket.h): Likewise.
63938         * modules/sys_stat (sys/stat.h): Likewise.
63939         * modules/sysexits (sysexits.h): Likewise.
63940         * modules/unistd (unistd.h): Likewise.
63941
63942 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63943
63944         * modules/closein-tests (Makefile.am): Distribute
63945         `test-closein.sh'.
63946
63947 2007-05-17  Bruno Haible  <bruno@clisp.org>
63948
63949         * tests/test-printf-posix.output: Renamed from
63950         tests/test-fprintf-posix.out.
63951         * modules/fprintf-posix-tests: Update.
63952         * modules/printf-posix-tests: Update.
63953         * modules/vfprintf-posix-tests: Update.
63954         * modules/vprintf-posix-tests: Update.
63955         * tests/test-fprintf-posix.sh: Update.
63956         * tests/test-printf-posix.sh: Update.
63957         * tests/test-vfprintf-posix.sh: Update.
63958         * tests/test-vprintf-posix.sh: Update.
63959         Reported by Ralf Wildenhues.
63960
63961 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63962
63963         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63964         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63965         GCC 4.2, which otherwise issues a lot of warnings.
63966         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63967         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63968         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63969         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63970         it should no longer be needed.
63971         * lib/string_.h: Likewise.
63972         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63973         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63974         * modules/inttypes (inttypes.h): Likewise.
63975         * modules/math (math.h): Likewise.
63976         * modules/search (search.h): Likewise.
63977         * modules/signal (signal.h): Likewise.
63978         * modules/stdint (stdint.h): Likewise.
63979         * modules/stdio (stdio.h): Likewise.
63980         * modules/stdlib (stdlib.h): Likewise.
63981         * modules/string (string.h): Likewise.
63982         * modules/sys_time (sys/time.h): Likewise.
63983         * modules/time (time.h): Likewise.
63984         * modules/wchar (wchar.h): Likewise.
63985         * modules/wctype (wtype.h): Likewise.
63986
63987 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63988
63989         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63990
63991 2007-05-13  Bruno Haible  <bruno@clisp.org>
63992
63993         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63994         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63995         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63996         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63997         (gl_PREREQ_STRTOK_R): Don't require it here.
63998
63999 2007-05-13  Bruno Haible  <bruno@clisp.org>
64000
64001         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
64002         when used in C++ mode.
64003
64004 2007-05-12  Bruno Haible  <bruno@clisp.org>
64005
64006         * lib/linebuffer.h: Tweak doc.
64007         * lib/linebuffer.c: Likewise.
64008
64009 2007-05-12  James Youngman  <jay@gnu.org>
64010
64011         * lib/linebuffer.c (readlinebuffer_delim): New function,
64012         like readlinebuffer, but use a caller-specified delimiter.
64013         (readlinebuffer): Just call readlinebuffer_delim with '\n'
64014         as the delimiter.
64015         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
64016
64017 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
64018
64019         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
64020         * modules/openat (Files): Remove openat-die.c.
64021         (Depends-on): Add openat-die.
64022         * modules/openat-die: New module.
64023
64024 2007-05-06  Bruno Haible  <bruno@clisp.org>
64025
64026         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
64027         Update with info about Cygwin.
64028         * doc/functions/fprintf.texi: Update.
64029         * doc/functions/printf.texi: Update.
64030         * doc/functions/snprintf.texi: Update.
64031         * doc/functions/sprintf.texi: Update.
64032         * doc/functions/vfprintf.texi: Update.
64033         * doc/functions/vprintf.texi: Update.
64034         * doc/functions/vsnprintf.texi: Update.
64035         * doc/functions/vsprintf.texi: Update.
64036         Reported by Eric Blake.
64037
64038 2007-05-06  Bruno Haible  <bruno@clisp.org>
64039
64040         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
64041         padding ourselves for the floating-point directives.
64042         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
64043         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
64044         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64045         gl_PRINTF_FLAG_ZERO and test its result. Invoke
64046         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
64047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64048         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64049         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64050         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64051         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64052         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64053         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64054         * tests/test-snprintf-posix.h (test_function): Also check the width
64055         and some flags in the %f directive.
64056         * tests/test-sprintf-posix.h (test_function): Likewise.
64057         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64058         * tests/test-vasprintf-posix.c (test_function): Likewise.
64059         * doc/functions/fprintf.texi: Update.
64060         * doc/functions/printf.texi: Update.
64061         * doc/functions/snprintf.texi: Update.
64062         * doc/functions/sprintf.texi: Update.
64063         * doc/functions/vfprintf.texi: Update.
64064         * doc/functions/vprintf.texi: Update.
64065         * doc/functions/vsnprintf.texi: Update.
64066         * doc/functions/vsprintf.texi: Update.
64067
64068 2007-05-06  Bruno Haible  <bruno@clisp.org>
64069
64070         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
64071         pass the ' flag character to sprintf or snprintf.
64072         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
64073         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
64074         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64075         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
64076         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
64077         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64078         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
64079         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64080         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64081         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64082         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64083         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64084         * tests/test-snprintf-posix.h (test_function): Also check the grouping
64085         flag.
64086         * tests/test-sprintf-posix.h (test_function): Likewise.
64087         * tests/test-vasnprintf-posix.c (test_function): Likewise.
64088         * tests/test-vasprintf-posix.c (test_function): Likewise.
64089         * doc/functions/fprintf.texi: Update.
64090         * doc/functions/printf.texi: Update.
64091         * doc/functions/snprintf.texi: Update.
64092         * doc/functions/sprintf.texi: Update.
64093         * doc/functions/vfprintf.texi: Update.
64094         * doc/functions/vprintf.texi: Update.
64095         * doc/functions/vsnprintf.texi: Update.
64096         * doc/functions/vsprintf.texi: Update.
64097
64098 2007-05-01  Bruno Haible  <bruno@clisp.org>
64099
64100         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
64101
64102 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
64103
64104         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
64105         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
64106
64107 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
64108
64109         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
64110         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
64111         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
64112
64113 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
64114
64115         * lib/argp-help.c (struct hol_entry): New member `ord'.
64116         (HOL_ENTRY_PTRCMP): Use ord for comparison
64117         (hol_sort): Initialize ord.
64118
64119 2007-05-01  Bruno Haible  <bruno@clisp.org>
64120
64121         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
64122         Reported by Eric Blake.
64123         * doc/gnulib.texi (Function Substitutes): Update.
64124
64125 2007-05-01  Bruno Haible  <bruno@clisp.org>
64126
64127         * doc/functions.texi: Remove file, now redundant through
64128         doc/functions/*.texi.
64129
64130 2007-05-01  Bruno Haible  <bruno@clisp.org>
64131
64132         * modules/argp (Depends-on): Add sleep.
64133
64134 2007-05-01  Bruno Haible  <bruno@clisp.org>
64135
64136         * modules/sleep-tests: New file.
64137         * tests/test-sleep.c: New file.
64138
64139         * modules/sleep: New file.
64140         * lib/sleep.c: New file.
64141         * m4/sleep.m4: New file.
64142         * lib/unistd_.h (sleep): New declaration.
64143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
64144         HAVE_SLEEP.
64145         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
64146         * doc/functions/sleep.texi: Document the sleep module.
64147
64148 2007-05-01  Bruno Haible  <bruno@clisp.org>
64149
64150         * lib/sigprocmask.h: Remove file.
64151         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
64152         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
64153         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
64154         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
64155         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
64156         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
64157         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
64158         HAVE_SIGSET_T as a shell variable.
64159         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
64160         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
64161         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
64162         (Depends-on): Add signal. Remove verify.
64163         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
64164         (Include): Mention <signal.h> instead of sigprocmask.h.
64165         * NEWS: Mention the change.
64166         * lib/fatal-signal.c: Don't include sigprocmask.h.
64167
64168 2007-05-01  Bruno Haible  <bruno@clisp.org>
64169
64170         * modules/signal: New file.
64171         * lib/signal_.h: New file.
64172         * m4/signal_h.m4: New file.
64173
64174 2007-05-01  Bruno Haible  <bruno@clisp.org>
64175
64176         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
64177         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
64178         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
64179         HAVE_WCTYPE_CTMP_BUG into wctype.h.
64180
64181 2007-05-01  Bruno Haible  <bruno@clisp.org>
64182
64183         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
64184         configure time.
64185         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
64186         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
64187         * modules/sys_stat (Makefile.am): Substitute their values into
64188         sys/stat.h.
64189
64190 2007-05-01  Bruno Haible  <bruno@clisp.org>
64191
64192         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
64193         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
64194         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
64195
64196 2007-05-01  Bruno Haible  <bruno@clisp.org>
64197
64198         * doc/header/assert.texi: Undo last change: don't mention the gnulib
64199         'assert' module here.
64200
64201 2007-05-01  Bruno Haible  <bruno@clisp.org>
64202
64203         * doc/functions/*.texi: New files.
64204         * doc/functions/google-ranking.txt: New file.
64205         * doc/gnulib.texi (Function Substitutes): New chapter.
64206         (ctime, inet_ntoa): Remove sections.
64207         * doc/ctime.texi: Remove file.
64208         * doc/inet_ntoa.texi: Remove file.
64209         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
64210         dependencies.
64211         (%.info): New rule, specifying a --reference-limit.
64212
64213 2007-05-01  Bruno Haible  <bruno@clisp.org>
64214
64215         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
64216
64217 2007-05-01  Bruno Haible  <bruno@clisp.org>
64218
64219         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
64220         the portability of 'mkdir' to mingw systems.
64221
64222 2007-05-01  Bruno Haible  <bruno@clisp.org>
64223
64224         * doc/headers/google-ranking.txt: New file.
64225
64226 2007-04-30  Eric Blake  <ebb9@byu.net>
64227
64228         Prefer fseeko to fseek.
64229         * modules/getpass (Depends-on): Add fseeko.
64230         * lib/getpass.c (getpass): Use fseeko, not fseek.
64231
64232 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
64233
64234         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
64235         assumes the sorting is stable, while most qsort implementations
64236         are not.  Use argument addresses to ensure they never compare as
64237         equal.
64238
64239         * tests/test-argp-2.sh (usage-indent test): Fix output
64240         (func_compare): Restore diff options
64241         * tests/test-argp.c: Restore #include "progname.h"
64242
64243 2007-04-29  Bruno Haible  <bruno@clisp.org>
64244
64245         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
64246         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64247         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
64248         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64249         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
64250         (configure.ac): Define CHECK_SNPRINTF_POSIX.
64251         (TESTS, check_PROGRAMS): Add test-snprintf.
64252         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
64253         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
64254         (TESTS, check_PROGRAMS): Add test-vsnprintf.
64255         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
64256         assertions that fail on HP-UX, OSF/1, or IRIX.
64257         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
64258
64259 2007-04-29  Bruno Haible  <bruno@clisp.org>
64260
64261         * MODULES.html.sh (posix_functions): Remove 'contents'.
64262
64263 2007-04-29  Karl Berry  <karl@gnu.org>
64264
64265         * config/srclist.txt (gendocs_template_min): new entry.
64266
64267 2007-04-29  Bruno Haible  <bruno@clisp.org>
64268
64269         Work around fpurge bug on BSD systems.
64270         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
64271         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
64272         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
64273         fpurge to rpl_fpurge if the system already has this function.
64274         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
64275         the case where the system already has this function. Correct invariants
64276         on BSD systems.
64277         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
64278         BSD systems.
64279
64280 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
64281
64282         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
64283         proposed by Sven Verdoolaege.
64284
64285         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
64286         options.
64287         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
64288         (usage and help tests): Update
64289
64290 2007-04-29  Bruno Haible  <bruno@clisp.org>
64291
64292         * tests/test-fflush.c (main): Use a file of size 17, not 10.
64293         Print more information in case of failure. Disable a test on BeOS.
64294
64295 2007-04-29  Bruno Haible  <bruno@clisp.org>
64296
64297         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
64298         This helps debugging on systems on which no gdb is available.
64299
64300 2007-04-29  Bruno Haible  <bruno@clisp.org>
64301
64302         * lib/freading.h: Improve comments.
64303         * lib/fwriting.h: Likewise.
64304         * tests/test-freading.c (main): Don't check freading immediately after
64305         repositioning. Needed for glibc.
64306
64307 2007-04-29  Bruno Haible  <bruno@clisp.org>
64308
64309         * lib/freading.c (freading): Trivial simplification.
64310
64311 2007-04-28  Bruno Haible  <bruno@clisp.org>
64312
64313         * tests/test-fwriting.c (main): Also test the interaction between
64314         fflush and fwriting.
64315         * modules/fwriting-tests (Depends-on): Add fflush.
64316
64317         * tests/test-freading.c (main): Also test the interaction between
64318         fflush and freading.
64319         * modules/freading-tests (Depends-on): Add fflush.
64320
64321 2007-04-28  Bruno Haible  <bruno@clisp.org>
64322
64323         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
64324         fseeko and ftello.
64325         Suggested by Eric Blake.
64326
64327 2007-04-28  Jim Meyering  <jim@meyering.net>
64328
64329         Avoid false-negative in gl_STDINT_H's C99 conformance test.
64330         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
64331         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
64332
64333 2007-04-27  Eric Blake  <ebb9@byu.net>
64334
64335         * doc/headers/assert.texi (assert.h): Document assert module use.
64336
64337 2007-04-27  Bruno Haible  <bruno@clisp.org>
64338
64339         * doc/headers/*.texi: New files.
64340         * doc/gnulib.texi (Header File Substitutes): New chapter.
64341         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
64342         dependencies.
64343         (standards.info ,standards.html, standards.dvi): Update dependencies.
64344         (mostlyclean, clean): New targets.
64345
64346 2007-04-27  Bruno Haible  <bruno@clisp.org>
64347
64348         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
64349         * modules/sysexits (Files, Makefile.am): Update.
64350
64351         * lib/sys_socket_.h: Renamed from lib/socket_.h.
64352         * modules/sys_socket (Files, Makefile.am): Update.
64353
64354         * lib/sys_stat_.h: Renamed from lib/stat_.h.
64355         * modules/sys_stat (Files, Makefile.am): Update.
64356
64357 2007-04-27  Eric Blake  <ebb9@byu.net>
64358
64359         * lib/freading.h: Improve comments.
64360         * lib/fwriting.h: Likewise.
64361         * lib/fflush.c: Likewise.
64362
64363         Fix closein for mingw.
64364         * modules/closein-tests: Add tests for closein.
64365         * tests/test-closein.c: New file.
64366         * tests/test-closein.sh: Likewise.
64367         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
64368         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
64369
64370 2007-04-27  Bruno Haible  <bruno@clisp.org>
64371
64372         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
64373         version is < 6.
64374         * lib/math_.h [__DECC]: Likewise.
64375         * lib/stdio_.h [__DECC]: Likewise.
64376         * lib/stdlib_.h [__DECC]: Likewise.
64377         * lib/string_.h [__DECC]: Likewise.
64378         * lib/time_.h [__DECC]: Likewise.
64379         * lib/wchar_.h [__DECC]: Likewise.
64380         * lib/wctype_.h [__DECC]: Likewise.
64381
64382 2007-04-27  Bruno Haible  <bruno@clisp.org>
64383
64384         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
64385
64386 2007-04-27  Bruno Haible  <bruno@clisp.org>
64387
64388         * lib/fflush.c: Add comments.
64389         * modules/fpurge-tests (Depends-on): Add fflush.
64390         * modules/freadable-tests (Depends-on): Likewise.
64391         * modules/fwritable-tests (Depends-on): Likewise.
64392
64393 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
64394
64395         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
64396         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
64397         Report by Bruno Haible <bruno@clisp.org>.
64398
64399 2007-04-26  Eric Blake  <ebb9@byu.net>
64400
64401         Fix fflush on mingw.
64402         * modules/fflush (Depends-on): Add freading.
64403         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
64404         but unread data.
64405
64406 2007-04-26  Eric Blake  <ebb9@byu.net>
64407         and Bruno Haible  <bruno@clisp.org>
64408
64409         Implement freading and fwriting.
64410         * lib/freading.c: New file.
64411         * lib/freading.h: Likewise.
64412         * m4/freading.m4: Likewise.
64413         * modules/freading: Likewise.
64414         * modules/freading-tests: Likewise.
64415         * tests/test-freading.c: Likewise.
64416         * lib/fwriting.c: New file.
64417         * lib/fwriting.h: Likewise.
64418         * m4/fwriting.m4: Likewise.
64419         * modules/fwriting: Likewise.
64420         * modules/fwriting-tests: Likewise.
64421         * tests/test-fwriting.c: Likewise.
64422         * MODULES.html.sh (File stream based Input/Output): Mention them.
64423
64424 2007-04-26  Bruno Haible  <bruno@clisp.org>
64425
64426         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
64427         'long' when we assume it.
64428         Suggested by Eric Blake.
64429
64430 2007-04-26  Bruno Haible  <bruno@clisp.org>
64431
64432         Ensure fseeko, ftello are declared on glibc systems.
64433         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
64434         * modules/fseeko (configure.ac-early): Likewise.
64435         * modules/ftello (configure.ac-early): Likewise.
64436         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
64437         AC_FUNC_FSEEKO for this.
64438         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
64439         (gl_CHECK_FSEEKO): Remove macro.
64440
64441 2007-04-26  Bruno Haible  <bruno@clisp.org>
64442
64443         * tests/test-fflush.c (main): Also check the ftell result after
64444         fflush and fseek/fseeko.
64445         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64446         file descriptor position cache in the stream.
64447         * lib/fseeko.c (rpl_fseeko): Likewise.
64448
64449 2007-04-26  Bruno Haible  <bruno@clisp.org>
64450
64451         * modules/fflush-tests (Depends-on): Add fseeko.
64452
64453 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64454             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64455
64456         * lib/argz_.h: ensure error_t definition is obtained in same
64457         mechanism system argz.h would have.
64458         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64459         argz facilities are known bad.  Err on the side of caution if
64460         cross-compiling.
64461
64462 2007-04-25  Eric Blake  <ebb9@byu.net>
64463
64464         * lib/fpurge.c (includes): Use stdlib.h for free.
64465         * tests/test-fflush.c (main): Also test fflush-fseeko.
64466
64467 2007-04-25  Bruno Haible  <bruno@clisp.org>
64468
64469         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64470         * lib/fseeko.c: New file.
64471         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64472         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64473         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64474         gl_FUNC_FSEEKO.
64475         (gl_FUNC_FSEEKO): Invoke it.
64476         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64477         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64478         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64479
64480 2007-04-25  Bruno Haible  <bruno@clisp.org>
64481
64482         * modules/fflush (Depends-on): Add ftello.
64483
64484 2007-04-25  Bruno Haible  <bruno@clisp.org>
64485
64486         * modules/ftello-tests: New file.
64487         * tests/test-ftello.c: New file.
64488
64489         * modules/ftello: New file.
64490         * m4/ftello.m4: New file.
64491         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64492         HAVE_FTELLO.
64493         * lib/stdio_.h (ftello): New declaration.
64494         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64495         HAVE_FTELLO.
64496
64497 2007-04-25  Bruno Haible  <bruno@clisp.org>
64498
64499         * modules/fseeko-tests: New file.
64500         * tests/test-fseeko.c: New file.
64501
64502         * modules/fseeko: New file.
64503         * m4/fseeko.m4: New file.
64504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64505         HAVE_FSEEKO.
64506         * lib/stdio_.h (fseeko): New declaration.
64507         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64508         HAVE_FSEEKO.
64509
64510 2007-04-25  Bruno Haible  <bruno@clisp.org>
64511
64512         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64513
64514 2007-04-25  Bruno Haible  <bruno@clisp.org>
64515
64516         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64517         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64518         * tests/test-unistd.c: Likewise.
64519         * tests/test-fcntl.c: Likewise.
64520
64521 2007-04-23  Eric Blake  <ebb9@byu.net>
64522
64523         * lib/fflush.c: Fix missing include.
64524         Reported by Bruno Haible.
64525
64526 2007-04-23  Bruno Haible  <bruno@clisp.org>
64527
64528         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64529         Reported by Eric Blake.
64530
64531 2007-04-23  Bruno Haible  <bruno@clisp.org>
64532
64533         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64534
64535 2007-04-23  Bruno Haible  <bruno@clisp.org>
64536
64537         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64538
64539 2007-04-23  Bruno Haible  <bruno@clisp.org>
64540
64541         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64542         Needed on HP-UX 11.
64543
64544 2007-04-16  Eric Blake  <ebb9@byu.net>
64545
64546         Make fflush rely on fpurge.
64547         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64548         open coding all variants.
64549         * modules/fflush (Depends-on): Add fpurge and unistd.
64550         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64551         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64552
64553         Fix --with-tests compilation on cygwin.
64554         * modules/argmatch-tests (Makefile.am): List gnulib library first
64555         in LDADD.
64556         * modules/argp-tests (Makefile.am): Likewise.
64557         * modules/array-list-tests (Makefile.am): Likewise.
64558         * modules/array-oset-tests (Makefile.am): Likewise.
64559         * modules/avltree-list-tests (Makefile.am): Likewise.
64560         * modules/avltree-oset-tests (Makefile.am): Likewise.
64561         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64562         * modules/carray-list-tests (Makefile.am): Likewise.
64563         * modules/dirname-tests (Makefile.am): Likewise.
64564         * modules/frexp-tests (Makefile.am): Likewise.
64565         * modules/isnanl-tests (Makefile.am): Likewise.
64566         * modules/linked-list-tests (Makefile.am): Likewise.
64567         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64568         * modules/lock-tests (Makefile.am): Likewise.
64569         * modules/rbtree-list-tests (Makefile.am): Likewise.
64570         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64571         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64572         * modules/tls-tests (Makefile.am): Likewise.
64573         * modules/tsearch-tests (Makefile.am): Likewise.
64574         * modules/xvasprintf-tests (Makefile.am): Likewise.
64575
64576         Fix fpurge for cygwin.
64577         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64578         value.
64579         * modules/fpurge-tests (Depends-on): Clean up trash.
64580
64581 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64582
64583         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64584
64585         * m4/autobuild.m4: Re-indent.
64586
64587 2007-04-13  Bruno Haible  <bruno@clisp.org>
64588
64589         * modules/fpurge-tests: New file.
64590         * tests/test-fpurge.c: New file.
64591
64592         * modules/fpurge: New file.
64593         * lib/fpurge.h: New file.
64594         * lib/fpurge.c: New file.
64595         * m4/fpurge.m4: New file.
64596
64597 2007-04-13  Bruno Haible  <bruno@clisp.org>
64598
64599         * modules/fbufmode-tests: New file.
64600         * tests/test-fbufmode.c: New file.
64601
64602         * modules/fbufmode: New file.
64603         * lib/fbufmode.h: New file.
64604         * lib/fbufmode.c: New file.
64605         * m4/fbufmode.m4: New file.
64606
64607 2007-04-13  Bruno Haible  <bruno@clisp.org>
64608
64609         * modules/fwritable-tests: New file.
64610         * tests/test-fwritable.c: New file.
64611
64612         * modules/fwritable: New file.
64613         * lib/fwritable.h: New file.
64614         * lib/fwritable.c: New file.
64615         * m4/fwritable.m4: New file.
64616
64617 2007-04-13  Bruno Haible  <bruno@clisp.org>
64618
64619         * modules/freadable-tests: New file.
64620         * tests/test-freadable.c: New file.
64621
64622         * modules/freadable: New file.
64623         * lib/freadable.h: New file.
64624         * lib/freadable.c: New file.
64625         * m4/freadable.m4: New file.
64626
64627 2007-04-13  Bruno Haible  <bruno@clisp.org>
64628
64629         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64630         MOSTLYCLEANFILES.
64631
64632 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64633
64634         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64635         gzip bootstrap.conf to avoid dragging in i18n machinery.
64636         (gnulib_tool_option): Use it.
64637
64638 2007-04-13  Bruno Haible  <bruno@clisp.org>
64639
64640         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64641         %F directives.
64642         * tests/test-vasprintf-posix.c (test_function): Likewise.
64643         * tests/test-snprintf-posix.h (test_function): Likewise.
64644         * tests/test-sprintf-posix.h (test_function): Likewise.
64645         * tests/test-fprintf-posix.h (test_function): Likewise.
64646         * tests/test-printf-posix.h (test_function): Likewise.
64647         * tests/test-fprintf-posix.out: Likewise.
64648
64649 2007-04-13  Bruno Haible  <bruno@clisp.org>
64650
64651         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64652         * modules/tls-tests (configure.ac): Likewise.
64653         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64654
64655 2007-04-13  Bruno Haible  <bruno@clisp.org>
64656
64657         * lib/tls.c (glthread_tls_get): Fix return type.
64658         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64659
64660 2007-04-12  Eric Blake  <ebb9@byu.net>
64661
64662         * modules/gettime (Depends-on): Remove gettime.
64663         Reported by Dmitry V. Levin.
64664
64665 2007-04-12  Bruno Haible  <bruno@clisp.org>
64666
64667         * modules/fflush (Include): Mention <stdio.h>.
64668         * modules/strtoimax (Include): Mention <inttypes.h>.
64669         * modules/strtoumax (Include): Likewise.
64670
64671 2007-04-12  Eric Blake  <ebb9@byu.net>
64672
64673         * .cvsignore: New file.
64674         * .gitignore: Likewise.
64675
64676 2007-04-12  Bruno Haible  <bruno@clisp.org>
64677
64678         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64679         not before, since $(LDADD) often contains libgnu.a.
64680         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64681         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64682         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64683         Needed on Cygwin.
64684
64685 2007-04-12  Eric Blake  <ebb9@byu.net>
64686
64687         Work around glibc's failure to flush stdin on fclose.
64688         * lib/closein.c (close_stdin): Flush stdin before closing.
64689
64690         Work around glibc's failure to reset seekable stdin on exit.
64691         * modules/closein: New module.
64692         * lib/closein.c: New file.
64693         * lib/closein.h: Likewise.
64694         * m4/closein.m4: Likewise.
64695         * MODULES.html.sh (File stream based Input/Output): Document it.
64696
64697 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64698
64699         * gnulib-tool: Rename generated 'autobuild' script to
64700         'do-autobuild' in --create-megatestdir output.
64701
64702         * doc/gnulib.texi (Build robot for gnulib): Fix.
64703
64704 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64705
64706         * modules/sysexits (Depends-on): Add absolute-header.
64707
64708 2007-04-12  Eric Blake  <ebb9@byu.net>
64709
64710         No need to preserve errno on success.
64711         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64712         Reported by Bruno Haible.
64713
64714 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64715
64716         * MODULES.html.sh (Support for maintaining and releasing
64717         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64718
64719 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64720
64721         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64722
64723 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64724
64725         * modules/autobuild: New module.
64726
64727         * m4/autobuild.m4: New file.
64728
64729 2007-04-11  Bruno Haible  <bruno@clisp.org>
64730
64731         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64732         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64733         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64734         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64735         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64736         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64737         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64738         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64739         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64740         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64741         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64742         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64743         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64744         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64745         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64746         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64748         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64749         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64750         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64751         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64752         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64753         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64754         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64755         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64757         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64758         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64759         Reported by Eric Blake.
64760
64761 2007-04-11  Bruno Haible  <bruno@clisp.org>
64762
64763         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64764
64765 2007-04-10  Bruno Haible  <bruno@clisp.org>
64766
64767         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64768         for NaN and Infinity. Needed on FreeBSD 6.1.
64769         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64770         regarding results for "%010a" of Infinity and NaN.
64771         * tests/test-vasprintf-posix.c (test_function): Likewise.
64772         * tests/test-snprintf-posix.h (test_function): Likewise.
64773         * tests/test-sprintf-posix.h (test_function): Likewise.
64774         * tests/test-fprintf-posix.h (test_function): Likewise.
64775         * tests/test-printf-posix.h (test_function): Likewise.
64776         * tests/test-fprintf-posix.out: Likewise.
64777
64778 2007-04-10  Bruno Haible  <bruno@clisp.org>
64779
64780         * modules/locale-tests: New file.
64781         * tests/test-locale.c: New file.
64782
64783         * modules/locale: New file.
64784         * lib/locale_.h: New file.
64785         * m4/locale_h.m4: New file.
64786
64787 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64788             Bruno Haible  <bruno@clisp.org>
64789
64790         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64791         be determined, test for availability of the copysignf, copysign,
64792         copysignl functions.
64793         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64794         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64795         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64796
64797 2007-04-09  Eric Blake  <ebb9@byu.net>
64798
64799         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64800         * modules/stdio (Makefile.am): Support fflush.
64801         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64802         * modules/fflush: New file.
64803         * lib/fflush.c: Likewise.
64804         * m4/fflush.m4: Likewise.
64805         * modules/fflush-tests: New test.
64806         * tests/test-fflush.c: Likewise.
64807         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64808
64809 2007-04-06  Bruno Haible  <bruno@clisp.org>
64810
64811         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64812         (VASNPRINTF): Use signbit for faster determination whether to print a
64813         minus sign.
64814         * modules/vasnprintf (Files): Remove lib/float+.h.
64815         * modules/fprintf-posix (Depends-on): Add signbit.
64816         * modules/snprintf-posix (Depends-on): Likewise.
64817         * modules/sprintf-posix (Depends-on): Likewise.
64818         * modules/vasnprintf-posix (Depends-on): Likewise.
64819         * modules/vasprintf-posix (Depends-on): Likewise.
64820         * modules/vfprintf-posix (Depends-on): Likewise.
64821         * modules/vsnprintf-posix (Depends-on): Likewise.
64822         * modules/vsprintf-posix (Depends-on): Likewise.
64823
64824 2007-04-06  Bruno Haible  <bruno@clisp.org>
64825
64826         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64827         * tests/test-frexpl.c (main): Likewise.
64828         * tests/test-ldexpl.c (main): Likewise.
64829         * modules/frexp-tests (Depends-on): Add signbit.
64830         * modules/frexpl-tests (Depdends-on): Likewise.
64831         * modules/ldexpl-tests (Depdends-on): Likewise.
64832
64833 2007-04-06  Bruno Haible  <bruno@clisp.org>
64834
64835         * modules/signbit-tests: New file.
64836         * tests/test-signbit.c: New file.
64837
64838         * modules/signbit: New file.
64839         * lib/signbitf.c: New file.
64840         * lib/signbitd.c: New file.
64841         * lib/signbitl.c: New file.
64842         * m4/signbit.m4: New file.
64843         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64844         (signbit): New macro.
64845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64846         REPLACE_SIGNBIT.
64847         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64848         REPLACE_FREXPL into math.h.
64849
64850 2007-04-06  Bruno Haible  <bruno@clisp.org>
64851
64852         * modules/isnanf-nolibm-tests: New file.
64853         * tests/test-isnanf.c: New file.
64854
64855         * modules/isnanf-nolibm: New file.
64856         * lib/isnanf.h: New file.
64857         * lib/isnanf.c: New file.
64858         * lib/isnan.c: Consider the USE_FLOAT macro.
64859         * m4/isnanf.m4: New file.
64860
64861 2007-04-06  Bruno Haible  <bruno@clisp.org>
64862
64863         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64864         (Link): New section.
64865
64866         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64867
64868 2007-04-06  Bruno Haible  <bruno@clisp.org>
64869
64870         Assume the 'long double' type.
64871         * m4/longdouble.m4: Remove file.
64872         * config/srclist.txt: Don't mention longdouble.m4.
64873         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64874         * lib/float+.h: Likewise.
64875         * lib/frexp.c: Likewise.
64876         * lib/printf-args.h: Likewise.
64877         * lib/printf-args.c: Likewise.
64878         * lib/printf-frexp.c: Likewise.
64879         * lib/printf-parse.c: Likewise.
64880         * lib/vasnprintf.c: Likewise.
64881         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64882         * m4/intl.m4: Likewise.
64883         * m4/isnanl.m4: Likewise.
64884         * m4/printf.m4: Likewise.
64885         * m4/printf-frexpl.m4: Likewise.
64886         * m4/vasnprintf.m4: Likewise.
64887         * modules/allocsa (Files): Remove m4/longdouble.m4.
64888         * modules/gettext (Files): Likewise.
64889         * modules/relocatable-prog-wrapper (Files): Likewise.
64890         * modules/vasnprintf (Files): Likewise.
64891         * modules/isnanl (Files): Likewise.
64892         (Include): Simplify.
64893         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64894         (Include): Simplify.
64895         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64896         (Include): Simplify.
64897         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64898         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64899         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64900         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64901         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64902         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64903         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64904         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64905         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64906         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64907         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64908         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64909         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64910         * tests/test-isnanl.c: Likewise.
64911         * tests/test-snprintf-posix.h: Likewise.
64912         * tests/test-sprintf-posix.h: Likewise.
64913         * tests/test-vasnprintf-posix.c: Likewise.
64914         * tests/test-vasnprintf-posix2.c: Likewise.
64915         * tests/test-vasprintf-posix.c: Likewise.
64916
64917 2007-04-06  Bruno Haible  <bruno@clisp.org>
64918
64919         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64920         * lib/math_.h [__DECC]: Include the overridden include file through
64921         #include_next, outside the double-inclusion guard.
64922         * lib/stdio_.h [__DECC]: Likewise.
64923         * lib/stdlib_.h [__DECC]: Likewise.
64924         * lib/string_.h [__DECC]: Likewise.
64925         * lib/time_.h [__DECC]: Likewise.
64926         * lib/wchar_.h [__DECC]: Likewise.
64927         * lib/wctype_.h [__DECC]: Likewise.
64928         * lib/inttypes_.h [__DECC]: Likewise.
64929         Reported by Albert Chin <china@thewrittenword.com> in
64930         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64931
64932 2007-04-04  Eric Blake  <ebb9@byu.net>
64933
64934         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64935         1.5.x.
64936
64937 2007-04-04  Bruno Haible  <bruno@clisp.org>
64938
64939         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64940         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64941
64942 2007-04-04  Bruno Haible  <bruno@clisp.org>
64943
64944         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64945         results for "%010a" of Infinity and NaN.
64946         * tests/test-vasprintf-posix.c (test_function): Likewise.
64947         * tests/test-snprintf-posix.h (test_function): Likewise.
64948         * tests/test-sprintf-posix.h (test_function): Likewise.
64949         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64950         * tests/test-printf-posix.h (test_function): Likewise.
64951         * tests/test-fprintf-posix.out: Update.
64952         Needed for FreeBSD 6.1.
64953
64954 2007-04-04  Bruno Haible  <bruno@clisp.org>
64955
64956         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64957         directly used by the gnulib modules nor by gnulib-tool.
64958
64959 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64960
64961         * DEPENDENCIES: Give overall description of version dependency
64962         desirability.  Use more-typical names for apps.
64963         Add shell, coreutils, diffutils, grep, tar, gzip.
64964
64965 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64966
64967         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64968
64969 2007-04-04  Karl Berry  <karl@gnu.org>
64970
64971         * MODULES.html.sh (func_module): missing '.
64972
64973 2007-04-03  Bruno Haible  <bruno@clisp.org>
64974
64975         * modules/argmatch-tests (Makefile.am): New variable
64976         test_argmatch_LDADD.
64977         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64978         * modules/array-list-tests (Makefile.am): New variable
64979         test_array_list_LDADD.
64980         * modules/array-oset-tests (Makefile.am): New variable
64981         test_array_oset_LDADD.
64982         * modules/avltree-list-tests (Makefile.am): New variable
64983         test_avltree_list_LDADD.
64984         * modules/avltree-oset-tests (Makefile.am): New variable
64985         test_avltree_oset_LDADD.
64986         * modules/avltreehash-list-tests (Makefile.am): New variable
64987         test_avltreehash_list_LDADD.
64988         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64989         test_canonicalize_lgpl_LDADD.
64990         * modules/carray-list-tests (Makefile.am): New variable
64991         test_carray_list_LDADD.
64992         * modules/dirname-tests (Makefile.am): New variable
64993         test_dirname_LDADD.
64994         * modules/linked-list-tests (Makefile.am): New variable
64995         test_linked_list_LDADD.
64996         * modules/linkedhash-list-tests (Makefile.am): New variable
64997         test_linkedhash_list_LDADD.
64998         * modules/rbtree-list-tests (Makefile.am): New variable
64999         test_rbtree_list_LDADD.
65000         * modules/rbtree-oset-tests (Makefile.am): New variable
65001         test_rbtree_oset_LDADD.
65002         * modules/rbtreehash-list-tests (Makefile.am): New variable
65003         test_rbtreehash_list_LDADD.
65004         * modules/xvasprintf-tests (Makefile.am): New variable
65005         test_xvasprintf_LDADD.
65006         Reported by Eric Blake.
65007
65008 2007-04-03  Eric Blake  <ebb9@byu.net>
65009
65010         * DEPENDENCIES: Weaken m4 requirements.
65011
65012 2007-04-03  Bruno Haible  <bruno@clisp.org>
65013
65014         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
65015         * modules/isnanl-tests (configure.ac): Likewise.
65016
65017 2007-04-03  Ben Pfaff  <blp@gnu.org>
65018
65019         * modules/iconv_open: Add $(srcdir)/ to source directory
65020         references in Makefile fragments that call gperf, to fix VPATH
65021         builds.
65022
65023 2007-04-03  Bruno Haible  <bruno@clisp.org>
65024
65025         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
65026         * lib/ldexpl.c: Undo last change.
65027
65028 2007-04-03  Bruno Haible  <bruno@clisp.org>
65029
65030         * modules/printf-frexpl (Depends-on): Undo last change.
65031         (Files): Add m4/ldexpl.m4.
65032
65033 2007-04-03  Bruno Haible  <bruno@clisp.org>
65034
65035         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
65036         * modules/isnanl (Link): New section.
65037
65038         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
65039         * modules/frexp (Link): New section.
65040
65041         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
65042         * modules/frexpl (Link): New section.
65043
65044         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
65045         * modules/ldexpl (Link): New section.
65046
65047 2007-04-03  Bruno Haible  <bruno@clisp.org>
65048
65049         * modules/TEMPLATE-EXTENDED: New file.
65050         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
65051
65052 2007-04-03  Bruno Haible  <bruno@clisp.org>
65053
65054         * DEPENDENCIES: New file.
65055         Suggested by Simon Josefsson.
65056
65057 2007-04-03  Bruno Haible  <bruno@clisp.org>
65058
65059         * doc/gnulib.texi: Escape @.
65060
65061 2007-04-03  James Youngman  <jay@gnu.org>
65062         and Paul Eggert  <eggert@cs.ucla.edu>
65063
65064         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
65065         birthtime on all systems that have birthtime, not just those which
65066         use st_birthtimensec rather than st_birthtim.  Putting zero in
65067         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
65068         that the birth time is not available for files on an NFS mount.
65069
65070 2007-04-03  Simon Josefsson  <simon@josefsson.org>
65071
65072         * modules/memxor: Move back from crypto/, suggested by Bruno.
65073         * modules/crypto/hmac-sha1: Fix memxor dependency.
65074
65075         * modules/crypto/gc: Moved from ../.
65076
65077 2007-04-02  Eric Blake  <ebb9@byu.net>
65078
65079         * lib/ldexpl.c (includes): Avoid libm.
65080
65081         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
65082
65083 2007-04-02  Bruno Haible  <bruno@clisp.org>
65084
65085         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
65086         on IRIX.
65087
65088 2007-04-02  Bruno Haible  <bruno@clisp.org>
65089
65090         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
65091         x86 or x86_64 platforms running MacOS X.
65092         Reported by Ryan Schmidt <@ryandesign.com>.
65093
65094 2007-04-02  Bruno Haible  <bruno@clisp.org>
65095
65096         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
65097         i386.
65098
65099 2007-04-01  Simon Josefsson  <simon@josefsson.org>
65100
65101         * modules/crypto/arcfour: Moved from ../.
65102         * modules/crypto/arcfour-tests: Moved from ../.
65103         * modules/crypto/arctwo: Moved from ../.
65104         * modules/crypto/arctwo-tests: Moved from ../.
65105         * modules/crypto/des: Moved from ../.
65106         * modules/crypto/des-tests: Moved from ../.
65107         * modules/crypto/gc-arcfour: Moved from ../.
65108         * modules/crypto/gc-arcfour-tests: Moved from ../.
65109         * modules/crypto/gc-arctwo: Moved from ../.
65110         * modules/crypto/gc-arctwo-tests: Moved from ../.
65111         * modules/crypto/gc-des: Moved from ../.
65112         * modules/crypto/gc-des-tests: Moved from ../.
65113         * modules/crypto/gc-hmac-md5: Moved from ../.
65114         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
65115         * modules/crypto/gc-hmac-sha1: Moved from ../.
65116         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
65117         * modules/crypto/gc-md2: Moved from ../.
65118         * modules/crypto/gc-md2-tests: Moved from ../.
65119         * modules/crypto/gc-md4: Moved from ../.
65120         * modules/crypto/gc-md4-tests: Moved from ../.
65121         * modules/crypto/gc-md5: Moved from ../.
65122         * modules/crypto/gc-md5-tests: Moved from ../.
65123         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
65124         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
65125         * modules/crypto/gc-random: Moved from ../.
65126         * modules/crypto/gc-rijndael: Moved from ../.
65127         * modules/crypto/gc-rijndael-tests: Moved from ../.
65128         * modules/crypto/gc-sha1: Moved from ../.
65129         * modules/crypto/gc-sha1-tests: Moved from ../.
65130         * modules/crypto/gc-tests: Moved from ../.
65131         * modules/crypto/hmac-md5: Moved from ../.
65132         * modules/crypto/hmac-md5-tests: Moved from ../.
65133         * modules/crypto/hmac-sha1: Moved from ../.
65134         * modules/crypto/hmac-sha1-tests: Moved from ../.
65135         * modules/crypto/md2: Moved from ../.
65136         * modules/crypto/md2-tests: Moved from ../.
65137         * modules/crypto/md4: Moved from ../.
65138         * modules/crypto/md4-tests: Moved from ../.
65139         * modules/crypto/md5: Moved from ../.
65140         * modules/crypto/md5-tests: Moved from ../.
65141         * modules/crypto/memxor: Moved from ../.
65142         * modules/crypto/rijndael: Moved from ../.
65143         * modules/crypto/rijndael-tests: Moved from ../.
65144         * modules/crypto/sha1: Moved from ../.
65145
65146 2007-03-30  James Youngman  <jay@gnu.org>
65147
65148         * tests/test-stat-time.c (prepare_test): use chmod() rather than
65149         rename() to change the ctime of a file (because ctime is unaffected
65150         by rename on jfs2 on AIX 5.1).
65151         (main): Start by doing cleanup, in case a previous run failed leaving
65152         test files behind.
65153
65154 2007-03-31  Bruno Haible  <bruno@clisp.org>
65155
65156         Support old proprietary implementations of iconv.
65157         * modules/iconv_open: New file.
65158         * lib/iconv_.h: New file.
65159         * m4/iconv_h.m4: New file.
65160         * lib/iconv_open.c: New file.
65161         * lib/iconv_open-aix.gperf: New file.
65162         * lib/iconv_open-hpux.gperf: New file.
65163         * lib/iconv_open-irix.gperf: New file.
65164         * lib/iconv_open-osf.gperf: New file.
65165         * m4/iconv_open.m4: New file.
65166         * modules/linebreak (Depends-on): Add iconv_open.
65167         * modules/striconv (Depends-on): Likewise.
65168         * modules/striconveh (Depends-on): Likewise.
65169         * modules/unicodeio (Depends-on): Likewise.
65170         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
65171         (iconv_t)(-1).
65172         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
65173         conversion if cd is (iconv_t)(-1).
65174         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
65175         is not possible.
65176
65177 2007-03-31  Bruno Haible  <bruno@clisp.org>
65178
65179         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65180         work on Solaris either. Protect also second use of "autodetect_jp".
65181
65182 2007-03-31  Bruno Haible  <bruno@clisp.org>
65183
65184         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
65185         the function is not present.
65186
65187 2007-03-31  Bruno Haible  <bruno@clisp.org>
65188
65189         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
65190         the function is not present.
65191
65192 2007-03-31  Bruno Haible  <bruno@clisp.org>
65193
65194         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
65195         a bug in HP-UX iconv_open().
65196
65197 2007-03-31  Bruno Haible  <bruno@clisp.org>
65198
65199         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
65200         (Mathematics <math.h>): New section, add fpieee.
65201         (Input/output <stdio.h>): Add fseterr.
65202         (Mathematics <math.h>): New section, add printf-frexp.
65203         (Container data structures): Add sublist.
65204         (Core language properties): Add fpucw, inline.
65205         (Functions for greatest-width integer types <inttypes.h>): Add
65206         imaxabs, imaxdiv, inttypes.
65207         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
65208         isnanl-nolibm, ldexp.
65209         (Mathematics <math.h>): New section, add printf-frexpl.
65210         (Support for systems lacking POSIX:2001): Add fprintf-posix,
65211         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
65212         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
65213         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
65214         (Unicode string functions): Add unistr/u*-mbtoucr.
65215         (Java): Add javacomp-script, javaexec-script.
65216         (C#): Add csharpcomp-script, csharpexec-script.
65217         (Support for building libraries and executables): Add havelib,
65218         relocatable-*.
65219         (Support for maintaining and releasing projects): Renamed from
65220         'Support for maintaining and release projects'. Add announce-gen.
65221
65222 2007-03-31  Bruno Haible  <bruno@clisp.org>
65223
65224         * README: Talk primarily about git.
65225         (git and CVS): Renamed from CVS.
65226         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
65227         gnulib is available through git.
65228         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
65229
65230 2007-03-30  Bruno Haible  <bruno@clisp.org>
65231
65232         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
65233         * lib/poll_.h: Likewise.
65234         * lib/stat_.h: Likewise.
65235         * lib/sys_time_.h: Likewise.
65236         * lib/sysexit_.h: Likewise.
65237         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
65238         * lib/stdbool_.h: Likewise.
65239         * lib/byteswap_.h: Add double-inclusion guard.
65240
65241 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
65242
65243         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
65244
65245 2007-03-30  Karl Berry  <karl@gnu.org>
65246
65247         * config/srclist-update: double space after USA in the license
65248         substitution, since that's how it's usually (?) written.
65249
65250 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
65251
65252         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
65253         reported by Bruno Haible.
65254
65255 2007-03-29  Bruno Haible  <bruno@clisp.org>
65256
65257         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
65258         a bug in AIX iconv().
65259
65260 2007-03-29  Bruno Haible  <bruno@clisp.org>
65261
65262         * modules/ldexpl-tests: New file.
65263         * tests/test-ldexpl.c: New file.
65264
65265 2007-03-29  Bruno Haible  <bruno@clisp.org>
65266
65267         * lib/ldexpl.c: Include fpucw.h.
65268         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
65269         multiplication.
65270         * modules/ldexpl (Depends-on): Add fpucw.
65271
65272 2007-03-29  Bruno Haible  <bruno@clisp.org>
65273
65274         * modules/ldexpl: New file.
65275         * m4/ldexpl.m4: New file.
65276         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
65277         set.
65278         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
65279         REPLACE_LDEXPL.
65280         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
65281         REPLACE_LDEXPL.
65282         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
65283         gl_FUNC_LDEXPL_WORKS.
65284         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
65285         * modules/mathl (Files): Remove lib/ldexpl.c.
65286         (Depends-on): Add ldexpl.
65287
65288 2007-03-29  Bruno Haible  <bruno@clisp.org>
65289
65290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
65291
65292 2007-03-29  Bruno Haible  <bruno@clisp.org>
65293
65294         * tests/test-striconveh.c (main): Don't assume that a direct conversion
65295         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
65296         and possibly also HP-UX.
65297         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
65298         work on AIX, IRIX, HP-UX, OSF/1.
65299         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65300         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65301         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65302         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65303         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
65304         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65305
65306 2007-03-29  Bruno Haible  <bruno@clisp.org>
65307
65308         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
65309
65310 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65311
65312         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
65313         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
65314
65315 2007-03-29  Eric Blake  <ebb9@byu.net>
65316
65317         * lib/acl-internal.h: Remove redundant include.
65318         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
65319         Cygwin when a file is locked.
65320
65321 2007-03-29  Bruno Haible  <bruno@clisp.org>
65322
65323         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
65324         file.
65325         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
65326
65327 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
65328
65329         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
65330         try to remove a parent directory if the child couldn't be removed
65331         (except for the first rmdir, which could fail because the child
65332         doesn't exist).  Problem reported by Jeff Blaine in
65333         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
65334
65335 2007-03-28  Bruno Haible  <bruno@clisp.org>
65336
65337         * lib/striconveh.c (utf8conv_carefully): New function.
65338         (mem_cd_iconveh_internal): Invoke it.
65339
65340 2007-03-28  Bruno Haible  <bruno@clisp.org>
65341
65342         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
65343         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
65344         input.
65345         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
65346         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
65347         unistr/u8-uctomb.
65348
65349 2007-03-28  Bruno Haible  <bruno@clisp.org>
65350
65351         * modules/unistr/u8-mbtoucr: New file.
65352         * lib/unistr/u8-mbtoucr.c: New file.
65353         * modules/unistr/u16-mbtoucr: New file.
65354         * lib/unistr/u16-mbtoucr.c: New file.
65355         * modules/unistr/u16-mbtoucr: New file.
65356         * lib/unistr/u16-mbtoucr.c: New file.
65357         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
65358
65359 2007-03-27  Simon Josefsson  <simon@josefsson.org>
65360             Bruno Haible  <bruno@clisp.org>
65361
65362         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
65363         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
65364         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
65365
65366         * m4/stdio_h.m4: Add stubs for vasprintf too.
65367
65368         * modules/stdio: Support vasprintf in sed command.
65369
65370         * modules/vasprintf: Depend on stdio for prototypes.  Remove
65371         vasprintf.h.  Add stdio module indicator.
65372
65373         * lib/stdio_.h: Declare asprintf and vasprintf, based on
65374         vasprintf.h.
65375
65376         * lib/vasprintf.h: File removed.
65377
65378         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
65379         * lib/vasprintf.c: Ditto.
65380         * lib/xvasprintf.c: Ditto.
65381         * tests/test-vasprintf-posix.c: Ditto.
65382         * tests/test-vasprintf.c: Ditto.
65383
65384 2007-03-27  Bruno Haible  <bruno@clisp.org>
65385
65386         Make vasnprintf multithread-safe.
65387         * lib/vasnprintf.c (decimal_point_char): New function.
65388         (VASNPRINTF): Use it.
65389         Suggested by Simon Josefsson.
65390
65391 2007-03-27  Eric Blake  <ebb9@byu.net>
65392
65393         Support sub-second birthtime on cygwin.
65394         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
65395         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
65396         (get_stat_birthtime): Also work with st_birthtim.
65397
65398 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
65399
65400         * lib/stat-time.h (USE_BIRTHTIME): Remove.
65401         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
65402         (get_stat_birthtime_ns): Do not try to use "spare" fields.
65403         (get_stat_birthtime_ns): Simplify compile-time tests.
65404         (get_stat_birthtime): Change the API to look like
65405         get_stat_mtime etc., except return a negative tv_nsec on error.
65406         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
65407         Don't check for "spare" fields.
65408         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
65409         or for struct stat.st_birthtime, as these tests aren't used.
65410         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
65411
65412 2007-03-27  Bruno Haible  <bruno@clisp.org>
65413
65414         * lib/stat-time.h: Include <sys/stat.h>.
65415
65416 2007-03-27  James Youngman  <jay@gnu.org>
65417
65418         * lib/stat-time.h (get_stat_birthtime): New function for
65419           retrieving st_birthtime as provided by UFS2 (hence *BSD).
65420         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
65421           and its variants.
65422         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
65423         * modules/stat-time-test: New file.
65424         * tests/test-stat-time.c: New test, devised by Bruno Haible.
65425
65426 2007-03-26  Bruno Haible  <bruno@clisp.org>
65427
65428         Better support of signalling NaNs.
65429         * lib/atanl.c: Include isnanl.h.
65430         (atanl): Perform test for NaN at the beginning of the function and
65431         through a call to isnanl.
65432         * lib/cosl.c: Include isnanl.h.
65433         (cosl): Perform test for NaN at the beginning of the function and
65434         through a call to isnanl.
65435         * lib/ldexpl.c: Include isnanl.h.
65436         (ldexpl): Perform test for NaN through a call to isnanl.
65437         * lib/logl.c: Include isnanl.h.
65438         (logl): Perform test for NaN at the beginning of the function and
65439         through a call to isnanl.
65440         * lib/sinl.c: Include isnanl.h.
65441         (sinl): Perform test for NaN at the beginning of the function and
65442         through a call to isnanl.
65443         * lib/sqrtl.c: Include isnanl.h.
65444         (sqrtl): Perform test for NaN at the beginning of the function and
65445         through a call to isnanl.
65446         * lib/tanl.c: Include isnanl.h.
65447         (tanl): Perform test for NaN at the beginning of the function and
65448         through a call to isnanl.
65449         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65450         * modules/mathl (Depends-on): Add isnanl.
65451
65452 2007-03-26  Eric Blake  <ebb9@byu.net>
65453
65454         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65455         regression in logic sense of previous patch.
65456
65457 2007-03-26  Bruno Haible  <bruno@clisp.org>
65458
65459         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65460         unportable shell command "if ! ...".
65461         Reported by Ralf Wildenhues.
65462
65463 2007-03-25  Bruno Haible  <bruno@clisp.org>
65464
65465         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65466         <sysexits.h> file, and only add EX_CONFIG.
65467         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65468         absolute file name and whether it is sufficient. Substitute also
65469         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65470         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65471         ABSOLUTE_SYSEXITS_H into sysexits.h.
65472
65473 2007-03-25  Bruno Haible  <bruno@clisp.org>
65474
65475         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65476         hints is NULL.
65477
65478 2007-03-25  Bruno Haible  <bruno@clisp.org>
65479
65480         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65481         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65482
65483 2007-03-25  Bruno Haible  <bruno@clisp.org>
65484
65485         * lib/vasnprintf.c: Include langinfo.h.
65486         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65487         multithread-safe.
65488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65489         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65490         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65491         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65492         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65493         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65494         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65495         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65496         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65497         Reported by Simon Josefsson.
65498
65499 2007-03-25  Bruno Haible  <bruno@clisp.org>
65500
65501         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65502         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65503         * modules/vasnprintf (Depends-on): Add stdint.
65504
65505 2007-03-25  Bruno Haible  <bruno@clisp.org>
65506
65507         * modules/fpieee: New file.
65508         * m4/fpieee.m4: New file.
65509         * modules/isnan-nolibm (Depends-on): Add fpieee.
65510         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65511         * modules/isnanl (Depends-on): Add fpieee.
65512
65513 2007-03-25  Bruno Haible  <bruno@clisp.org>
65514
65515         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65516
65517 2007-03-25  Bruno Haible  <bruno@clisp.org>
65518
65519         Avoid test failures on IRIX 6.5.
65520         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65521         (main): Use it.
65522         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65523         macros.
65524         (main): Use them.
65525
65526 2007-03-25  Bruno Haible  <bruno@clisp.org>
65527
65528         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65529         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65530         exists but doesn't work.
65531         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65532         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65533         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65534         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65535         math.h.
65536
65537 2007-03-25  Bruno Haible  <bruno@clisp.org>
65538
65539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65540         returns inf. Needed on IRIX 6.5.
65541
65542 2007-03-25  Bruno Haible  <bruno@clisp.org>
65543
65544         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65545         (main): Use isnanl instead of x != x idiom.
65546         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65547
65548         * tests/test-frexp.c: Include isnan.h.
65549         (main): Use isnan instead of x != x idiom.
65550         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65551
65552 2007-03-25  Bruno Haible  <bruno@clisp.org>
65553
65554         * tests/test-frexp.c (NaN): New function/macro.
65555         (main): Use it instead of 0.0 / 0.0.
65556         * tests/test-isnan.c (NaN): New function/macro.
65557         (main): Use it instead of 0.0 / 0.0.
65558         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65559         (test_function): Use it instead of 0.0 / 0.0.
65560         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65561         (test_function): Use it instead of 0.0 / 0.0.
65562         * tests/test-snprintf-posix.h (NaN): New function/macro.
65563         (test_function): Use it instead of 0.0 / 0.0.
65564         * tests/test-sprintf-posix.h (NaN): New function/macro.
65565         (test_function): Use it instead of 0.0 / 0.0.
65566         * tests/test-fprintf-posix.h (NaN): New function/macro.
65567         (test_function): Use it instead of 0.0 / 0.0.
65568         * tests/test-printf-posix.h (NaN): New function/macro.
65569         (test_function): Use it instead of 0.0 / 0.0.
65570
65571         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65572
65573 2007-03-25  Bruno Haible  <bruno@clisp.org>
65574
65575         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65576
65577 2007-03-25  Bruno Haible  <bruno@clisp.org>
65578
65579         * lib/regexec.c (merge_state_with_log): Make static.
65580
65581 2007-03-25  Bruno Haible  <bruno@clisp.org>
65582
65583         * lib/trigl.c (kernel_rem_pio2): Make static.
65584
65585 2007-03-25  Bruno Haible  <bruno@clisp.org>
65586
65587         * lib/sincosl.c (sincosl_table): Make static.
65588
65589 2007-03-25  Bruno Haible  <bruno@clisp.org>
65590
65591         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65592         if the compiler does not support C99.
65593
65594 2007-03-25  Bruno Haible  <bruno@clisp.org>
65595
65596         * modules/time (Makefile.am): Ensure all rule action lines start with a
65597         tab.
65598
65599 2007-03-24  Bruno Haible  <bruno@clisp.org>
65600
65601         * modules/tsearch-tests: New file.
65602         * tests/test-tsearch.sh: New file.
65603         * tests/test-tsearch.c: New file, mostly copied from glibc.
65604
65605         * modules/search-tests: New file.
65606         * tests/test-search.c: New file.
65607
65608         * modules/search: New file.
65609         * lib/search_.h: New file, incorporating lib/tsearch.h.
65610         * m4/search_h.m4: New file.
65611         * lib/tsearch.h: Remove file.
65612         * lib/tsearch.c: Include search.h instead of tsearch.h.
65613         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65614         HAVE_TSEARCH.
65615         * modules/tsearch (Files): Remove lib/tsearch.h.
65616         (Depends-on): Add search.
65617         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65618         (Include): Change tsearch.h into search.h.
65619
65620 2007-03-24  Bruno Haible  <bruno@clisp.org>
65621
65622         * modules/fpucw: New file.
65623         * lib/fpucw.h: New file.
65624         * lib/frexp.c: Include fpucw.h.
65625         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65626         (FUNC): Use them.
65627         * lib/printf-frexp.c: Include fpucw.h.
65628         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65629         (FUNC): Use them.
65630         * lib/vasnprintf.c: Include fpucw.h.
65631         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65632         'long double' calculations.
65633         * tests/test-frexpl.c: Include fpucw.h.
65634         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65635         * tests/test-printf-frexpl.c: Include fpucw.h.
65636         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65637         * modules/frexpl (Depends-on): Add fpucw.
65638         * modules/printf-frexpl (Depends-on): Likewise.
65639         * modules/fprintf-posix (Depends-on): Likewise.
65640         * modules/snprintf-posix (Depends-on): Likewise.
65641         * modules/sprintf-posix (Depends-on): Likewise.
65642         * modules/vasnprintf-posix (Depends-on): Likewise.
65643         * modules/vasprintf-posix (Depends-on): Likewise.
65644         * modules/vfprintf-posix (Depends-on): Likewise.
65645         * modules/vsnprintf-posix (Depends-on): Likewise.
65646         * modules/vsprintf-posix (Depends-on): Likewise.
65647         * modules/frexpl-tests (Depends-on): Likewise.
65648         * modules/printf-frexpl-tests (Depends-on): Likewise.
65649
65650 2007-03-24  Bruno Haible  <bruno@clisp.org>
65651
65652         * lib/float+.h: New file.
65653         * lib/isnan.c: Include float+.h.
65654         (SIZE): New macro.
65655         (FUNC): Compare only SIZE bytes of the value.
65656         * lib/vasnprintf.c: Include float+.h.
65657         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65658         SIZEOF_LDBL or SIZEOF_DBL bytes.
65659         * modules/isnan-nolibm (Files): Add lib/float+.h.
65660         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65661         * modules/isnanl (Files): Add lib/float+.h.
65662         * modules/vasnprintf (Files): Add lib/float+.h.
65663
65664 2007-03-24  Bruno Haible  <bruno@clisp.org>
65665
65666         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65667         include isnanl-nolibm.h.
65668
65669 2007-03-24  Bruno Haible  <bruno@clisp.org>
65670
65671         * tests/test-read-file.c (main): Don't produce spurious output for
65672         expected situations. Make the test fail if it encountered unexpected
65673         results.
65674
65675 2007-03-24  Bruno Haible  <bruno@clisp.org>
65676
65677         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65678         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65679
65680 2007-03-24  Bruno Haible  <bruno@clisp.org>
65681
65682         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65683
65684 2007-03-24  Bruno Haible  <bruno@clisp.org>
65685
65686         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65687         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65688
65689         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65690         * modules/utf8-ucs4: Turn into a symbolic link to module
65691         unistr/u8-mbtouc.
65692
65693         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65694         utf8-ucs4-unsafe.
65695         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65696         unistr/u8-mbtouc-unsafe.
65697
65698         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65699         * modules/utf16-ucs4: Turn into a symbolic link to module
65700         unistr/u16-mbtouc.
65701
65702         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65703         utf16-ucs4-unsafe.
65704         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65705         unistr/u16-mbtouc-unsafe.
65706
65707         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65708         * modules/ucs4-utf8: Turn into a symbolic link to module
65709         unistr/u8-ubtomb.
65710
65711         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65712         * modules/ucs4-utf16: Turn into a symbolic link to module
65713         unistr/u16-ubtomb.
65714
65715 2007-03-24  Bruno Haible  <bruno@clisp.org>
65716
65717         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65718         Enable the function only if HAVE_INLINE.
65719         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65720         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65721         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65722         Enable the function only if HAVE_INLINE.
65723         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65724         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65725         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65726         Enable the function only if HAVE_INLINE.
65727         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65728         Enable the function only if HAVE_INLINE.
65729         * modules/utf8-ucs4: Update.
65730         * modules/utf8-ucs4-unsafe: Update.
65731         * modules/utf16-ucs4: Update.
65732         * modules/utf16-ucs4-unsafe: Update.
65733         * modules/ucs4-utf8: Update.
65734         * modules/ucs4-utf16: Update.
65735
65736 2007-03-24  Bruno Haible  <bruno@clisp.org>
65737
65738         * lib/utf8-ucs4.h: Remove file.
65739         * lib/utf8-ucs4-unsafe.h: Remove file.
65740         * lib/utf16-ucs4.h: Remove file.
65741         * lib/utf16-ucs4-unsafe.h: Remove file.
65742         * lib/ucs4-utf8.h: Remove file.
65743         * lib/ucs4-utf16.h: Remove file.
65744         * lib/unistr.h: Include their previous contents.
65745         * m4/utf-ucs4.m4: Remove file.
65746         * m4/ucs4-utf.m4: Remove file.
65747         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65748         (Depends-on): Add unistr/base.
65749         (configure.ac): Remove gl_UTF_UCS4.
65750         (Makefile.am): Update.
65751         (Include): Change to unistr.h.
65752         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65753         (Depends-on): Add unistr/base.
65754         (configure.ac): Remove gl_UTF_UCS4.
65755         (Makefile.am): Update.
65756         (Include): Change to unistr.h.
65757         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65758         (Depends-on): Add unistr/base.
65759         (configure.ac): Remove gl_UTF_UCS4.
65760         (Makefile.am): Update.
65761         (Include): Change to unistr.h.
65762         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65763         (Depends-on): Add unistr/base.
65764         (configure.ac): Remove gl_UTF_UCS4.
65765         (Makefile.am): Update.
65766         (Include): Change to unistr.h.
65767         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65768         (Depends-on): Add unistr/base.
65769         (configure.ac): Remove gl_UCS4_UTF.
65770         (Makefile.am): Update.
65771         (Include): Change to unistr.h.
65772         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65773         (Depends-on): Add unistr/base.
65774         (configure.ac): Remove gl_UCS4_UTF.
65775         (Makefile.am): Update.
65776         (Include): Change to unistr.h.
65777         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65778         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65779         utf8-ucs4-unsafe.h.
65780         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65781         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65782         utf16-ucs4-unsafe.h.
65783         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65784         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65785         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65786         * lib/unistr/u8-strchr.c: Likewise.
65787         * lib/unistr/u8-strrchr.c: Likewise.
65788         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65789         * lib/unistr/u16-strchr.c: Likewise.
65790         * lib/unistr/u16-strrchr.c: Likewise.
65791         * lib/striconveh.c: Update.
65792         * lib/linebreak.c: Update.
65793
65794 2007-03-24  Bruno Haible  <bruno@clisp.org>
65795
65796         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65797         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65798
65799 2007-03-22  Bruno Haible  <bruno@clisp.org>
65800
65801         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65802
65803 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65804
65805         * MODULES.html.sh (File system functions): New module write-any-file.
65806         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65807         * m4/write-any-file.m4: New files.
65808
65809 2007-03-23  Eric Blake  <ebb9@byu.net>
65810
65811         * gnulib-tool: Rearrange space-tab sequences, since some editors
65812         like to eat them.
65813
65814 2007-03-23  Eric Blake  <ebb9@byu.net>
65815
65816         * lib/version-etc.c (version_etc_va): Update license wording to
65817         be more concise.  Recommended by Richard Stallman.
65818
65819 2007-03-22  Bruno Haible  <bruno@clisp.org>
65820
65821         * lib/poll.c (MSG_PEEK): New fallback definition.
65822
65823 2007-03-22  Bruno Haible  <bruno@clisp.org>
65824
65825         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65826         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65827         (main): Update.
65828         Fixes a compilation error on BeOS.
65829
65830 2007-03-22  Bruno Haible  <bruno@clisp.org>
65831
65832         * modules/frexpl-tests: New file.
65833         * tests/test-frexpl.c: New file.
65834
65835         * modules/frexpl: New file.
65836         * m4/frexpl.m4: New file.
65837         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65838         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65839         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65840         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65841         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65842         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65843
65844 2007-03-22  Bruno Haible  <bruno@clisp.org>
65845
65846         * lib/frexpl.c: Share code with lib/frexp.c.
65847         * modules/mathl (Files): Add lib/frexp.c.
65848         (Depends-on): Add isnanl-nolibm.
65849
65850 2007-03-22  Bruno Haible  <bruno@clisp.org>
65851
65852         * modules/printf-frexp (Files): Add m4/frexp.m4.
65853         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65854         only if the found frexp function actually works.
65855
65856 2007-03-22  Bruno Haible  <bruno@clisp.org>
65857
65858         * lib/frexp.c: Remove older implementation that uses divisions.
65859
65860 2007-03-21  Bruno Haible  <bruno@clisp.org>
65861
65862         * modules/frexp-tests: New file.
65863         * tests/test-frexp.c: New file.
65864
65865         * modules/frexp: New file.
65866         * lib/frexp.c: New file.
65867         * m4/frexp.m4: New file.
65868         * lib/math_.h (frexp): New declaration.
65869         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65870         REPLACE_FREXP.
65871         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65872
65873 2007-03-21  Bruno Haible  <bruno@clisp.org>
65874
65875         * modules/isnanl-tests: New file.
65876         * tests/test-isnanl.c: New file.
65877
65878         * modules/isnanl: New file.
65879         * lib/isnanl.h: New file.
65880         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65881         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65882         gl_FUNC_ISNANL_WORKS.
65883         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65884         New macros.
65885
65886 2007-03-21  Bruno Haible  <bruno@clisp.org>
65887
65888         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65889         lib/isnanl.h.
65890         (Include): Update.
65891         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65892         * lib/vasnprintf.c: Update.
65893         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65894         tests/test-isnanl.h, remove tests/test-isnanl.c.
65895         (Makefile.am): Update.
65896         * tests/test-isnanl-nolibm.c: New file.
65897         * tests/test-isnanl.h: New file.
65898         * tests/test-isnanl.c: Remove file.
65899
65900 2007-03-21  Jim Meyering  <jim@meyering.net>
65901
65902         When trying to open ".", treat ESTALE like EACCES.
65903         * lib/savewd.c (savewd_save): Resort to forking not just upon
65904         failure with EACCES, but also when errno is ESTALE.
65905
65906 2007-03-20  Bruno Haible  <bruno@clisp.org>
65907
65908         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65909         Needed on AIX 5.1. Reported by Matthew Woehlke.
65910
65911 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65912
65913         Suggestions by Bruno Haible:
65914         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65915         our own.
65916         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65917         * modules/acl (Depends-on): Add gettext.
65918
65919 2007-03-19  Bruno Haible  <bruno@clisp.org>
65920
65921         * modules/iconvme: Remove file.
65922         * lib/iconvme.h: Remove file.
65923         * lib/iconvme.c: Remove file.
65924         * m4/iconvme.m4: Remove file.
65925
65926 2007-03-19  Bruno Haible  <bruno@clisp.org>
65927
65928         * doc/relocatable-maint.texi: Break long shell script line.
65929         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65930
65931 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65932
65933         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65934         handle file_has_acl.
65935         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65936         * lib/acl.c: Move header inclusions and related macro defns into
65937         lib/acl-internal.h.
65938         (S_ISLNK): Remove defn, since that's now done for us.
65939         (file_has_acl): Move to lib/file-has-acl.c.
65940         Call acl_trivial if available.  This is the crucial part of the fix.
65941         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65942         shared within the library.  Rewrite a bit, partly to make it compatible
65943         with the GNU coding style.
65944         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65945         Remove unnecessary double-quotes.
65946         Don't test for acl_to_text; the build will catch that.
65947         Replace acl_entries if it doesn't exist and it is needed.
65948         Check for -lsec and acl_trivial (as used on Solaris 10).
65949         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65950         lib/file-has-acl.c.
65951         (Depends-on): Add sys_stat, for S_ISLNK.
65952
65953 2007-03-19  Ben Pfaff  <blp@gnu.org>
65954
65955         * doc/gnulib.texi: Fix typos.
65956         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65957
65958 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65959
65960         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65961         If size is zero here, buf must be zero.
65962
65963 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65964
65965         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65966         <bruno@clisp.org>.
65967
65968 2007-03-18  Bruno Haible  <bruno@clisp.org>
65969
65970         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65971         Suggested by Eric Blake.
65972
65973 2007-03-18  Ben Pfaff  <blp@gnu.org>
65974
65975         * doc/relocatable.texi: Recommend using as prefix a directory
65976         that does not exist and will never be created.  Based on
65977         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65978         and others.
65979
65980 2007-03-17  Bruno Haible  <bruno@clisp.org>
65981
65982         * lib/fchownat.c: Include lchown.h.
65983
65984 2007-03-17  Bruno Haible  <bruno@clisp.org>
65985
65986         Fix endless loop when the given allocated size was > INT_MAX.
65987         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65988         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65989         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65990         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65991         * lib/sprintf.c (sprintf): Likewise.
65992
65993 2007-03-17  Bruno Haible  <bruno@clisp.org>
65994
65995         * tests/test-argp-2.sh (func_compare): Output a context diff.
65996
65997 2007-03-17  Bruno Haible  <bruno@clisp.org>
65998
65999         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
66000         locale's decimal-point character.
66001
66002 2007-03-17  Bruno Haible  <bruno@clisp.org>
66003
66004         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
66005         before comparing it. Needed because on some platforms (e.g. x86) a
66006         'long double' occupies less bytes than sizeof (long double).
66007
66008 2007-03-17  Bruno Haible  <bruno@clisp.org>
66009
66010         * tests/test-crc.c (main): Make printf statements 64-bit clean.
66011         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
66012         * tests/test-getaddrinfo.c (simple): Likewise.
66013         * tests/test-read-file.c (main): Likewise.
66014
66015 2007-03-17  Bruno Haible  <bruno@clisp.org>
66016
66017         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
66018
66019 2007-03-17  Bruno Haible  <bruno@clisp.org>
66020
66021         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
66022         unused variable.
66023
66024 2007-03-17  Bruno Haible  <bruno@clisp.org>
66025
66026         * tests/test-c-strcasecmp.c: Include c-strcase.h.
66027         * tests/test-c-strncasecmp.c: Likewise.
66028
66029 2007-03-17  Bruno Haible  <bruno@clisp.org>
66030
66031         * modules/stdlib (Depends-on): Add unistd.
66032         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
66033         Needed for MacOS X 10.3.
66034
66035 2007-03-17  Bruno Haible  <bruno@clisp.org>
66036
66037         * lib/unistr/u-strdup.h: Include <stdlib.h>.
66038
66039 2007-03-17  Bruno Haible  <bruno@clisp.org>
66040
66041         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
66042
66043 2007-03-17  Bruno Haible  <bruno@clisp.org>
66044
66045         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
66046         to reflect files copied from gnulib (with or without modifications).
66047         Suggested by Jim Meyering.
66048
66049 2007-03-17  Eric Blake  <ebb9@byu.net>
66050
66051         * NEWS: Document stdlib change from 2007-02-18.
66052
66053 2007-03-17  Jim Meyering  <jim@meyering.net>
66054
66055         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
66056         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
66057         someone uses a name containing shell meta-characters.
66058         Reported by Alfred M. Szmidt.
66059
66060         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
66061
66062 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66063
66064         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
66065         and copy gettext configuration files only if configure.ac contains
66066         a use of AM_GNU_GETTEXT_VERSION.
66067
66068 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
66069
66070         * build-aux/bootstrap (gnulib_name): New variable.
66071         (gnulib_tool_options): Use it.
66072
66073 2007-03-13  Simon Josefsson  <simon@josefsson.org>
66074
66075         * tests/test-des.c: Use new namespace.
66076
66077 2007-03-15  Bruno Haible  <bruno@clisp.org>
66078
66079         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
66080         Reported by James Youngman <jay@gnu.org>.
66081
66082 2007-03-15  Bruno Haible  <bruno@clisp.org>
66083
66084         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
66085         declared prototype. Needed with cc on OSF/1 5.1.
66086
66087 2007-03-15  Bruno Haible  <bruno@clisp.org>
66088
66089         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
66090         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
66091         (struct gl_list_implementation): Add dispose_fn argument to the
66092         'create_empty', 'create' methods.
66093         (struct gl_list_impl_base): Add field 'dispose_fn'.
66094         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
66095         argument.
66096         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
66097         dispose_fn argument.
66098         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
66099         dispose_fn on the dropped values.
66100         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
66101         dispose_fn argument.
66102         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
66103         dropped values.
66104         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
66105         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66106         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
66107         (gl_tree_remove_node): Call dispose_fn on the dropped value.
66108         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
66109         argument.
66110         (gl_tree_list_free): Call dispose_fn on the dropped values.
66111         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
66112         the dropped values.
66113         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
66114         Add dispose_fn argument.
66115         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
66116         Call dispose_fn on the dropped values.
66117         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
66118         Add dispose_fn argument.
66119         (gl_sublist_create): Initialize the 'dispose_fn' field.
66120         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
66121         * tests/test-array_list.c (main): Update.
66122         * tests/test-carray_list.c (main): Update.
66123         * tests/test-avltree_list.c (main): Update.
66124         * tests/test-rbtree_list.c (main): Update.
66125         * tests/test-avltreehash_list.c (main): Update.
66126         * tests/test-rbtreehash_list.c (main): Update.
66127         * tests/test-linked_list.c (main): Update.
66128         * tests/test-linkedhash_list.c (main): Update.
66129         * tests/test-array_oset.c (main): Update.
66130
66131 2007-03-15  Bruno Haible  <bruno@clisp.org>
66132
66133         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
66134         (gl_oset_create_empty): Add dispose_fn argument.
66135         (struct gl_oset_implementation): Add dispose_fn argument to
66136         'create_empty' method.
66137         (struct gl_oset_impl_base): Add dispose_fn field.
66138         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
66139         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
66140         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
66141         values.
66142         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
66143         (gl_tree_oset_free): Call dispose_fn on the dropped values.
66144         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66145         dropped value.
66146         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
66147         dropped value.
66148         * tests/test-array_oset.c (main): Update.
66149         * tests/test-avltree_oset.c (main): Update.
66150         * tests/test-rbtree_oset.c (main): Update.
66151         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
66152
66153 2007-03-13  Bruno Haible  <bruno@clisp.org>
66154
66155         * tests/test-stdbool.c (i): Update after last patch.
66156
66157 2007-03-12  Bruno Haible  <bruno@clisp.org>
66158
66159         * lib/quotearg.c: Include <wctype.h> early, before the definition of
66160         the iswprint macro. Needed on Solaris 2.5.1.
66161
66162 2007-03-12  Bruno Haible  <bruno@clisp.org>
66163
66164         * tests/test-printf-frexp.c (main): Declare x as volatile.
66165
66166 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66167
66168         * doc/gnulib.texi (Build robot for gnulib): New section.
66169
66170 2007-03-12  Jim Meyering  <jim@meyering.net>
66171
66172         * build-aux/bootstrap: New file.
66173         * build-aux/bootstrap.conf: New file, from coreutils.
66174
66175 2007-03-11  Bruno Haible  <bruno@clisp.org>
66176
66177         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
66178
66179 2007-03-12  Simon Josefsson  <simon@josefsson.org>
66180
66181         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
66182         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
66183         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
66184
66185 2007-03-11  Bruno Haible  <bruno@clisp.org>
66186
66187         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
66188         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
66189
66190 2007-03-11  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
66193         formula. Needed for SunPRO C 5.0.
66194
66195 2007-03-11  Bruno Haible  <bruno@clisp.org>
66196
66197         * modules/long-options (Depends-on): Add getopt.
66198
66199 2007-03-11  Bruno Haible  <bruno@clisp.org>
66200
66201         * modules/modechange (Depends-on): Add stdbool.
66202
66203 2007-03-11  Bruno Haible  <bruno@clisp.org>
66204
66205         * modules/i-ring (Depends-on): Add stdbool.
66206
66207 2007-03-11  Bruno Haible  <bruno@clisp.org>
66208
66209         * modules/gc-des (Depends-on): Add stdbool.
66210
66211 2007-03-11  Bruno Haible  <bruno@clisp.org>
66212
66213         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
66214
66215 2007-03-11  Bruno Haible  <bruno@clisp.org>
66216
66217         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
66218
66219 2007-03-11  Bruno Haible  <bruno@clisp.org>
66220
66221         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
66222
66223 2007-03-11  Bruno Haible  <bruno@clisp.org>
66224
66225         * lib/vasnprintf.c (sprintf): Undefine.
66226
66227 2007-03-11  Bruno Haible  <bruno@clisp.org>
66228
66229         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
66230         initializers in SunPRO C and Compaq C compilers.
66231
66232 2007-03-11  Bruno Haible  <bruno@clisp.org>
66233
66234         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
66235         decrementing code ANSI C compliant.
66236
66237 2007-03-11  Bruno Haible  <bruno@clisp.org>
66238
66239         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
66240         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
66241
66242 2007-03-11  Bruno Haible  <bruno@clisp.org>
66243
66244         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
66245         <stdbool.h> substitute doesn't pass.
66246
66247 2007-03-11  Bruno Haible  <bruno@clisp.org>
66248
66249         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
66250
66251 2007-03-11  Bruno Haible  <bruno@clisp.org>
66252
66253         * gnulib-tool (func_create_megatestdir): Create also an autobuild
66254         script, for submission to autobuild.josefsson.org.
66255
66256 2007-03-10  Bruno Haible  <bruno@clisp.org>
66257
66258         * modules/canonicalize-lgpl-tests: New file.
66259         * tests/test-canonicalize-lgpl.sh: New file.
66260         * tests/test-canonicalize-lgpl.c: New file.
66261
66262         * modules/c-strcase-tests: New file.
66263         * tests/test-c-strcase.sh: New file.
66264         * tests/test-c-strcasecmp.c: New file.
66265         * tests/test-c-strncasecmp.c: New file.
66266
66267         * modules/atexit-tests: New file.
66268         * tests/test-atexit.sh: New file.
66269         * tests/test-atexit.c: New file.
66270
66271 2007-03-10  Bruno Haible  <bruno@clisp.org>
66272
66273         * tests/test-binary-io.sh: Use temporary filenames that are not so
66274         likely to clash with those of other tests (in a parallel make).
66275         * tests/test-binary-io.c: Likewise.
66276
66277 2007-03-10  Bruno Haible  <bruno@clisp.org>
66278
66279         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
66280         fallback; use #error instead.
66281         Suggested by Simon Josefsson.
66282
66283 2007-03-10  Bruno Haible  <bruno@clisp.org>
66284
66285         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
66286         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
66287         first and the last.
66288
66289 2007-03-10  Bruno Haible  <bruno@clisp.org>
66290
66291         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
66292
66293 2007-03-10  Bruno Haible  <bruno@clisp.org>
66294
66295         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
66296         "make distcheck".
66297         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
66298         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
66299         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
66300
66301 2007-03-10  Bruno Haible  <bruno@clisp.org>
66302
66303         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
66304         variable.
66305         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
66306         variable.
66307
66308 2007-03-09  Eric Blake  <ebb9@byu.net>
66309         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
66310
66311         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
66312         types are not being provided by gnulib.
66313         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
66314         types are supported.
66315
66316 2007-03-10  Bruno Haible  <bruno@clisp.org>
66317
66318         * lib/stdio_.h (__attribute__): New macro.
66319         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
66320         vsprintf): Specify __attribute__ __format__ for GCC.
66321         Suggested by Eric Blake.
66322
66323 2007-03-09  Bruno Haible  <bruno@clisp.org>
66324
66325         * modules/printf-posix-tests: New file.
66326         * tests/test-printf-posix.sh: New file.
66327         * tests/test-printf-posix.c: New file.
66328
66329         * modules/printf-posix: New file.
66330         * lib/printf.c: New file.
66331         * m4/printf-posix-rpl.m4: New file.
66332         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
66333         REPLACE_PRINTF.
66334         * lib/stdio_.h (printf): New declaration.
66335         (format, __format__, ____printf____, ____scanf____, ____strftime____,
66336         ____strfmon____): New macros.
66337         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
66338         REPLACE_PRINTF.
66339
66340 2007-03-09  Bruno Haible  <bruno@clisp.org>
66341
66342         * tests/test-vasnprintf-posix2.sh: New file.
66343         * tests/test-vasnprintf-posix2.c: New file.
66344         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
66345         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
66346         (Makefile.am): Activate test-vasnprintf-posix2.sh.
66347
66348         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
66349         a locale dependent decimal point, rather than always '.'.
66350
66351 2007-03-09  Eric Blake  <ebb9@byu.net>
66352
66353         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
66354         spite of platforms like Tandem/NSK that define it to -1.
66355
66356 2007-03-08  Bruno Haible  <bruno@clisp.org>
66357
66358         * modules/vprintf-posix-tests: New file.
66359         * tests/test-vprintf-posix.sh: New file.
66360         * tests/test-vprintf-posix.c: New file.
66361         * tests/test-printf-posix.h: New file.
66362
66363         * modules/vprintf-posix: New file.
66364         * lib/vprintf.c: New file.
66365         * m4/vprintf-posix.m4: New file.
66366         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
66367         REPLACE_VPRINTF.
66368         * lib/stdio_.h (vprintf): New declaration.
66369         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
66370         REPLACE_VPRINTF.
66371
66372 2007-03-08  Bruno Haible  <bruno@clisp.org>
66373
66374         * modules/fprintf-posix-tests: New file.
66375         * tests/test-fprintf-posix.sh: New file.
66376         * tests/test-fprintf-posix.c: New file.
66377
66378         * modules/fprintf-posix: New file.
66379         * lib/fprintf.c: New file.
66380         * m4/fprintf-posix.m4: New file.
66381         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
66382         REPLACE_FPRINTF.
66383         * lib/stdio_.h (fprintf): New declaration.
66384         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
66385         REPLACE_FPRINTF.
66386
66387 2007-03-08  Bruno Haible  <bruno@clisp.org>
66388
66389         * modules/vfprintf-posix-tests: New file.
66390         * tests/test-vfprintf-posix.sh: New file.
66391         * tests/test-vfprintf-posix.c: New file.
66392         * tests/test-fprintf-posix.h: New file.
66393         * tests/test-fprintf-posix.out: New file.
66394
66395         * modules/vfprintf-posix: New file.
66396         * lib/vfprintf.c: New file.
66397         * m4/vfprintf-posix.m4: New file.
66398         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
66399         REPLACE_VFPRINTF.
66400         * lib/stdio_.h (vfprintf): New declaration.
66401         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
66402         REPLACE_VFPRINTF.
66403
66404 2007-03-08  Bruno Haible  <bruno@clisp.org>
66405
66406         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
66407
66408 2007-03-08  Bruno Haible  <bruno@clisp.org>
66409
66410         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
66411         instead of 'expr' invocations.
66412         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66415         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66416         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66417         Suggested by Paul Eggert.
66418
66419 2007-03-08  Bruno Haible  <bruno@clisp.org>
66420
66421         * modules/fseterr-tests: New file.
66422         * tests/test-fseterr.c: New file.
66423
66424         * modules/fseterr: New file.
66425         * lib/fseterr.h: New file.
66426         * lib/fseterr.c: New file.
66427
66428 2007-03-08  Bruno Haible  <bruno@clisp.org>
66429
66430         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
66431         * lib/getopt_.h: Likewise.
66432         * lib/mbswidth.h: Likewise.
66433         * lib/setenv.h: Likewise.
66434         * lib/vasnprintf.h: Likewise.
66435         * lib/vasprintf.h: Likewise.
66436         * lib/verror.h: Likewise.
66437         * lib/xsetenv.h: Likewise.
66438         * lib/xvasprintf.h: Likewise.
66439
66440 2007-03-08  Jim Meyering  <jim@meyering.net>
66441
66442         * users.txt: Add parted.
66443
66444         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66445
66446 2007-03-07  Bruno Haible  <bruno@clisp.org>
66447
66448         * m4/printf.m4: Make the shell script snippets copy&pastable.
66449
66450 2007-03-02  Bruno Haible  <bruno@clisp.org>
66451
66452         * lib/netinet_in_.h: New file.
66453         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66454         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66455         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66456         (Depends-on): Add absolute-header.
66457         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66458         into netinet/in.h.
66459
66460 2007-03-03  Bruno Haible  <bruno@clisp.org>
66461
66462         * lib/sys_select_.h: New file.
66463         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66464         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66465         * modules/sys_select (Files): Add lib/sys_select_.h.
66466         (Depends-on): Add absolute-header.
66467         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66468         into sys/select.h.
66469
66470 2007-03-02  Bruno Haible  <bruno@clisp.org>
66471
66472         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66473         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66474         values.
66475         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66476         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66477         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66478         * modules/sys_socket (Depends-on): Add absolute-header.
66479         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66480         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66481         (Include): Remove requirement of inclusion of <sys/types.h>.
66482
66483 2007-03-02  Bruno Haible  <bruno@clisp.org>
66484
66485         * lib/byteswap_.h (bswap_32): Fix formula.
66486
66487 2007-03-06  Bruno Haible  <bruno@clisp.org>
66488
66489         * modules/sprintf-posix-tests: New file.
66490         * tests/test-sprintf-posix.c: New file.
66491
66492         * modules/sprintf-posix: New file.
66493         * lib/sprintf.c: New file.
66494         * m4/sprintf-posix.m4: New file.
66495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66496         REPLACE_SPRINTF.
66497         * lib/stdio_.h (sprintf): New declaration.
66498         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66499         REPLACE_SPRINTF.
66500
66501 2007-03-06  Bruno Haible  <bruno@clisp.org>
66502
66503         * modules/vsprintf-posix-tests: New file.
66504         * tests/test-vsprintf-posix.c: New file.
66505         * tests/test-sprintf-posix.h: New file.
66506
66507         * modules/vsprintf-posix: New file.
66508         * lib/vsprintf.c: New file.
66509         * m4/vsprintf-posix.m4: New file.
66510         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66511         REPLACE_VSPRINTF.
66512         * lib/stdio_.h (vsprintf): New declaration.
66513         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66514         REPLACE_VSPRINTF.
66515
66516 2007-03-06  Bruno Haible  <bruno@clisp.org>
66517
66518         * modules/vsnprintf (Depend-on): Remove minmax.
66519
66520 2007-03-06  Bruno Haible  <bruno@clisp.org>
66521
66522         * modules/snprintf-posix-tests: New file.
66523         * tests/test-snprintf-posix.c: New file.
66524
66525         * modules/snprintf-posix: New file.
66526         * m4/snprintf-posix.m4: New file.
66527         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66528         gl_FUNC_SNPRINTF.
66529         (gl_FUNC_SNPRINTF): Invoke it.
66530         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66531         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66532         is set.
66533         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66534
66535 2007-03-06  Bruno Haible  <bruno@clisp.org>
66536
66537         * modules/vsnprintf-posix-tests: New file.
66538         * tests/test-vsnprintf-posix.c: New file.
66539         * tests/test-snprintf-posix.h: New file.
66540
66541         * modules/vsnprintf-posix: New file.
66542         * m4/vsnprintf-posix.m4: New file.
66543         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66544         gl_FUNC_VSNPRINTF.
66545         (gl_FUNC_VSNPRINTF): Invoke it.
66546         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66547         * lib/stdio_.h (vsnprintf): Define as a replacement if
66548         REPLACE_VSNPRINTF is set.
66549         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66550
66551 2007-03-06  Bruno Haible  <bruno@clisp.org>
66552
66553         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66554         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66555
66556 2007-03-06  Bruno Haible  <bruno@clisp.org>
66557
66558         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66559         (asinl): Declare also if HAVE_DECL_ASINL is set.
66560         (atanl): Declare also if HAVE_DECL_ATANL is set.
66561         (ceill): Declare also if HAVE_DECL_CEILL is set.
66562         (cosl): Declare also if HAVE_DECL_COSL is set.
66563         (expl): Declare also if HAVE_DECL_EXPL is set.
66564         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66565         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66566         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66567         (logl): Declare also if HAVE_DECL_LOGL is set.
66568         (sinl): Declare also if HAVE_DECL_SINL is set.
66569         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66570         (tanl): Declare also if HAVE_DECL_TANL is set.
66571         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66573         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66574         declaration of frexpl, ldexpl.
66575         * modules/printf-frexpl (Depends-on): Add math.
66576         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66577
66578 2007-03-05  Bruno Haible  <bruno@clisp.org>
66579
66580         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66581         frexpl and ldexpl are declared.
66582         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66583
66584 2007-03-05  Bruno Haible  <bruno@clisp.org>
66585
66586         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66587         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66588
66589 2007-03-05  Bruno Haible  <bruno@clisp.org>
66590
66591         * lib/stdio_.h: Include <stddef.h>.
66592
66593 2007-03-05  Bruno Haible  <bruno@clisp.org>
66594
66595         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66596
66597 2007-03-05  Bruno Haible  <bruno@clisp.org>
66598
66599         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66600         NetBSD 4, from Ralf Wildenhues.
66601
66602 2007-03-04  Bruno Haible  <bruno@clisp.org>
66603
66604         * lib/vasprintf.h: Update #if logic for the case when the functions
66605         exist but are overridden.
66606
66607 2007-03-04  Bruno Haible  <bruno@clisp.org>
66608
66609         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66610         implementations: glibc-2.4 and MacOS X 10.3.
66611         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66612         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66613         * tests/test-vasprintf-posix.c (test_function): Likewise.
66614
66615 2007-03-04  Bruno Haible  <bruno@clisp.org>
66616
66617         * modules/vasprintf-posix-tests: New file.
66618         * tests/test-vasprintf-posix.c: New file.
66619
66620         * modules/vasprintf-posix: New file.
66621         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66622         defined.
66623         * m4/vasprintf-posix.m4: New file.
66624         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66625         gl_FUNC_VASPRINTF.
66626         (gl_FUNC_VASPRINTF): Invoke it.
66627         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66628         here.
66629         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66630
66631 2007-03-04  Bruno Haible  <bruno@clisp.org>
66632
66633         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66634         REPLACE_GETTIMEOFDAY.
66635         * modules/sys_time (Makefile.am): Likewise.
66636         * m4/sys_time_h.m4: Likewise.
66637         * m4/gettimeofday.m4: Likewise.
66638
66639 2007-03-04  Bruno Haible  <bruno@clisp.org>
66640
66641         * modules/vasnprintf-posix-tests: New file.
66642         * tests/test-vasnprintf-posix.c: New file.
66643
66644         * modules/vasnprintf-posix: New file.
66645         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66646         printf-frexpl.h.
66647         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66648         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66649         REPLACE_VASNPRINTF is defined.
66650         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66651         gl_FUNC_VASNPRINTF.
66652         (gl_FUNC_VASNPRINTF): Invoke it.
66653         * m4/vasnprintf-posix.m4: New file.
66654         * m4/printf.m4: New file.
66655
66656 2007-03-04  Bruno Haible  <bruno@clisp.org>
66657
66658         Compile progreloc.c only if --enable-relocatable is specified.
66659         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66660         if --enable-relocatable was specified.
66661         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66662         lib_SOURCES.
66663
66664 2007-03-04  Jim Meyering  <jim@meyering.net>
66665
66666         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66667         Use it consistently, rather than enumerating errno constants.
66668
66669 2007-03-04  Bruno Haible  <bruno@clisp.org>
66670
66671         * modules/xvasprintf-tests: New file.
66672         * tests/test-xvasprintf.c: New file.
66673
66674         * modules/vasprintf-tests: New file.
66675         * tests/test-vasprintf.c: New file.
66676
66677         * modules/vasnprintf-tests: New file.
66678         * tests/test-vasnprintf.c: New file.
66679
66680         * modules/vsnprintf-tests: New file.
66681         * tests/test-vsnprintf.c: New file.
66682
66683         * modules/snprintf-tests: New file.
66684         * tests/test-snprintf.c: New file.
66685
66686 2007-03-04  Bruno Haible  <bruno@clisp.org>
66687
66688         Compile relocatable.c only if --enable-relocatable is specified.
66689         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66690         gl_RELOCATABLE_LIBRARY.
66691         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66692         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66693         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66694         gl_RELOCATABLE_LIBRARY.
66695         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66696         (Makefile.am): Remove lib_SOURCES.
66697         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66698         gl_RELOCATABLE_LIBRARY.
66699         (Makefile.am): Remove lib_SOURCES.
66700         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66701         always.
66702         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66703         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66704
66705 2007-03-04  Bruno Haible  <bruno@clisp.org>
66706
66707         * modules/argmatch-tests: New file.
66708         * tests/test-argmatch.c: New file.
66709
66710         * tests/test-allocsa.c (main): Halve the number of loop runs.
66711
66712         * modules/alloca-opt-tests: New file.
66713         * tests/test-alloca-opt.c: New file.
66714
66715 2007-03-04  Jim Meyering  <jim@meyering.net>
66716
66717         Work around difference between Linux ACLs and Solaris 10 ZFS.
66718         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66719         for EINVAL.
66720
66721 2007-03-03  Bruno Haible  <bruno@clisp.org>
66722
66723         * modules/relocatable-prog (Depends-on): Add back progreloc's
66724         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66725
66726 2007-03-03  Bruno Haible  <bruno@clisp.org>
66727
66728         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66729         * modules/relocatable-lib: New file.
66730
66731 2007-03-03  Bruno Haible  <bruno@clisp.org>
66732
66733         * modules/relocatable-prog: Renamed from modules/relocatable.
66734         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66735
66736 2007-03-03  Bruno Haible  <bruno@clisp.org>
66737
66738         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66739         m4/relocatable-lib.m4.
66740         (Depends-on): Remove 'relocatable'.
66741         (configure.ac): Add gl_RELOCATABLE_NOP.
66742
66743 2007-03-03  Bruno Haible  <bruno@clisp.org>
66744
66745         * modules/relocatable-prog-wrapper: New file.
66746         * modules/relocatable (Depends-on): Add it. Remove all other
66747         dependencies except progname.
66748         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66749
66750         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66751         (gl_FUNC_STRERROR): Nop.
66752         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66753
66754         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66755         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66756
66757         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66758         (gl_FUNC_READLINK): Update.
66759
66760         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66761
66762 2007-03-03  Bruno Haible  <bruno@clisp.org>
66763
66764         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66765         * modules/xreadlink (Depends-on): Add unistd.
66766         * modules/xreadlink-with-size (Depends-on): Likewise.
66767
66768 2007-03-03  Bruno Haible  <bruno@clisp.org>
66769
66770         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66771         extracted from gt_FUNC_SETENV.
66772         (gt_FUNC_SETENV): Remove macro.
66773         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66774         remove gt_FUNC_SETENV.
66775
66776 2007-03-03  Bruno Haible  <bruno@clisp.org>
66777
66778         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66779         ENABLE_RELOCATABLE here.
66780         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66781
66782 2007-03-03  Bruno Haible  <bruno@clisp.org>
66783
66784         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66785         * tests/test-rbtreehash_list.c: Include progname.h.
66786         (main): Call set_program_name.
66787
66788         * modules/rbtree-oset-tests (Depends-on): Add progname.
66789         * tests/test-rbtree_oset.c: Include progname.h.
66790         (main): Call set_program_name.
66791
66792         * modules/rbtree-list-tests (Depends-on): Add progname.
66793         * tests/test-rbtree_list.c: Include progname.h.
66794         (main): Call set_program_name.
66795
66796         * modules/linked-list-tests (Depends-on): Add progname.
66797         * tests/test-linked_list.c: Include progname.h.
66798         (main): Call set_program_name.
66799
66800 2007-03-03  Bruno Haible  <bruno@clisp.org>
66801
66802         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66803         All uses of __restrict changed to _Restrict_.
66804         * lib/glob_.h (__restrict): Remove macro.
66805
66806 2007-03-02  Bruno Haible  <bruno@clisp.org>
66807
66808         * modules/gettext (configure.ac): Require gettext infrastructure
66809         from version 0.16.1.
66810
66811 2007-03-02  Bruno Haible  <bruno@clisp.org>
66812
66813         * modules/linkedhash-list-tests (Depends-on): Add progname.
66814         * tests/test-linkedhash_list.c: Include progname.h.
66815         (main): Call set_program_name.
66816
66817         * modules/carray-list-tests (Depends-on): Add progname.
66818         * tests/test-carray_list.c: Include progname.h.
66819         (main): Call set_program_name.
66820
66821         * modules/avltreehash-list-tests (Depends-on): Add progname.
66822         * tests/test-avltreehash_list.c: Include progname.h.
66823         (main): Call set_program_name.
66824
66825         * modules/avltree-oset-tests (Depends-on): Add progname.
66826         * tests/test-avltree_oset.c: Include progname.h.
66827         (main): Call set_program_name.
66828
66829         * modules/avltree-list-tests (Depends-on): Add progname.
66830         * tests/test-avltree_list.c: Include progname.h.
66831         (main): Call set_program_name.
66832
66833         * modules/array-oset-tests (Depends-on): Add progname.
66834         * tests/test-array_oset.c: Include progname.h.
66835         (main): Call set_program_name.
66836
66837         * modules/array-list-tests (Depends-on): Add progname.
66838         * tests/test-array_list.c: Include progname.h.
66839         (main): Call set_program_name.
66840
66841         * modules/argp-tests (Depends-on): Add progname.
66842         * tests/test-argp.c: Include argp.h first. Include progname.h.
66843         (main): Call set_program_name.
66844
66845 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66846
66847         * doc/gnulib-tool.texi (Initial import): Reword description of
66848         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66849         limited effect even if defined after the first system include.
66850
66851 2007-03-01  Bruno Haible  <bruno@clisp.org>
66852
66853         * build-aux/config.libpath: Update to libtool-1.5.22.
66854         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66855
66856 2007-03-01  Bruno Haible  <bruno@clisp.org>
66857
66858         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66859         foo_CFLAGS.
66860         Reported by Ralf Wildenhues.
66861
66862 2007-03-01  Bruno Haible  <bruno@clisp.org>
66863
66864         * build-aux/install-reloc: Remove object files left over by some
66865         compilers.
66866         Reported by Ralf Wildenhues.
66867
66868 2007-03-01  Bruno Haible  <bruno@clisp.org>
66869
66870         * build-aux/install-reloc: Break long lines.
66871
66872 2007-03-01  Bruno Haible  <bruno@clisp.org>
66873
66874         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66875         Reported by Ralf Wildenhues.
66876
66877 2007-03-01  Bruno Haible  <bruno@clisp.org>
66878
66879         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66880         include ordering constraints.
66881
66882 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66883
66884         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66885         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66886         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66887         as another example.
66888         * lib/time_.h: Fix misspelling.
66889         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66890         Require gl_HEADER_TIME_H_DEFAULTS.
66891         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66892         * m4/time_r.m4 (gl_TIME_R): Likewise.
66893         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66894
66895 2007-03-01  Bruno Haible  <bruno@clisp.org>
66896
66897         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66898         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66899
66900 2007-03-01  Jim Meyering  <jim@meyering.net>
66901
66902         * modules/xreadlink (Maintainer): Add my name.
66903         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66904
66905 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66906             Bruno Haible  <bruno@clisp.org>
66907
66908         * build-aux/install-reloc: Compile also c-ctype.c.
66909         * build-aux/relocatable.sh.in: New file.
66910         * doc/relocatable.texi: New file.
66911         * doc/relocatable-maint.texi: New file.
66912         * doc/gnulib.texi: Include relocatable-maint.texi.
66913         * lib/progreloc.c: Include unistd.h unconditionally.
66914         * lib/relocwrapper.c: Include unistd.h unconditionally.
66915         Include c-ctype.h.
66916         (add_dotbin): Use c_tolower.
66917         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66918         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66919         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66920         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66921         to m4/relocatable-lib.m4.
66922         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66923         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66924         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66925         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66926         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66927         * modules/relocatable: New file.
66928         * modules/relocatable-lib: New file.
66929         * modules/relocatable-script: New file.
66930
66931 2007-02-28  Bruno Haible  <bruno@clisp.org>
66932
66933         Import --enable-relocatable infrastructure.
66934         * build-aux/config.libpath: New file, from GNU gettext.
66935         * build-aux/install-reloc: New file, from GNU gettext.
66936         * build-aux/reloc-ldflags: New file, from GNU gettext.
66937         * lib/relocatable.h: New file, from GNU gettext.
66938         * lib/relocatable.c: New file, from GNU gettext.
66939         * lib/relocwrapper.c: New file, from GNU gettext.
66940         * m4/relocatable.m4: New file, from GNU gettext.
66941
66942 2007-02-28  Bruno Haible  <bruno@clisp.org>
66943
66944         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66945
66946         * modules/xreadlink: New file, from GNU gettext with modifications.
66947         * lib/xreadlink.c: New file, from GNU gettext.
66948         * lib/xreadlink.h: Add comments.
66949         (xreadlink): New declaration.
66950
66951         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66952         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66953         lib/xreadlink-with-size.c.
66954         (configure.ac): Remove gl_XREADLINK invocation.
66955         (Makefile.am): Augment lib_SOURCES.
66956         * m4/xreadlink.m4: Remove file.
66957         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66958         (xreadlink_with_size): Renamed from xreadink.
66959         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66960         * modules/canonicalize (Depends-on): Replace xreadlink with
66961         xreadlink-with-size.
66962         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66963
66964 2007-02-25  Jim Meyering  <jim@meyering.net>
66965
66966         * build-aux/announce-gen: When complaining about excess arguments,
66967         list them.
66968
66969 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66970
66971         * README: Document signed integer overflow situation more
66972         accurately.
66973
66974 2007-02-25  Bruno Haible  <bruno@clisp.org>
66975
66976         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66977         'a' or 'A' conversion.
66978
66979 2007-02-25  Bruno Haible  <bruno@clisp.org>
66980
66981         * modules/filename: Renamed from modules/pathname.
66982         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66983         lib/concatpath.c with lib/concat-filename.c.
66984         (Makefile.am): Update.
66985         (Include): Replace pathname.h with filename.h.
66986         * lib/filename.h: Renamed from lib/pathname.h.
66987         (concatenated_filename): Renamed from concatenated_pathname.
66988         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66989         (concatenated_filename): Renamed from concatenated_pathname.
66990         * lib/findprog.c: Include filename.h instead of pathname.h.
66991         (find_in_path): Update.
66992         * lib/javacomp.c: Include filename.h instead of pathname.h.
66993         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66994         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66995         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66996         is_oldgcj_14_13_usable, is_javac_usable): Update.
66997         * lib/javaexec.c: Include filename.h instead of pathname.h.
66998         (execute_java_class): Update.
66999         * modules/findprog: Update.
67000         * modules/javacomp: Update.
67001         * modules/javaexec: Update.
67002         * MODULES.html.sh (File system functions): Add 'filename', remove
67003         'pathname'.
67004
67005 2007-02-25  Bruno Haible  <bruno@clisp.org>
67006
67007         * modules/printf-frexpl-tests: New file.
67008         * tests/test-printf-frexpl.c: New file.
67009
67010         * modules/printf-frexpl: New file.
67011         * lib/printf-frexpl.h: New file.
67012         * lib/printf-frexpl.c: New file.
67013         * m4/printf-frexpl.m4: New file.
67014
67015 2007-02-25  Bruno Haible  <bruno@clisp.org>
67016
67017         * modules/printf-frexp-tests: New file.
67018         * tests/test-printf-frexp.c: New file.
67019
67020         * modules/printf-frexp: New file.
67021         * lib/printf-frexp.h: New file.
67022         * lib/printf-frexp.c: New file.
67023         * m4/printf-frexp.m4: New file.
67024
67025 2007-02-25  Bruno Haible  <bruno@clisp.org>
67026
67027         Assume automake >= 1.10 for the tests.
67028         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
67029         * modules/arctwo-tests: Likewise.
67030         * modules/argp-tests: Likewise.
67031         * modules/avltree-list-tests: Likewise.
67032         * modules/avltree-oset-tests: Likewise.
67033         * modules/avltreehash-list-tests: Likewise.
67034         * modules/carray-list-tests: Likewise.
67035         * modules/crc-tests: Likewise.
67036         * modules/des-tests: Likewise.
67037         * modules/gc-arcfour-tests: Likewise.
67038         * modules/gc-arctwo-tests: Likewise.
67039         * modules/gc-des-tests: Likewise.
67040         * modules/gc-hmac-md5-tests: Likewise.
67041         * modules/gc-hmac-sha1-tests: Likewise.
67042         * modules/gc-md2-tests: Likewise.
67043         * modules/gc-md4-tests: Likewise.
67044         * modules/gc-md5-tests: Likewise.
67045         * modules/gc-pbkdf2-sha1-tests: Likewise.
67046         * modules/gc-rijndael-tests: Likewise.
67047         * modules/gc-sha1-tests: Likewise.
67048         * modules/gc-tests: Likewise.
67049         * modules/getaddrinfo-tests: Likewise.
67050         * modules/hmac-md5-tests: Likewise.
67051         * modules/hmac-sha1-tests: Likewise.
67052         * modules/linked-list-tests: Likewise.
67053         * modules/linkedhash-list-tests: Likewise.
67054         * modules/lock-tests: Likewise.
67055         * modules/md2-tests: Likewise.
67056         * modules/md4-tests: Likewise.
67057         * modules/md5-tests: Likewise.
67058         * modules/rbtree-list-tests: Likewise.
67059         * modules/rbtree-oset-tests: Likewise.
67060         * modules/rbtreehash-list-tests: Likewise.
67061         * modules/read-file-tests: Likewise.
67062         * modules/rijndael-tests: Likewise.
67063         * modules/stdint-tests: Likewise.
67064         * modules/tls-tests: Likewise.
67065
67066 2007-02-24  Bruno Haible  <bruno@clisp.org>
67067
67068         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
67069         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
67070         function; instead check whether isnan with a double argument links.
67071         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
67072         function; instead check whether isnan with a 'long double' argument
67073         links.
67074         Reported by Eric Blake <ebb9@byu.net>.
67075
67076 2007-02-24  Bruno Haible  <bruno@clisp.org>
67077
67078         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
67079         defined.
67080         * lib/isnanl.c: Remove all code. Just include isnan.c.
67081         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
67082
67083 2007-02-25  Jim Meyering  <jim@meyering.net>
67084
67085         Avoid conflicting types for 'unsetenv' on FreeBSD.
67086         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
67087         conflicting with FreeBSD's (5.0 and 6.1) function declaration
67088         in stdlib.h.
67089
67090 2007-02-24  Bruno Haible  <bruno@clisp.org>
67091
67092         * modules/isnanl-nolibm-tests: New file.
67093         * tests/test-isnanl.c: New file.
67094
67095         * modules/isnanl-nolibm: New file.
67096         * lib/isnanl.h: New file.
67097         * lib/isnanl.c: New file.
67098         * m4/isnanl.m4: New file.
67099
67100 2007-02-24  Bruno Haible  <bruno@clisp.org>
67101
67102         * modules/isnan-nolibm-tests: New file.
67103         * tests/test-isnan.c: New file.
67104
67105         * modules/isnan-nolibm: New file.
67106         * lib/isnan.h: New file.
67107         * lib/isnan.c: New file.
67108         * m4/isnan.m4: New file.
67109
67110 2007-02-24  Bruno Haible  <bruno@clisp.org>
67111
67112         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
67113         assume that an exponent fits in 20 bits.
67114
67115 2007-02-24  Jim Meyering  <jim@meyering.net>
67116
67117         * m4/regex.m4: Update the description of the configure-time option,
67118         --without-included-regex, to state accurately what the defaults are,
67119         and perhaps to give people an idea why using this option is risky.
67120
67121 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67122
67123         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
67124         loops on small arguments.  This attempts to avoid the problem
67125         Bruno Haible reported for AIX 4.3.2 in
67126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
67127
67128 2007-02-23  Bruno Haible  <bruno@clisp.org>
67129
67130         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
67131         Needed for help2man.
67132
67133 2007-02-23  Karl Berry  <karl@gnu.org>
67134
67135         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
67136         exists, foo.h should be cvs-ignored, not committed.
67137
67138 2007-02-23  Eric Blake  <ebb9@byu.net>
67139
67140         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
67141         * lib/stat-time.h (includes): Likewise.
67142         * lib/utimecmp.c (includes): Likewise.
67143         * lib/utimens.h (includes): Likewise.
67144         * lib/getdate.y (includes): Also include "timespec.h" for use
67145         internal to the module.
67146         * modules/utimens (Depends-on): Revert yesterday's patch.
67147         * modules/nanosleep (Depends-on): Add missing dependency.
67148
67149 2007-02-22  Bruno Haible  <bruno@clisp.org>
67150
67151         * lib/glob.c: Don't include getlogin_r.h.
67152
67153 2007-02-22  Jim Meyering  <jim@meyering.net>
67154
67155         * modules/utimens (Depends-on): Add timespec, required for
67156         utimens.h's inclusion of timespec.h.
67157
67158 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
67159
67160         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
67161         long unreadable paths in GNU/Linux.  Problem reported by Andreas
67162         Schwab in
67163         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
67164         I'll try to think of a better way to fix the Solaris problem.
67165
67166         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
67167         like glibc; on Solaris 10, it fails with errno == EINVAL.
67168         POSIX says the behavior is unspecified if the first argument is NULL,
67169         so play it safe and never pass NULL to the system getcwd.
67170
67171 2007-02-21  Jim Meyering  <jim@meyering.net>
67172
67173         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
67174         of gettimeofday.  It would conflict with the one now always
67175         provided via sys_time_.h.  Reported by Matthew Woehlke, as
67176         an IRIX 6.5 build failure.
67177
67178 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67179
67180         Minor fixups to port to Solaris 10 with Sun C 5.8.
67181         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
67182         * modules/getcwd (Depends-on): Add dirfd.
67183         * lib/putenv.c (putenv): #undef it.
67184         (rpl_putenv): New decl.
67185         (malloc, free): Include <stdlib.h> rather than prototyping separately.
67186
67187 2007-02-20  Bruno Haible  <bruno@clisp.org>
67188
67189         * modules/stdio-tests: New file.
67190         * tests/test-stdio.c: New file.
67191
67192         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
67193         (Depends-on): Add stdio.
67194         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67195         (Include): Use <stdio.h> instead of vsnprintf.h.
67196         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67197         HAVE_DECL_VSNPRINTF.
67198         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
67199
67200         * modules/snprintf (Files): Remove lib/snprintf.h.
67201         (Depends-on): Add stdio.
67202         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
67203         (Include): Use <stdio.h> instead of snprintf.h.
67204         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
67205         HAVE_DECL_SNPRINTF.
67206         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
67207         * lib/getaddrinfo.c: Likewise.
67208
67209         * modules/stdio: New file.
67210         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
67211         * lib/snprintf.h: Remove file.
67212         * lib/vsnprintf.h: Remove file.
67213         * lib/.cppi-disable: Remove snprintf.h.
67214         * m4/stdio_h.m4: New file.
67215         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
67216
67217 2007-02-20  Jim Meyering  <jim@meyering.net>
67218
67219         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
67220         used by e.g., mingw.  From Bruno Haible.
67221
67222 2007-02-19  Bruno Haible  <bruno@clisp.org>
67223
67224         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
67225         warnings.
67226         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67227
67228 2007-02-19  Bruno Haible  <bruno@clisp.org>
67229
67230         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
67231         from mingw users.
67232
67233 2007-02-19  Bruno Haible  <bruno@clisp.org>
67234
67235         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
67236         warnings.
67237         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
67238
67239 2007-02-19  Jim Meyering  <jim@meyering.net>
67240
67241         Don't use FD after a successful "fdopendir (fd)".
67242         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
67243         Reset it by calling dirfd on the just-obtained DIR*.
67244
67245         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
67246         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
67247
67248 2007-02-18  Bruno Haible  <bruno@clisp.org>
67249
67250         * lib/readlink.c: Include <unistd.h>.
67251         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
67252         HAVE_READLINK.
67253         * modules/readlink (Depends-on): Add unistd.
67254         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67255         (Include): Add <unistd.h>.
67256
67257         * lib/getlogin_r.h: Remove file.
67258         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
67259         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
67260         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
67261         HAVE_DECL_GETLOGIN_R.
67262         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
67263         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67264         (Include): Use <unistd.h> instead of getlogin_r.h.
67265
67266         * lib/getcwd.h: Remove file.
67267         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
67268         * lib/xgetcwd.c: Likewise.
67269         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
67270         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
67271         * modules/getcwd (Files): Remove lib/getcwd.h.
67272         (Depends-on): Add unistd.
67273         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67274         (Include): Use <unistd.h> instad of getcwd.h.
67275
67276         * lib/ftruncate.c: Include <unistd.h> first.
67277         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
67278         Set HAVE_FTRUNCATE.
67279         * modules/ftruncate (Depends-on): Add unistd.
67280         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67281
67282         * lib/fchdir.c: Include <unistd.h> first.
67283         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
67284         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
67285         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
67286         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67287         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
67288
67289         * lib/dup2.c: Include <unistd.h> first.
67290         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
67291         HAVE_DUP2.
67292         * modules/dup2 (Depends-on): Add unistd.
67293         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67294
67295         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
67296         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
67297         REPLACE_CHOWN. Don't define chown as a macro here.
67298         * modules/chown (Depends-on): Add unistd.
67299         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
67300
67301         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
67302         Add definition for GL_LINK_WARNING.
67303         (chown, dup2): New declarations.
67304         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
67305         link warning.
67306         (ftruncate): New declaration.
67307         (getcwd): New declaration, taken from old getcwd.h.
67308         (getlogin_r): New declaration, taken from old getlogin_r.h.
67309         (readlink): New declaration.
67310         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
67311         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
67312         (gl_PREREQ_UNISTD): Remove macro.
67313         (gl_UNISTD_MODULE_INDICATOR): New macro.
67314         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
67315         many new variables. Don't set UNISTD_H.
67316         * modules/unistd (Description): Change.
67317         (Depends-on): Add link-warning.
67318         (configure.ac): Update.
67319         (Makefile.am): Create unistd.h always. Substitute many new variables
67320         into it.
67321
67322 2007-02-18  Bruno Haible  <bruno@clisp.org>
67323
67324         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
67325         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
67326         HAVE_GETSUBOPT.
67327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
67328         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
67329         * lib/getsubopt.h: Remove file.
67330         * modules/getsubopt (Files): Remove lib/getsubopt.h.
67331         (Depends-on): Add stdlib.
67332         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67333         (Includes): Use <stdlib.h> instead of getsubopt.h.
67334         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
67335         Set HAVE_GETSUBOPT.
67336         * lib/getsubopt.c: Don't include getsubopt.h.
67337
67338 2007-02-18  Bruno Haible  <bruno@clisp.org>
67339
67340         * modules/fchdir (Depends-on): Add dup2.
67341
67342 2007-02-18  Bruno Haible  <bruno@clisp.org>
67343
67344         * lib/stdlib_.h: Handle glibc's special invocation convention
67345         specially.
67346
67347 2007-02-18  Bruno Haible  <bruno@clisp.org>
67348
67349         * modules/stdlib-tests: New file.
67350         * tests/test-stdlib.c: New file.
67351
67352         * modules/mkstemp (Files): Remove lib/mkstemp.h.
67353         (Depends-on): Add stdlib.
67354         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67355         (Includes): Use <stdlib.h> instead of mkstemp.h.
67356         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67357         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
67358         * lib/mkstemp.c: Don't include mkstemp.h.
67359         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
67360         * lib/stdlib--.h: Don't include mkstemp.h.
67361
67362         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
67363         (Depends-on): Add stdlib.
67364         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
67365         (Includes): Use <stdlib.h> instead of mkdtemp.h.
67366         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
67367         HAVE_MKDTEMP.
67368         * lib/mkdtemp.c: Don't include mkdtemp.h.
67369         * lib/clean-temp.c: Don't include mkdtemp.h.
67370
67371         * modules/exit (Files): Remove lib/exit.h.
67372         (Depends-on): Add stdlib.
67373         (Makefile.am): Remove lib_SOURCES.
67374         (Include): Use <stdlib.h> instead of exit.h.
67375         * lib/argmatch.c: Don't include exit.h.
67376         * lib/execute.c: Likewise.
67377         * lib/pagealign_alloc.c: Likewise.
67378         * lib/pipe.c: Likewise.
67379         * lib/wait-process.c: Likewise.
67380         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
67381         * lib/exitfail.c: Likewise.
67382         * lib/savewd.c: Likewise.
67383         * lib/xsetenv.c: Likewise.
67384
67385         * modules/stdlib: New file.
67386         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
67387         and extra comments about mkstemp().
67388         * lib/exit.h: Remove file.
67389         * lib/mkdtemp.h: Remove file.
67390         * lib/mkstemp.h: Remove file.
67391         * m4/stdlib_h.m4: New file.
67392         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
67393
67394 2007-02-18  Bruno Haible  <bruno@clisp.org>
67395
67396         * modules/math-tests: New file.
67397         * tests/test-math.c: New file.
67398
67399         * modules/math: New file.
67400         * modules/mathl (Files): Remove lib/mathl.h.
67401         (Depends-on): Add math.
67402         (Makefile.am): Don't mention mathl.h.
67403         (Include): Use <math.h> instead of mathl.h.
67404         * lib/math_.h: New file.
67405         * lib/mathl.h: Remove file.
67406         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
67407         mathl.h.
67408         * lib/asinl.c: Likewise.
67409         * lib/atanl.c: Likewise.
67410         * lib/ceill.c: Likewise.
67411         * lib/cosl.c: Likewise.
67412         * lib/expl.c: Likewise.
67413         * lib/floorl.c: Likewise.
67414         * lib/frexpl.c: Likewise.
67415         * lib/ldexpl.c: Likewise.
67416         * lib/logl.c: Likewise.
67417         * lib/sincosl.c: Likewise.
67418         * lib/sinl.c: Likewise.
67419         * lib/sqrtl.c: Likewise.
67420         * lib/tanl.c: Likewise.
67421         * lib/trigl.c: Likewise.
67422         * m4/math_h.m4: New file.
67423         * MODULES.html.sh (Mathematics): Add math.
67424
67425 2007-02-17  Bruno Haible  <bruno@clisp.org>
67426
67427         * modules/wctype-tests: New file.
67428         * tests/test-wctype.c: New file.
67429
67430         * modules/wchar-tests: New file.
67431         * tests/test-wchar.c: New file.
67432
67433         * modules/unistd-tests: New file.
67434         * tests/test-unistd.c: New file.
67435
67436         * modules/time-tests: New file.
67437         * tests/test-time.c: New file.
67438
67439         * modules/sysexits-tests: New file.
67440         * tests/test-sysexits.c: New file.
67441
67442         * modules/sys_time-tests: New file.
67443         * tests/test-sys_time.c: New file.
67444
67445         * modules/sys_stat-tests: New file.
67446         * tests/test-sys_stat.c: New file.
67447
67448         * modules/sys_socket-tests: New file.
67449         * tests/test-sys_socket.c: New file.
67450
67451         * modules/sys_select-tests: New file.
67452         * tests/test-sys_select.c: New file.
67453
67454         * modules/string-tests: New file.
67455         * tests/test-string.c: New file.
67456
67457         * modules/stdbool-tests: New file.
67458         * tests/test-stdbool.c: New file.
67459
67460         * modules/netinet_in-tests: New file.
67461         * tests/test-netinet_in.c: New file.
67462
67463         * modules/inttypes-tests: New file.
67464         * tests/test-inttypes.c: New file.
67465
67466         * modules/fcntl-tests: New file.
67467         * tests/test-fcntl.c: New file.
67468
67469         * modules/byteswap-tests: New file.
67470         * tests/test-byteswap.c: New file.
67471
67472         * modules/arpa_inet-tests: New file.
67473         * tests/test-arpa_inet.c: New file.
67474
67475 2007-02-17  Bruno Haible  <bruno@clisp.org>
67476
67477         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67478         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67479         if the corresponding module is not enabled. Emit link warnings if
67480         the function is used nevertheless.
67481         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67482         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67483         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67484         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67485         * modules/inttypes (Depends-on): Add link-warning.
67486         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67487         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67488         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67489         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67490         * modules/imaxdiv (configure.ac): Likewise.
67491         * modules/strtoimax (configure.ac): Likewise.
67492         * modules/strtoumax (configure.ac): Likewise.
67493
67494 2007-02-17  Bruno Haible  <bruno@clisp.org>
67495
67496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67497         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67498         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67499         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67500
67501 2007-02-17  Bruno Haible  <bruno@clisp.org>
67502
67503         * modules/link-warning: New file.
67504         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67505         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67506         * modules/string (Depends-on): Add link-warning.
67507         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67508         string.h.
67509         * MODULES.html.sh (Support for building libraries and executables): Add
67510         link-warning.
67511
67512 2007-02-17  Bruno Haible  <bruno@clisp.org>
67513
67514         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67515         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67516         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67517         long lines.
67518
67519 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67520             Bruno Haible  <bruno@clisp.org>
67521
67522         * modules/tmpfile: New file.
67523         * lib/tmpfile.c: New file.
67524         * m4/tmpfile.m4: New file.
67525         * MODULES.html.sh (func_all_modules): New section "Input/output".
67526
67527 2007-02-15  Bruno Haible  <bruno@clisp.org>
67528
67529         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67530         (supports_delete_on_close): New function.
67531         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67532
67533 2007-02-14  Bruno Haible  <bruno@clisp.org>
67534
67535         * modules/mbspcasecmp-tests: New file.
67536         * tests/test-mbspcasecmp.sh: New file.
67537         * tests/test-mbspcasecmp.c: New file.
67538
67539         New module mbspcasecmp.
67540         * modules/mbspcasecmp: New file.
67541         * lib/mbspcasecmp.c: New file.
67542         * lib/string_.h (strncasecmp): Change warning message.
67543         (mbspcasecmp): New declaration.
67544         * m4/mbspcasecmp.m4: New file.
67545         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67546         GNULIB_MBSPCASECMP.
67547         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67548         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67549
67550 2007-02-14  Bruno Haible  <bruno@clisp.org>
67551
67552         * modules/mbsncasecmp-tests: New file.
67553         * tests/test-mbsncasecmp.sh: New file.
67554         * tests/test-mbsncasecmp.c: New file.
67555
67556         New module mbsncasecmp.
67557         * modules/mbsncasecmp: New file.
67558         * lib/mbsncasecmp.c: New file.
67559         * lib/string_.h (mbsncasecmp): New declaration.
67560         * m4/mbsncasecmp.m4: New file.
67561         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67562         GNULIB_MBSNCASECMP.
67563         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67564         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67565
67566 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67567
67568         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67569         Verify that it doesn't overlap with our flags.
67570         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67571         do not have the desired effect in multibyte locales; instead, use
67572         mbscasecmp.
67573         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67574         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67575         we don't require GNU fnmatch ourselves (if our users require it, they
67576         should do so explicitly).
67577
67578         Fix regex code so it doesn't rely on strcasecmp.
67579         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67580         Otherwise, include gnulib's langinfo.h.
67581         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67582         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67583         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67584         * modules/regex (FILES): Remove m4/codeset.m4.
67585         (Depends-on): Add localcharset.  Remove strcase.
67586
67587 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67588
67589         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67590         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67591
67592 2007-02-13  Bruno Haible  <bruno@clisp.org>
67593
67594         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67595         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67596
67597 2007-02-12  Bruno Haible  <bruno@clisp.org>
67598
67599         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67600         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67601         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67602         time warning rather than a link error.
67603
67604 2007-02-12  Bruno Haible  <bruno@clisp.org>
67605
67606         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67607         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67608         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67609
67610 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67611
67612         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67613         args, not 2.
67614
67615 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67616
67617         New module 'time', so that apps can include <time.h> as per
67618         POSIX and GNU instead of separate include files like time_r.h
67619         and timegm.h.  This implementation tries out a simpler approach
67620         for replacing decls in standard include files (as compared to
67621         the string module), somewhat as an experiment.
67622
67623         * config/srclist.txt: Comment out mktime.c for now.
67624         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67625         since it doesn't apply any more.  Use generic wording instead.
67626         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67627         'time'.
67628         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67629         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67630         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67631         Don't include <sys/types.h>; no longer needed since we assume C89.
67632         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67633         * lib/strftime.c: Likewise.
67634         * lib/time_r.c: Likewise.
67635         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67636         * lib/nanosleep.c: Include <time.h> first, to check interface.
67637         * lib/strptime.c: Likewise.
67638         * lib/time_r.c: Likewise.
67639         * lib/timegm.c: Likewise.
67640         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67641         needed.
67642         * lib/timegm.c: Don't include timegm.h; no longer needed.
67643         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67644         time.h now handles any problems in that area.
67645         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67646         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67647         that time.h defines struct timespec.
67648         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67649         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67650         handles that.
67651         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67652         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67653         needed.  Set REPLACE_LOCALTIME.
67654         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67655         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67656         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67657         nanosleep; time_h.m4 now does that.  Don't require
67658         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67659         module handles this now.
67660         * modules/getdate (Depends-on): Remove timespec.  Add time.
67661         * modules/nanosleep (Depends-on): Likewise.
67662         * modules/stat-time (Depends-on): Likewise.
67663         * modules/nanosleep (Include): Include time.h, not timespec.h.
67664         * modules/strptime (Files): Remove lib/strptime.h.
67665         (Depends-on): Add extensions, time.
67666         (Include): Include time.h, not strptime.h.
67667         * modules/time_r (Files): Remove lib/time_r.h.
67668         (Depends-on): Add time.
67669         (Include): Include time.h, not time_r.h.
67670         * modules/timegm: Likewise.
67671         * modules/timespec (Description): Now does timespec-related decls
67672         of our own, instead of struct timespec itself.
67673         (Depends-on): Add time; remove extensions.
67674         (Maintainer): Add self.
67675         * modules/utimecmp (Depends-on): Add time; remove timespec.
67676         * modules/utimens (Depends-on): Likewise.
67677         * modules/xnanosleep (Depends-on): Likewise.
67678
67679 2007-02-11  Bruno Haible  <bruno@clisp.org>
67680
67681         * lib/c-strstr.c: Include allocsa.h.
67682         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67683         * lib/c-strcasestr.c: Include allocsa.h.
67684         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67685         * lib/strcasestr.c: Include allocsa.h.
67686         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67687         * lib/mbsstr.c: Include allocsa.h.
67688         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67689         allocsa/freesa instead of malloc/free.
67690         * lib/mbscasestr.c: Include allocsa.h.
67691         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67692         allocsa/freesa instead of malloc/free.
67693         * modules/c-strstr (Depends-on): Add allocsa.
67694         * modules/c-strcasestr (Depends-on): Likewise.
67695         * modules/strcasestr (Depends-on): Likewise.
67696         * modules/mbsstr (Depends-on): Likewise.
67697         * modules/mbscasestr (Depends-on): Likewise.
67698
67699 2007-02-11  Bruno Haible  <bruno@clisp.org>
67700
67701         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67702
67703         * modules/mbsspn-tests: New file.
67704         * tests/test-mbsspn.sh: New file.
67705         * tests/test-mbsspn.c: New file.
67706
67707 2007-02-11  Bruno Haible  <bruno@clisp.org>
67708
67709         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67710
67711         * modules/mbspbrk-tests: New file.
67712         * tests/test-mbspbrk.sh: New file.
67713         * tests/test-mbspbrk.c: New file.
67714
67715 2007-02-11  Bruno Haible  <bruno@clisp.org>
67716
67717         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67718         unneeded cast.
67719
67720         * modules/mbscspn-tests: New file.
67721         * tests/test-mbscspn.sh: New file.
67722         * tests/test-mbscspn.c: New file.
67723
67724 2007-02-11  Bruno Haible  <bruno@clisp.org>
67725
67726         * modules/mbscasecmp-tests: New file.
67727         * tests/test-mbscasecmp.sh: New file.
67728         * tests/test-mbscasecmp.c: New file.
67729
67730 2007-02-11  Bruno Haible  <bruno@clisp.org>
67731
67732         Ensure O(n) worst-case complexity of mbscasestr.
67733         * lib/mbscasestr.c: Include stdbool.h.
67734         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67735         functions.
67736         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67737         the bookkeeping indicates that it's worth it.
67738         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67739
67740         * modules/mbscasestr-tests: New file.
67741         * tests/test-mbscasestr1.c: New file.
67742         * tests/test-mbscasestr2.sh: New file.
67743         * tests/test-mbscasestr2.c: New file.
67744         * tests/test-mbscasestr3.sh: New file.
67745         * tests/test-mbscasestr3.c: New file.
67746         * tests/test-mbscasestr4.sh: New file.
67747         * tests/test-mbscasestr4.c: New file.
67748         * m4/locale-tr.m4: New file.
67749
67750 2007-02-11  Bruno Haible  <bruno@clisp.org>
67751
67752         Ensure O(n) worst-case complexity of mbsstr.
67753         * lib/mbsstr.c: Include stdbool.h.
67754         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67755         functions.
67756         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67757         bookkeeping indicates that it's worth it.
67758         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67759
67760         * modules/mbsstr-tests: New file.
67761         * tests/test-mbsstr1.c: New file.
67762         * tests/test-mbsstr2.sh: New file.
67763         * tests/test-mbsstr2.c: New file.
67764         * tests/test-mbsstr3.sh: New file.
67765         * tests/test-mbsstr3.c: New file.
67766         * m4/locale-fr.m4: New file.
67767
67768 2007-02-11  Bruno Haible  <bruno@clisp.org>
67769
67770         * lib/mbsrchr.c (mbsrchr): Fix bug.
67771
67772         * modules/mbsrchr-tests: New file.
67773         * tests/test-mbsrchr.sh: New file.
67774         * tests/test-mbsrchr.c: New file.
67775
67776 2007-02-11  Bruno Haible  <bruno@clisp.org>
67777
67778         * lib/mbschr.c (mbschr): Fix bug.
67779
67780         * modules/mbschr-tests: New file.
67781         * tests/test-mbschr.sh: New file.
67782         * tests/test-mbschr.c: New file.
67783         * m4/locale-zh.m4: New file.
67784
67785 2007-02-11  Bruno Haible  <bruno@clisp.org>
67786
67787         Support for copying multibyte string iterators.
67788         * lib/mbiter.h: Include <string.h>.
67789         (mbiter_multi_copy): New function.
67790         (mbi_copy): New macro.
67791         * lib/mbuiter.h: Include <string.h>.
67792         (mbuiter_multi_copy): New function.
67793         (mbui_copy): New macro.
67794
67795 2007-02-11  Bruno Haible  <bruno@clisp.org>
67796
67797         New module mbslen.
67798         * modules/mbslen: New file.
67799         * lib/mbslen.c: New file.
67800         * lib/string_.h (mbslen): New declaration.
67801         * m4/mbslen.m4: New file.
67802         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67803         GNULIB_MBSLEN.
67804         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67805         * MODULES.html.sh (Internationalization functions): Add mbslen.
67806
67807 2007-02-11  Bruno Haible  <bruno@clisp.org>
67808
67809         Ensure O(n) worst-case complexity of strcasestr substitute.
67810         * lib/strcasestr.c: Include stdbool.h.
67811         (knuth_morris_pratt): New function.
67812         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67813         bookkeeping indicates that it's worth it.
67814         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67815
67816         * modules/strcasestr-tests: New file.
67817         * tests/test-strcasestr.c: New file.
67818
67819 2007-02-11  Bruno Haible  <bruno@clisp.org>
67820
67821         Ensure O(n) worst-case complexity of c_strcasestr.
67822         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67823         (knuth_morris_pratt): New function.
67824         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67825         the bookkeeping indicates that it's worth it.
67826         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67827
67828         * modules/c-strcasestr-tests: New file.
67829         * tests/test-c-strcasestr.c: New file.
67830
67831 2007-02-11  Bruno Haible  <bruno@clisp.org>
67832
67833         Ensure O(n) worst-case complexity of c_strstr.
67834         * lib/c-strstr.c: Include stdbool.h, string.h.
67835         (knuth_morris_pratt): New function.
67836         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67837         bookkeeping indicates that it's worth it.
67838         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67839
67840         * lib/c-strstr.c: Complete rewrite for maintainability.
67841
67842         * modules/c-strstr-tests: New file.
67843         * tests/test-c-strstr.c: New file.
67844
67845 2007-02-11  Bruno Haible  <bruno@clisp.org>
67846
67847         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67848         5.2.1 and earlier, whereby \055 was treated just like the range
67849         delimiter '-'.
67850         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67851
67852 2007-02-08  Bruno Haible  <bruno@clisp.org>
67853
67854         * modules/regex (Depends-on): Add stdbool.
67855         Reported by Dalibor Topic <robilad@kaffe.org>.
67856
67857 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67858
67859         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67860         Prefer returning from main to exiting from it.
67861         Remove unnecessary parens after sizeof.
67862
67863 2007-02-05  Bruno Haible  <bruno@clisp.org>
67864
67865         New module mbssep.
67866         * modules/mbssep: New file.
67867         * lib/mbssep.c: New file.
67868         * lib/string_.h (strsep): Add a conditional link warning.
67869         (mbssep): New declaration.
67870         * m4/mbssep.m4: New file.
67871         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67872         GNULIB_MBSSEP.
67873         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67874         * MODULES.html.sh (Internationalization functions): Add mbssep.
67875
67876 2007-02-05  Bruno Haible  <bruno@clisp.org>
67877
67878         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67879         Optimize search in case of 1 delimiter.
67880
67881 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67882
67883         * lib/acl.h: Include sys/types.h before sys/acl.h.
67884
67885 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67886
67887         Merge upstream fix for glibc bugzilla #3957:
67888
67889         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67890
67891         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67892         bit for RE_HAT_LISTS_NOT_NEWLINE.
67893         (build_charclass_op): Remove bogus comment.
67894
67895 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67896
67897         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67898
67899 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67900
67901         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67902         * lib/memmem.c [!defined _LIBC]: Include config.h.
67903
67904 2007-02-04  Bruno Haible  <bruno@clisp.org>
67905
67906         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67907         warning message.
67908
67909 2007-02-04  Bruno Haible  <bruno@clisp.org>
67910
67911         New module mbstok_r.
67912         * modules/mbstok_r: New file.
67913         * lib/mbstok_r.c: New file.
67914         * lib/string_.h (strtok_r): Change argument names to match the
67915         comments. Add a conditional link warning.
67916         (mbstok_r): New declaration.
67917         * m4/mbstok_r.m4: New file.
67918         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67919         GNULIB_MBSTOK_R.
67920         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67921         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67922
67923 2007-02-04  Bruno Haible  <bruno@clisp.org>
67924
67925         New module mbsspn.
67926         * modules/mbsspn: New file.
67927         * lib/mbsspn.c: New file.
67928         * lib/string_.h (strspn): Add a conditional link warning.
67929         (mbsspn): New declaration.
67930         * m4/mbsspn.m4: New file.
67931         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67932         GNULIB_MBSSPN.
67933         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67934         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67935
67936 2007-02-04  Bruno Haible  <bruno@clisp.org>
67937
67938         New module mbspbrk.
67939         * modules/mbspbrk: New file.
67940         * lib/mbspbrk.c: New file.
67941         * lib/string_.h (strpbrk): Add a conditional link warning.
67942         (mbspbrk): New declaration.
67943         * m4/mbspbrk.m4: New file.
67944         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67945         GNULIB_MBSPBRK.
67946         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67947         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67948
67949 2007-02-04  Bruno Haible  <bruno@clisp.org>
67950
67951         New module mbscspn.
67952         * modules/mbscspn: New file.
67953         * lib/mbscspn.c: New file.
67954         * lib/string_.h (strcspn): Add a conditional link warning.
67955         (mbscspn): New declaration.
67956         * m4/mbscspn.m4: New file.
67957         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67958         GNULIB_MBSCSPN.
67959         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67960         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67961
67962 2007-02-04  Bruno Haible  <bruno@clisp.org>
67963
67964         New module mbscasestr, reduced goal of strcasestr.
67965         * modules/mbscasestr: New file.
67966         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67967         (mbscasestr): Renamed from strcasestr.
67968         * lib/strcasestr.c: Don't include mbuiter.h.
67969         (strcasestr): Remove support for multibyte locales.
67970         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67971         Change the conditional link warning.
67972         (mbscasestr): New declaration.
67973         * m4/mbscasestr.m4: New file.
67974         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67975         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67976         REPLACE_STRCASESTR.
67977         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67978         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67979         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67980         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67981         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67982         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67983         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67984         (Depends-on): Remove mbuiter.
67985         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67986
67987 2007-02-04  Bruno Haible  <bruno@clisp.org>
67988
67989         Simplify handling of strncasecmp.
67990         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67991         the conditional link warning.
67992         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67993         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67994         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67995         * modules/strcase (configure.ac): Don't invoke
67996         gl_STRING_MODULE_INDICATOR.
67997         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67998
67999 2007-02-04  Bruno Haible  <bruno@clisp.org>
68000
68001         New module mbscasecmp, reduced goal of strcasecmp.
68002         * modules/mbscasecmp: New file.
68003         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
68004         (mbscasecmp): Renamed from strcasecmp.
68005         * lib/strcasecmp.c: Don't include mbuiter.h.
68006         (strcasecmp): Remove support for multibyte locales.
68007         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
68008         Change the conditional link warning.
68009         (mbscasecmp): New declaration.
68010         * m4/mbscasecmp.m4: New file.
68011         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
68012         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
68013         REPLACE_STRCASECMP.
68014         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
68015         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68016         GNULIB_MBSCASECMP.
68017         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
68018         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
68019         * modules/strcase (Files): Remove m4/mbrtowc.m4.
68020         (Depends-on): Remove mbuiter.
68021         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
68022
68023 2007-02-04  Bruno Haible  <bruno@clisp.org>
68024
68025         New module mbsstr. Remove module strstr.
68026         * modules/mbsstr: New file.
68027         * modules/strstr: Remove file.
68028         * lib/mbsstr.c: Renamed from lib/strstr.c.
68029         (mbsstr): Renamed from strstr.
68030         * lib/string_.h (strstr): Remove declaration. Change the conditional
68031         link warning.
68032         (mbsstr): New declaration.
68033         * m4/mbsstr.m4: New file.
68034         * m4/strstr.m4: Remove file.
68035         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
68036         REPLACE_STRSTR.
68037         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
68038         Don't initialize GNULIB_STRSTR.
68039         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
68040         substitute GNULIB_STRSTR and REPLACE_STRSTR.
68041         * MODULES.html.sh (Internationalization functions): Add mbsstr.
68042         (Support for systems lacking ANSI C 89): Remove strstr.
68043
68044 2007-02-04  Bruno Haible  <bruno@clisp.org>
68045
68046         New module mbsrchr.
68047         * modules/mbsrchr: New file.
68048         * lib/mbsrchr.c: New file.
68049         * lib/string_.h (strrchr): Add a conditional link warning.
68050         (mbsrchr): New declaration.
68051         * m4/mbsrchr.m4: New file.
68052         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68053         GNULIB_MBSRCHR.
68054         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
68055         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
68056
68057 2007-02-04  Bruno Haible  <bruno@clisp.org>
68058
68059         New module mbschr.
68060         * modules/mbschr: New file.
68061         * lib/mbschr.c: New file.
68062         * lib/string_.h (strchr): Add a conditional link warning.
68063         (mbschr): New declaration.
68064         * m4/mbschr.m4: New file.
68065         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
68066         GNULIB_MBSCHR.
68067         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
68068         * MODULES.html.sh (Internationalization functions): Add mbschr.
68069
68070 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
68071
68072         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
68073
68074         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
68075
68076 2007-02-04  Bruno Haible  <bruno@clisp.org>
68077
68078         New module description section 'configure.ac-early'.
68079         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
68080         (func_get_autoconf_early_snippet): New function.
68081         (func_import, func_create_testdir): Use it. Remove special cases for
68082         modules 'extensions' and 'lock'.
68083         * modules/extensions (configure.ac-early): Require
68084         gl_USE_SYSTEM_EXTENSIONS.
68085         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
68086
68087 2007-02-04  Bruno Haible  <bruno@clisp.org>
68088
68089         Make use of gcj-4.3's -fsource and -ftarget option.
68090         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
68091         and if so try the options -fsource and -ftarget.
68092         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
68093         source_version, ftarget_option, target_version arguments.
68094         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
68095         (is_envjavac_oldgcj_14_14_usable): Renamed from
68096         is_envjavac_gcj_14_14_usable.
68097         (is_envjavac_oldgcj_14_13_usable): Renamed from
68098         is_envjavac_gcj_14_13_usable.
68099         (is_gcj_present): Update.
68100         (is_gcj_43, is_gcj43_usable): New functions.
68101         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
68102         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
68103         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
68104         try the options -fsource and -ftarget.
68105
68106 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68107
68108         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
68109         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
68110         larger value.
68111
68112 2007-02-03  Jim Meyering  <jim@meyering.net>
68113
68114         Give tools a better chance to allocate space for very large buffers.
68115         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
68116
68117         Make pwd and readlink work also when run with an unreadable parent dir
68118         on systems with openat support.
68119         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
68120         provided getcwd function, even when we have openat support.
68121         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
68122
68123 2007-02-02  Bruno Haible  <bruno@clisp.org>
68124
68125         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
68126         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
68127         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
68128         portability problems if one of these functions is only used on specific
68129         platforms.
68130         Reported by Paul Eggert.
68131
68132 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
68133
68134         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
68135         is causing more trouble than it's curing.
68136         * lib/regex_internal.h (__mempcpy): Remove.
68137         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
68138         (and make the code a tad smaller to boot).
68139         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
68140
68141 2007-02-02  Jim Meyering  <jim@meyering.net>
68142
68143         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
68144         section, not in the Makefile.am: one.
68145
68146 2007-02-02  Eric Blake  <ebb9@byu.net>
68147
68148         * lib/strchrnul.c: Always include config.h first.
68149
68150         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
68151         gnulib strstr is not necessary here.
68152
68153 2007-02-02  Simon Josefsson  <simon@josefsson.org>
68154
68155         * m4/socklen.m4: Fix typo.
68156
68157 2007-02-02  Eric Blake  <ebb9@byu.net>
68158
68159         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
68160         * modules/netinet_in (Makefile.am): Likewise.
68161
68162 2007-02-01  Bruno Haible  <bruno@clisp.org>
68163
68164         * lib/string_.h (GL_LINK_WARNING): New macro.
68165         (strcasecmp, strstr, strcasestr): If provided by the system,
68166         conditionally define as a macro that leads to a warning instead of to
68167         an error.
68168         (strncasecmp): Conditionally define as a macro that leads to a warning.
68169
68170 2007-02-01  Karl Berry  <karl@gnu.org>
68171
68172         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
68173
68174 2007-02-01  Bruno Haible  <bruno@clisp.org>
68175
68176         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
68177         renamings.
68178
68179 2007-02-01  Eric Blake  <ebb9@byu.net>
68180
68181         * modules/regex (Depends-on): Revert dependence on mempcpy.
68182         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
68183         module's definition of mempcpy.
68184         Reported by Paul Eggert.
68185
68186 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * lib/string_.h: If the gnulib module XYZ is not present, undefine
68189         the symbol XYZ before redefining it.  This fixes a problem with
68190         programs that don't use XYZ, when compiled on systems that define
68191         XYZ to something else.
68192
68193 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
68194
68195         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
68196         occurs when "mkdir -m foo" creates a setgid directory that is (1)
68197         writeable to group or other and (2) is intended to have a special
68198         mode bit that is set or cleared.  In such a case, the directory
68199         should be neither group- nor other-writeable until the special
68200         mode bits are right.
68201
68202 2007-01-31  Eric Blake  <ebb9@byu.net>
68203
68204         * modules/mountlist (Depends-on): Add strstr.
68205
68206         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
68207         bug.
68208         * modules/string (Makefile.am): Remove redundant replacement.
68209         * modules/regex (Depends-on): Add mempcpy.
68210
68211 2007-01-31  Bruno Haible  <bruno@clisp.org>
68212
68213         New module description field 'Link'.
68214         * gnulib-tool (func_usage): Document --extract-link-directive.
68215         (sed_extract_prog): Recognize 'Link' directive.
68216         (func_get_link_directive): New function.
68217         (func_import): Show summary of link directives.
68218         Handle --extract-link-directive option.
68219         * modules/acl (Link): New section.
68220         * modules/clock-time (Link): New section.
68221         * modules/euidaccess (Link): New section.
68222         * modules/gettext (Link): New section.
68223         * modules/iconv (Link): New section.
68224         * modules/lock (Link): New section.
68225         * modules/nanosleep (Link): New section.
68226         * modules/readline (Link): New section.
68227
68228 2007-01-27  Bruno Haible  <bruno@clisp.org>
68229
68230         Enforce the use of gnulib modules for unportable <string.h> functions.
68231         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
68232         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
68233         (gl_HEADER_STRING_H_BODY): Require it.
68234         * lib/string_.h: If the gnulib module XYZ is not present, redefine
68235         the symbol XYZ to one that gives a link error.
68236         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
68237         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
68238         * modules/mempcpy (configure.ac): Likewise.
68239         * modules/memrchr (configure.ac): Likewise.
68240         * modules/stpcpy (configure.ac): Likewise.
68241         * modules/stpncpy (configure.ac): Likewise.
68242         * modules/strcase (configure.ac): Likewise.
68243         * modules/strcasestr (configure.ac): Likewise.
68244         * modules/strchrnul (configure.ac): Likewise.
68245         * modules/strdup (configure.ac): Likewise.
68246         * modules/strndup (configure.ac): Likewise.
68247         * modules/strnlen (configure.ac): Likewise.
68248         * modules/strpbrk (configure.ac): Likewise.
68249         * modules/strsep (configure.ac): Likewise.
68250         * modules/strstr (configure.ac): Likewise.
68251         * modules/strtok_r (configure.ac): Likewise.
68252
68253 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
68254
68255         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
68256
68257 2007-01-30  Jim Meyering  <jim@meyering.net>
68258
68259         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
68260
68261 2007-01-29  Bruno Haible  <bruno@clisp.org>
68262
68263         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
68264         * lib/execute.c: Likewise.
68265         * lib/pipe.c: Likewise.
68266         * lib/printf-args.h: Likewise.
68267         * lib/printf-args.c: Likewise.
68268         * lib/printf-parse.c: Likewise.
68269         * lib/vasnprintf.c: Likewise.
68270
68271 2007-01-29  Eric Blake  <ebb9@byu.net>
68272
68273         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
68274         declaration.
68275
68276 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
68277
68278         * lib/strptime.h (strptime): Use 'restrict' for args where
68279         POSIX requires this.
68280         * lib/strptime.c (strptime): Likewise.
68281         Change license notice from LGPL to GPL, since gnulib-tool will
68282         change this as needed.
68283         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
68284         defined.
68285         Include "strptime.h" first, to check interface.
68286         Do not #undef _LIBC and _NL_CURRENT.
68287         Do not include <stdlib.h>; no longer needed.
68288         Include "time_r.h" and declare ptime_locale_status
68289         only if _LIBC is not defined.
68290         (__P): Remove unused macro.
68291         (match_string): Bring back glibc version, but use it only if _LIBC
68292         is defined.
68293         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
68294         Remove unnecessary assertion and abort() call.
68295         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
68296         * m4/strptime.m4: Fix serial number comment.
68297         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
68298         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
68299         (Depends-on): Add time_r.
68300
68301 2007-01-29  Bruno Haible  <bruno@clisp.org>
68302
68303         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68304         strptime.
68305         * modules/strptime (Depends-on): Add stdbool.
68306         * lib/strptime.h: Include <time.h> always. Add comments.
68307
68308 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68309
68310         * modules/strptime: New file.
68311         * lib/strptime.h: New file.
68312         * lib/strptime.c: New file.
68313         * m4/strptime.m4: New file.
68314
68315 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68316
68317         * MODULES.html.sh: New module mpsort.
68318         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
68319
68320         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
68321         a circularity problem with HP-UX ia64 reported by Bob Proulx in
68322         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
68323         All uses changed.
68324         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
68325         All uses changed.
68326         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
68327         to _Restrict_.
68328         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
68329         the parameter matches the prototype.
68330
68331 2007-01-28  Jim Meyering  <jim@meyering.net>
68332
68333         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
68334         sys/time.h here, reverting that part of the previous patch:
68335         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
68336
68337 2007-01-28  Bruno Haible  <bruno@clisp.org>
68338
68339         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
68340         value of $(SYS_TIME_H).
68341         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
68342         remove it conditionally, too. [added by Jim Meyering]
68343         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
68344         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68345         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
68346         GETTIMEOFDAY_REPLACEMENT to 1.
68347
68348 2007-01-28  Bruno Haible  <bruno@clisp.org>
68349
68350         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
68351         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
68352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
68353         Set UNISTD_H instead of UNISTD_H2.
68354         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
68355
68356 2007-01-28  Bruno Haible  <bruno@clisp.org>
68357
68358         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
68359         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
68360
68361 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68362
68363         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
68364         (func_create_testdir): Ensure C locale for `grep' and `tr'
68365         character ranges.
68366         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
68367         ACLOCAL_AMFLAGS parsing state machine.
68368
68369 2007-01-27  Bruno Haible  <bruno@clisp.org>
68370
68371         * modules/unistr/base: Update.
68372
68373 2007-01-27  Bruno Haible  <bruno@clisp.org>
68374
68375         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
68376         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
68377         * modules/unistr/u32-mbtouc-unsafe: Renamed from
68378         modules/unistr/u32-mbtouc.
68379         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
68380         * lib/unistr.h: Update.
68381         * lib/linebreak.c: Update.
68382         * modules/unistr/u32-mbtouc: Renamed from
68383         modules/unistr/u32-mbtouc-safe.
68384         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
68385         * lib/unistr.h: Update.
68386         * lib/unistr/u32-to-u8.c: Update.
68387         * lib/unistr/u32-to-u16.c: Update.
68388
68389 2007-01-27  Bruno Haible  <bruno@clisp.org>
68390
68391         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
68392         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
68393         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
68394         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
68395         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
68396         * modules/unistr/u16-mbtouc-unsafe: Renamed from
68397         modules/unistr/u16-mbtouc.
68398         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
68399         * lib/unistr.h: Update.
68400         * lib/linebreak.c: Update.
68401         * modules/linebreak: Update.
68402         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
68403         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
68404         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
68405         * modules/unistr/u16-mbtouc: Renamed from
68406         modules/unistr/u16-mbtouc-safe.
68407         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
68408         * lib/unistr.h: Update.
68409         * lib/unistr/u16-to-u8.c: Update.
68410         * modules/unistr/u16-to-u8: Update.
68411         * lib/unistr/u16-to-u32.c: Update.
68412         * modules/unistr/u16-to-u32: Update.
68413
68414 2007-01-27  Bruno Haible  <bruno@clisp.org>
68415
68416         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
68417         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
68418         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
68419         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
68420         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
68421         * modules/unistr/u8-mbtouc-unsafe: Renamed from
68422         modules/unistr/u8-mbtouc.
68423         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
68424         * lib/unistr.h: Update.
68425         * lib/striconveh.c: Update.
68426         * modules/striconveh: Update.
68427         * lib/linebreak.c: Update.
68428         * modules/linebreak: Update.
68429         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
68430         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
68431         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
68432         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
68433         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
68434         * lib/unistr.h: Update.
68435         * lib/striconveh.c: Update.
68436         * modules/striconveh: Update.
68437         * lib/unistr/u8-to-u16.c: Update.
68438         * modules/unistr/u8-to-u16: Update.
68439         * lib/unistr/u8-to-u32.c: Update.
68440         * modules/unistr/u8-to-u32: Update.
68441
68442 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68443
68444         Sync from Libtool.
68445         * lib/argz.c: Do not include strings.h nor memory.h, include
68446         string.h unconditionally.  Patch by Simon Josefsson.
68447
68448 2007-01-27  Bruno Haible  <bruno@clisp.org>
68449
68450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68451         from gl_HEADER_STRING_H_BODY.
68452         (gl_HEADER_STRING_H_BODY): Require it.
68453         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68454         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68455         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68456         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68457         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68458         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68459         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68460         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68461         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68462         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68463         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68464         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68465         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68466         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68467         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68468
68469 2007-01-27  Bruno Haible  <bruno@clisp.org>
68470
68471         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68472         check_PROGRAMS into noinst_PROGRAMS.
68473         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68474         check_PROGRAMS in this case.
68475         (func_import): Set for_test to false.
68476         (func_create_testdir): Set for_test to true.
68477
68478 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68479             Bruno Haible  <bruno@clisp.org>
68480
68481         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68482         (Depends-on): Add string.
68483         (Includes): Use <string.h> instead of strcasestr.h.
68484         * modules/string (Makefile.am): Also substitute the value of
68485         REPLACE_STRCASESTR.
68486         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68487         assume strcasestr is declared in <string.h> not <strings.h>. Also
68488         set REPLACE_STRCASESTR.
68489         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68490         REPLACE_STRCASESTR.
68491         * lib/strcasestr.h: Remove file.
68492         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68493         * lib/string_.h (strcasestr): New declaration.
68494
68495 2007-01-27  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/string_.h: Use 'extern'.
68498
68499 2007-01-27  Jim Meyering  <jim@meyering.net>
68500
68501         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68502         of set-but-not-used local, "q".
68503
68504         * lib/mempcpy.c: Include <config.h> before <string.h>.
68505         This fixes a compilation error on HP-UX, due to the system's
68506         "restrict"-using mempcpy prototype.
68507
68508 2007-01-26  Bruno Haible  <bruno@clisp.org>
68509
68510         Small optimization.
68511         * lib/javacomp.c: Include c-strstr.h.
68512          (is_envjavac_gcj): Use c_strstr instead of strstr.
68513         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68514
68515 2007-01-26  Bruno Haible  <bruno@clisp.org>
68516
68517         * MODULES.html.sh (Unicode string functions): Add the new modules.
68518
68519         * modules/uniconv/u32-strconv-to-locale: New file.
68520         * lib/uniconv/u32-strconv-to-locale.c: New file.
68521
68522         * modules/uniconv/u16-strconv-to-locale: New file.
68523         * lib/uniconv/u16-strconv-to-locale.c: New file.
68524
68525         * modules/uniconv/u8-strconv-to-locale: New file.
68526         * lib/uniconv/u8-strconv-to-locale.c: New file.
68527
68528         * modules/uniconv/u32-strconv-from-locale: New file.
68529         * lib/uniconv/u32-strconv-from-locale.c: New file.
68530
68531         * modules/uniconv/u16-strconv-from-locale: New file.
68532         * lib/uniconv/u16-strconv-from-locale.c: New file.
68533
68534         * modules/uniconv/u8-strconv-from-locale: New file.
68535         * lib/uniconv/u8-strconv-from-locale.c: New file.
68536
68537         * modules/uniconv/u32-strconv-to-enc: New file.
68538         * lib/uniconv/u32-strconv-to-enc.c: New file.
68539         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68540         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68541
68542         * modules/uniconv/u16-strconv-to-enc: New file.
68543         * lib/uniconv/u16-strconv-to-enc.c: New file.
68544         * lib/uniconv/u-strconv-to-enc.h: New file.
68545         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68546         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68547
68548         * modules/uniconv/u8-strconv-to-enc: New file.
68549         * lib/uniconv/u8-strconv-to-enc.c: New file.
68550         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68551         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68552
68553         * modules/uniconv/u32-strconv-from-enc: New file.
68554         * lib/uniconv/u32-strconv-from-enc.c: New file.
68555         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68556         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68557
68558         * modules/uniconv/u16-strconv-from-enc: New file.
68559         * lib/uniconv/u16-strconv-from-enc.c: New file.
68560         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68561         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68562
68563         * modules/uniconv/u8-strconv-from-enc: New file.
68564         * lib/uniconv/u8-strconv-from-enc.c: New file.
68565         * lib/uniconv/u-strconv-from-enc.h: New file.
68566         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68567         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68568
68569         * modules/uniconv/u32-conv-from-enc: New file.
68570         * lib/uniconv/u32-conv-from-enc.c: New file.
68571         * modules/uniconv/u32-conv-from-enc-tests: New file.
68572         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68573
68574         * modules/uniconv/u16-conv-from-enc: New file.
68575         * lib/uniconv/u16-conv-from-enc.c: New file.
68576         * lib/uniconv/u-conv-from-enc.h: New file.
68577         * modules/uniconv/u16-conv-from-enc-tests: New file.
68578         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68579
68580         * modules/uniconv/u8-conv-from-enc: New file.
68581         * lib/uniconv/u8-conv-from-enc.c: New file.
68582         * modules/uniconv/u8-conv-from-enc-tests: New file.
68583         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68584
68585         * modules/uniconv/base: New file.
68586         * lib/uniconv.h: New file.
68587
68588 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68589
68590         * doc/gnulib-tool.texi (Initial import): Update to match current
68591         behavior with strdup module.
68592         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68593         * lib/memmem.h: Remove; all uses removed.  This is now done
68594         by <string.h>.
68595         * lib/mempcpy.h: Likewise.
68596         * lib/memrchr.h: Likewise.
68597         * lib/stpcpy.h: Likewise.
68598         * lib/stpncpy.h: Likewise.
68599         * lib/strcase.h: Likewise.
68600         * lib/strchrnul.h: Likewise.
68601         * lib/strdup.h: Likewise.
68602         * lib/strndup.h: Likewise.
68603         * lib/strnlen.h: Likewise.
68604         * lib/strpbrk.h: Likewise.
68605         * lib/strsep.h: Likewise.
68606         * lib/strstr.h: Likewise.
68607         * lib/strtok_r.h: Likewise.
68608         * lib/string_.h: New file.
68609         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68610         Rely on <string.h> instead.
68611         * lib/canon-host.c: Likewise.
68612         * lib/chdir-long.c: Likewise.
68613         * lib/concatpath.c: Likewise.
68614         * lib/exclude.c: Likewise.
68615         * lib/fchdir.c: Likewise.
68616         * lib/getaddrinfo.c: Likewise.
68617         * lib/getcwd.c: Likewise.
68618         * lib/getsubopt.c: Likewise.
68619         * lib/glob.c: Likewise.
68620         * lib/hard-locale.c: Likewise.
68621         * lib/iconvme.c: Likewise.
68622         * lib/javacomp.c: Likewise.
68623         * lib/mempcpy.c: Likewise.
68624         * lib/memrchr.c: Likewise.
68625         * lib/regex_internal.h: Likewise.
68626         * lib/stpncpy.c: Likewise.
68627         * lib/strcasecmp.c: Likewise.
68628         * lib/strchrnul.c: Likewise.
68629         * lib/strdup.c: Likewise.
68630         * lib/striconv.c: Likewise.
68631         * lib/striconveh.c: Likewise.
68632         * lib/striconveha.c: Likewise.
68633         * lib/strncasecmp.c: Likewise.
68634         * lib/strndup.c: Likewise.
68635         * lib/strnlen.c: Likewise.
68636         * lib/strsep.c: Likewise.
68637         * lib/strstr.c: Likewise.
68638         * lib/strtok_r.c: Likewise.
68639         * lib/userspec.c: Likewise.
68640         * lib/w32spawn.h: Likewise.
68641         * lib/xstrndup.c: Likewise.
68642         * lib/mountlist.c (strstr): Remove decl.
68643         * m4/string_h.m4: New file.
68644         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68645         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68646         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68647         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68648         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68649         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68650         Set REPLACE_STRCASECMP if necessary.
68651         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68652         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68653         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68654         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68655         HAVE_DECL_STRDUP if necessary.
68656         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68657         since gl_FUNC_STRNDUP does that now.
68658         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68659         Check for decl here...
68660         (gl_PREREQ_STRNLEN): ... not here.
68661         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68662         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68663         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68664         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68665         necessary.
68666         * modules/string: New file.
68667         * modules/memmem (Files): Remove special-purpose include file.
68668         (Depends-on): Add string.
68669         (Include): Include <string.h>, not the removed file.
68670         * modules/mempcpy: Likewise.
68671         * modules/memrchr: Likewise.
68672         * modules/stpcpy: Likewise.
68673         * modules/stpncpy: Likewise.
68674         * modules/strcase: Likewise.
68675         * modules/strchrnul: Likewise.
68676         * modules/strdup: Likewise.
68677         * modules/strndup: Likewise.
68678         * modules/strnlen: Likewise.
68679         * modules/strpbrk: Likewise.
68680         * modules/strsep: Likewise.
68681         * modules/strstr: Likewise.
68682         * modules/strtok_r: Likewise.
68683         * tests/test-dirname.c: Don't include "strdup.h", since
68684         <string.h> now suffices.
68685         * tests/test-memmem.c: Don't include "memmem.h", since
68686         <string.h> now suffices.
68687
68688 2007-01-25  Bruno Haible  <bruno@clisp.org>
68689
68690         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68691         *resultp is 0.
68692
68693         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68694         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68695         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68696         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68697
68698         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68699         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68700         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68701         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68702         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68703         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68704
68705 2007-01-24  Bruno Haible  <bruno@clisp.org>
68706
68707         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68708         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68709         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68710         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68711         gl_FUNC_FTS_CORE.
68712         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68713         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68714         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68715         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68716         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68717         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68718         gl_FUNC_FCHOWNAT.
68719         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68720         gl_FUNC_STRFTIME.
68721         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68722         Reported by Ralf Wildenhues.
68723
68724 2007-01-24  Bruno Haible  <bruno@clisp.org>
68725
68726         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68727         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68728         gl_GETADDRINFO.
68729         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68730         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68731         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68732
68733 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68734
68735         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68736         Don't use 'exit'; just return from 'main'.
68737         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68738
68739         * lib/fnmatch_.h: Readjust white space and comments to match
68740         glibc, to avoid spurious diffs.
68741
68742 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68743
68744         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68745         2004-12-01 change by Jakub Jelinek, since this code won't compile
68746         if !LIBC.  Problem reported by Bob Proulx.
68747
68748 2007-01-23  Bruno Haible  <bruno@clisp.org>
68749
68750         * lib/striconveh.c: Include c-strcaseeq.h.
68751         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68752         * modules/striconveh (Depends-on): Add c-strcaseeq.
68753
68754 2007-01-23  Bruno Haible  <bruno@clisp.org>
68755
68756         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68757
68758         * modules/c-strcaseeq: New file.
68759         * lib/c-strcaseeq.h: New file.
68760
68761         * modules/streq: New file.
68762         * lib/streq.h: New file.
68763
68764 2007-01-23  Bruno Haible  <bruno@clisp.org>
68765
68766         * modules/striconveha-tests: New file.
68767         * tests/test-striconveha.c: New file.
68768
68769         * lib/striconveha.h: Include <stdbool.h>.
68770         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68771         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68772         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68773         (mem_iconveha): New function.
68774         (str_iconveha_notranslit): Renamed from str_iconveha.
68775         (str_iconveha): New function.
68776         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68777         c-strcase.
68778
68779 2007-01-23  Bruno Haible  <bruno@clisp.org>
68780
68781         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68782         encodings without forgiving before trying any encoding with handler.
68783         (str_iconveha): Try all encodings without forgiving before trying any
68784         encoding with handler.
68785
68786 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68787
68788         Import the following changes from libc.
68789
68790         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68791
68792         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68793
68794         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68795
68796         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68797         normal_bracket label.
68798
68799         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68800
68801         [BZ #361]
68802         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68803         to normal_bracket after fetching the next character.
68804
68805 2007-01-22  Bruno Haible  <bruno@clisp.org>
68806
68807         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68808         argument.
68809         * lib/striconveh.c (iconv_carefully_1): New function.
68810         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68811         argument.
68812         (str_cd_iconveh): Update.
68813         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68814         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68815         * tests/test-striconveh.c (MAGIC): New macro.
68816         (new_offsets): New function.
68817         (main): Test call with and without offsets.
68818
68819 2007-01-22  Bruno Haible  <bruno@clisp.org>
68820
68821         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68822         * modules/sys_select (Makefile.am): Likewise.
68823         * modules/sys_socket (Makefile.am): Likewise.
68824         * modules/sys_time (Makefile.am): Likewise.
68825
68826 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68827
68828         * modules/gettimeofday (License): Change from GPL to LGPL, since
68829         gettimeofday is a library function.
68830
68831 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68832
68833         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68834
68835 2007-01-21  Bruno Haible  <bruno@clisp.org>
68836
68837         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68838
68839 2007-01-21  Bruno Haible  <bruno@clisp.org>
68840
68841         * modules/striconveha: New file.
68842         * lib/striconveha.h: New file.
68843         * lib/striconveha.c: New file.
68844         * MODULES.html.sh (Internationalization functions): Add striconveha.
68845         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68846         string.
68847         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68848
68849 2007-01-21  Bruno Haible  <bruno@clisp.org>
68850
68851         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68852         * lib/striconveh.c (str_iconveh): Likewise.
68853
68854 2007-01-21  Bruno Haible  <bruno@clisp.org>
68855
68856         * lib/striconveh.h (mem_iconveh): New declaration.
68857         * lib/striconveh.c (mem_iconveh): New function.
68858         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68859
68860 2007-01-21  Bruno Haible  <bruno@clisp.org>
68861
68862         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68863
68864         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68865         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68866         original result buffer.
68867         (str_cd_iconveh): Update.
68868         * tests/test-striconveh.c (main): Update.
68869
68870         * lib/striconv.h (mem_cd_iconv): Change specification.
68871         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68872         result buffer.
68873         (str_cd_iconv): Update.
68874         * tests/test-striconv.c (main): Update.
68875
68876 2007-01-21  Bruno Haible  <bruno@clisp.org>
68877
68878         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68879
68880 2007-01-20  Jim Meyering  <jim@meyering.net>
68881
68882         * lib/userspec.c (parse_with_separator): If a user or group string
68883         starts with "+", skip the corresponding name-to-ID look-up, since
68884         such a look-up must fail: user and group names may not include "+".
68885
68886 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68887
68888         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68889         since we now assume the sys_time module.
68890         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68891         check for sys/time.h; no longer needed.
68892         * modules/poll (Depends-on): Depend on sys_time.
68893
68894 2007-01-18  Bruno Haible  <bruno@clisp.org>
68895
68896         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68897         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68898
68899         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68900         gettimeofday.
68901
68902         * tests/test-gettimeofday.c: Include <time.h>.
68903         (dummy): Remove variable.
68904
68905         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68906         gl_HEADER_SYS_TIME_H.
68907         (gl_HEADER_SYS_TIME_H): New macro.
68908
68909         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68910         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68911         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68912         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68913         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68914         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68915         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68916         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68917         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68918         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68919         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68920
68921         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68922         last change; it caused a compilation error when cross-compiling to
68923         Cygwin.
68924
68925 2007-01-18  Jim Meyering  <jim@meyering.net>
68926
68927         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68928         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68929         than the race-prone "test -d sys || mkdir sys".
68930         (configure.ac): Use AC_PROG_MKDIR_P.
68931         * modules/sys_select: Likewise.
68932         * modules/sys_socket: Likewise.
68933         * modules/sys_time: Likewise.
68934
68935 2007-01-18  Eric Blake  <ebb9@byu.net>
68936
68937         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68938         replace gettimeofday.
68939         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68940         name, to avoid infinite recursion.
68941
68942 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68943
68944         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68945         module sys_time.
68946         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68947         assume timespec.h defines struct timeval.
68948         * lib/settime.c: Likewise.
68949         * lib/utimens.c: Likewise.
68950         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68951         since we now assume the gettimeofday module.
68952         * lib/tempname.c (__gen_tempname): Likewise.
68953         * lib/gettimeofday.h: Remove.
68954         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68955         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68956         Include <time.h>, for 'time()'.
68957         (localtime_buffer_addr): Also use this workaround if
68958         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68959         to simplify the uses.  All uses changed.
68960         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68961         that #undef is inside {}, and 'const' follows type name consistently.
68962         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68963         (gettimeofday): Do not use the maximum possible value for
68964         tv->tv_usec, since that might break usages other than ls.c.
68965         Instead, we'll leave ls.c alone.  This undoes today's patch
68966         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68967         we've never observed the problem but might as well keep the
68968         canary.
68969         * lib/nanosleep.c: Include timespec.h first, for interface check.
68970         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68971         now assume the sys_time module.
68972         * lib/tempname.c: Likewise.
68973         * lib/timespec.h: Likewise.
68974         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68975         needed.
68976         * lib/strftime.c: Likewise.
68977         * lib/timespec.h: Likewise.
68978         * lib/posixtm.c: Include posixtm.h first, for interface check.
68979         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68980         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68981         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68982         * lib/sys_time_.h: New file.
68983         * lib/timespec.h (struct timespec): Use long int, not long.
68984         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68985         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68986         Remove obsolescent call to AC_HEADER_TIME.
68987         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68988         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68989         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68990         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68991         Likewise.
68992         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68993         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68994         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68995         into the sys_time module.  Check for gettimeofday just once.
68996         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68997         for gettimeofday signature to just check the signature.  Merely
68998         compile it, since linking doesn't test signature.  Improve test for
68999         whether gettimeofday.o is actually needed.
69000         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
69001         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
69002         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
69003         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69004         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
69005         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
69006         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
69007         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
69008         than worrying about sys/time.h.
69009         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69010         Don't bother worrying about TIME_WITH_SYS_TIME.
69011         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
69012         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
69013         * m4/sys_time_h.m4: New file.
69014         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
69015         Don't include sys/time.h.  Return from main rather than exiting.
69016         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
69017         all uses changed.
69018         * modules/gethrxtime (Depends-on): Add sys_time.
69019         * modules/gettime (Depends-on): Likewise.
69020         * modules/gettimeofday (Depends-on): Likewise.
69021         * modules/nanosleep (Depends-on): Likewise.
69022         * modules/settime (Depends-on): Likewise.
69023         * modules/tempname (Depends-on): Likewise.
69024         * modules/utimens (Depends-on): Likewise.
69025         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
69026         (Include): Change back to <sys/time.h>.
69027         (Maintainer): Add self.
69028         * modules/sys_time: New file.
69029         * modules/tempname (Depends-on): Add gettimeofday.
69030         * tests/test-gettimeofday.c: Include <sys/time.h>
69031         rather than gettimeofday.h.
69032
69033 2007-01-17  Bruno Haible  <bruno@clisp.org>
69034
69035         * gnulib-tool (func_get_license): Revert last patch. Instead, let
69036         the license default to GPL.
69037         (func_create_testdir): Don't complain if a module is LGPL and its
69038         tests module depends on GPLed modules.
69039
69040 2007-01-17  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/gettimeofday.c (gettimeofday): Add code for the case
69043         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
69044         maximum possible value for tv->tv_usec, rather than the minimum one.
69045
69046 2005-10-08  Martin Lambers  <marlam@marlam.de>
69047 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
69048 2007-01-16  Bruno Haible  <bruno@clisp.org>
69049
69050         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
69051         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
69052         gl_FUNC_GETTIMEOFDAY.
69053         (Include): Add gettimeofday.h.
69054         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
69055         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
69056         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
69057         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
69058         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
69059         * lib/gettimeofday.h: New file.
69060         * lib/gettimeofday.c: Include <sys/timeb.h>.
69061         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
69062         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
69063         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
69064         fall back on time().
69065
69066         * tests/test-gettimeofday.c: New file.
69067         * modules/gettimeofday-tests: New file.
69068
69069 2007-01-16  Eric Blake  <ebb9@byu.net>
69070
69071         * modules/fnmatch (Depends-on): Depend on wchar.
69072         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
69073         * m4/fnmatch.m4: Likewise.
69074         * modules/mbchar (Makefile.am): Assume <wchar.h>.
69075         * m4/mbchar.m4: Likewise.
69076         * modules/mbswidth (Depends-on): Depend on wchar.
69077         * lib/mbswidth.c: Assume <wchar.h>.
69078         * m4/mbswidth.m4: Likewise.
69079         * modules/quotearg (Depends-on): Depend on wchar.
69080         * lib/quotearg.c: Assume <wchar.h>.
69081         * m4/quotearg.m4: Likewise.
69082         * modules/regex (Depends-on): Depend on wchar.
69083         * lib/regex_internal.h: Assume <wchar.h>.
69084         * m4/regex.m4: Likewise.
69085         * modules/stdint (Depends-on): Depend on wchar.
69086         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
69087         * m4/stdint.m4: Likewise.
69088         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
69089         * modules/strftime (Depends-on): Depend on wchar.
69090         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
69091         * modules/strtol (Depends-on): Depend on wchar.
69092         * lib/strtol.c: Assume <wchar.h>.
69093         * modules/wcwidth (Depends-on): Depend on wchar.
69094         * lib/wcwidth.h: Assume <wchar.h>.
69095         * m4/wcwidth.m4: Likewise.
69096
69097 2007-01-16  Bruno Haible  <bruno@clisp.org>
69098
69099         * modules/csharpexec-script: New, created from...
69100         * modules/csharpexec: ... this.
69101
69102 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
69103
69104         * modules/javaexec-script: New, created from...
69105         * modules/javaexec: ... this.
69106
69107 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69108
69109         * modules/poll (Dependencies): Add sys_select.
69110
69111 2007-01-15  Jim Meyering  <jim@meyering.net>
69112
69113         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
69114         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
69115         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
69116         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
69117
69118 2007-01-15  Bruno Haible  <bruno@clisp.org>
69119
69120         * modules/striconveh: New file.
69121         * lib/striconveh.h: New file.
69122         * lib/striconveh.c: New file.
69123         * MODULES.html.sh (Internationalization functions): Add striconveh.
69124
69125         * modules/striconveh-tests: New file.
69126         * tests/test-striconveh.c: New file.
69127
69128 2007-01-15  Bruno Haible  <bruno@clisp.org>
69129
69130         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
69131         not from GNU libiconv or GNU libc.
69132
69133 2007-01-15  Bruno Haible  <bruno@clisp.org>
69134
69135         * doc/gnulib-intro.texi (Copyright): Explain the different license
69136         terms for module descriptions, autoconf macros, tests, documentation.
69137
69138 2007-01-14  Bruno Haible  <bruno@clisp.org>
69139
69140         * modules/striconv-tests: New file.
69141         * tests/test-striconv.c: New file.
69142
69143 2007-01-14  Bruno Haible  <bruno@clisp.org>
69144
69145         * modules/iconv-tests: New file.
69146         * tests/test-iconv.c: New file.
69147
69148 2007-01-14  Bruno Haible  <bruno@clisp.org>
69149
69150         * gnulib-tool (func_get_license): For test modules, use the license of
69151         the main module.
69152
69153 2007-01-14  Bruno Haible  <bruno@clisp.org>
69154
69155         * modules/iconv (Include): Clarify that <iconv.h> can only be included
69156         if iconv is found to exist.
69157
69158 2007-01-14  Bruno Haible  <bruno@clisp.org>
69159
69160         * modules/c-ctype-tests: New file.
69161         * tests/test-c-ctype.c: New file.
69162
69163 2007-01-14  Bruno Haible  <bruno@clisp.org>
69164
69165         * modules/binary-io-tests: New file.
69166         * tests/test-binary-io.sh: New file.
69167         * tests/test-binary-io.c: New file.
69168
69169 2007-01-14  Bruno Haible  <bruno@clisp.org>
69170
69171         * modules/array-oset-tests: New file.
69172         * tests/test-array_oset.c: New file.
69173
69174 2007-01-14  Bruno Haible  <bruno@clisp.org>
69175
69176         * modules/array-list-tests: New file.
69177         * tests/test-array_list.c: New file.
69178
69179 2007-01-14  Bruno Haible  <bruno@clisp.org>
69180
69181         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
69182         and make.
69183         Reported by Simon Josefsson in
69184         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
69185
69186 2007-01-14  Bruno Haible  <bruno@clisp.org>
69187
69188         * modules/allocsa-tests: New file.
69189         * tests/test-allocsa.c: New file.
69190
69191 2007-01-14  Bruno Haible  <bruno@clisp.org>
69192
69193         * modules/fchdir (Depends-on): Add absolute-header.
69194         * modules/unistd (Depends-on): Likewise.
69195
69196 2006-12-30  Bruno Haible  <bruno@clisp.org>
69197
69198         * modules/fchdir: New file.
69199         * modules/unistd (Files): Add lib/unistd_.h.
69200         (Makefile.am): Generate unistd.h from unistd_.h.
69201         * lib/fchdir.c: New file.
69202         * lib/dirent_.h: New file.
69203         * lib/unistd_.h: New file.
69204         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
69205         * m4/fchdir.m4: New file.
69206         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
69207         (gl_HEADER_UNISTD): Invoke it.
69208         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
69209         function.
69210         * lib/backupfile.c (opendir, closedir): Undefine.
69211         * lib/chown.c (open, close): Undefine.
69212         * lib/clean-temp.c (open, close): Undefine.
69213         * lib/copy-file.c (open, close): Undefine.
69214         * lib/execute.c (open, close): Undefine.
69215         * lib/fsusage.c (open, close): Undefine.
69216         * lib/gc-gnulib.c (open, close): Undefine.
69217         * lib/getcwd.c (opendir, closedir): Undefine.
69218         * lib/glob.c (opendir, closedir): Undefine.
69219         * lib/javacomp.c (open, close): Undefine.
69220         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
69221         * lib/openat-proc.c (open, close): Undefine.
69222         * lib/pagealign_alloc.c (open, close): Undefine.
69223         * lib/pipe.c (open, close): Undefine.
69224         * lib/progreloc.c (open, close): Undefine.
69225         * lib/savedir.c (opendir, closedir): Undefine.
69226         * lib/utime.c (open, close): Undefine.
69227         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
69228
69229 2007-01-10  Bruno Haible  <bruno@clisp.org>
69230
69231         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
69232
69233 2007-01-12  Eric Blake  <ebb9@byu.net>
69234
69235         Provide a robust <wchar.h>.  Further simplifications are now
69236         possible in other modules, but not included here.
69237         * modules/wchar: New module.
69238         * m4/wchar.m4: New file.
69239         * lib/wchar_.h: Likewise.
69240         * modules/mbchar (Depends-on): Depend on wchar, as the first use
69241         of the new module.
69242         * MODULES.html.sh (Extended multibyte and wide character utilities):
69243         New section.
69244
69245 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
69246
69247         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
69248         to a reasonable default for memory allocation.
69249         (xreadlink): Don't allocate a huge buffer, to work around a buggy
69250         file system that reports garbage st_size values for symlinks.
69251         Problem reported by Liyang Hu.
69252
69253 2007-01-11  Simon Josefsson  <simon@josefsson.org>
69254
69255         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
69256         Emacs .#* auto-save files).
69257
69258 2007-01-11  Bruno Haible  <bruno@clisp.org>
69259
69260         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
69261         directory.
69262
69263 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
69264
69265         Use @...@ consistently in lib/wctype_.h.
69266         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
69267         on it being set to 1 or 0.
69268         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
69269         go back to AC_SUBSTing it.
69270         * modules/wctype (Makefile.am): Undo previous change.
69271
69272 2007-01-10  Eric Blake  <ebb9@byu.net>
69273
69274         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
69275         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
69276         * modules/wctype (Makefile.am): Likewise.
69277         Reported by Chris McGuire.
69278
69279 2007-01-10  Jim Meyering  <jim@meyering.net>
69280
69281         fts.c: a small readability/maintainability improvement
69282         * lib/fts.c (fts_read): Make this code slightly more readable and
69283         maintainable by hoisting the "sp->fts_cur = p" assignments to
69284         immediately follow the statements that set P.  Derived from
69285         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
69286
69287 2007-01-10  Eric Blake  <ebb9@byu.net>
69288
69289         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
69290         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
69291         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69292         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
69293         Reported by Chris McGuire.
69294
69295 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69296
69297         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
69298         in sed script.
69299
69300 2007-01-09  Bruno Haible  <bruno@clisp.org>
69301
69302         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
69303         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
69304         variables.
69305         (func_module): Use them.
69306
69307 2007-01-09  Bruno Haible  <bruno@clisp.org>
69308
69309         * modules/unistr/base: New file.
69310         * lib/unistr.h: New file.
69311
69312         * modules/unistr/u8-to-u16: New file.
69313         * lib/unistr/u8-to-u16.c: New file.
69314
69315         * modules/unistr/u8-to-u32: New file.
69316         * lib/unistr/u8-to-u32.c: New file.
69317
69318         * modules/unistr/u16-to-u8: New file.
69319         * lib/unistr/u16-to-u8.c: New file.
69320
69321         * modules/unistr/u16-to-u32: New file.
69322         * lib/unistr/u16-to-u32.c: New file.
69323
69324         * modules/unistr/u32-to-u8: New file.
69325         * lib/unistr/u32-to-u8.c: New file.
69326
69327         * modules/unistr/u32-to-u16: New file.
69328         * lib/unistr/u32-to-u16.c: New file.
69329
69330         * modules/unistr/u8-check: New file.
69331         * modules/unistr/u16-check: New file.
69332         * modules/unistr/u32-check: New file.
69333         * lib/unistr/u8-check.c: New file.
69334         * lib/unistr/u16-check.c: New file.
69335         * lib/unistr/u32-check.c: New file.
69336
69337         * modules/unistr/u8-chr: New file.
69338         * modules/unistr/u16-chr: New file.
69339         * modules/unistr/u32-chr: New file.
69340         * lib/unistr/u8-chr.c: New file.
69341         * lib/unistr/u16-chr.c: New file.
69342         * lib/unistr/u32-chr.c: New file.
69343
69344         * modules/unistr/u8-cmp: New file.
69345         * modules/unistr/u16-cmp: New file.
69346         * modules/unistr/u32-cmp: New file.
69347         * lib/unistr/u8-cmp.c: New file.
69348         * lib/unistr/u16-cmp.c: New file.
69349         * lib/unistr/u32-cmp.c: New file.
69350
69351         * modules/unistr/u8-cpy: New file.
69352         * modules/unistr/u16-cpy: New file.
69353         * modules/unistr/u32-cpy: New file.
69354         * lib/unistr/u8-cpy.c: New file.
69355         * lib/unistr/u16-cpy.c: New file.
69356         * lib/unistr/u32-cpy.c: New file.
69357         * lib/unistr/u-cpy.h: New file.
69358
69359         * modules/unistr/u8-cpy-alloc: New file.
69360         * modules/unistr/u16-cpy-alloc: New file.
69361         * modules/unistr/u32-cpy-alloc: New file.
69362         * lib/unistr/u8-cpy-alloc.c: New file.
69363         * lib/unistr/u16-cpy-alloc.c: New file.
69364         * lib/unistr/u32-cpy-alloc.c: New file.
69365         * lib/unistr/u-cpy-alloc.h: New file.
69366
69367         * modules/unistr/u8-endswith: New file.
69368         * modules/unistr/u16-endswith: New file.
69369         * modules/unistr/u32-endswith: New file.
69370         * lib/unistr/u8-endswith.c: New file.
69371         * lib/unistr/u16-endswith.c: New file.
69372         * lib/unistr/u32-endswith.c: New file.
69373         * lib/unistr/u-endswith.h: New file.
69374
69375         * modules/unistr/u8-mblen: New file.
69376         * modules/unistr/u16-mblen: New file.
69377         * modules/unistr/u32-mblen: New file.
69378         * lib/unistr/u8-mblen.c: New file.
69379         * lib/unistr/u16-mblen.c: New file.
69380         * lib/unistr/u32-mblen.c: New file.
69381
69382         * modules/unistr/u8-mbtouc: New file.
69383         * modules/unistr/u16-mbtouc: New file.
69384         * modules/unistr/u32-mbtouc: New file.
69385         * lib/unistr/u8-mbtouc.c: New file.
69386         * lib/unistr/u16-mbtouc.c: New file.
69387         * lib/unistr/u32-mbtouc.c: New file.
69388
69389         * modules/unistr/u8-mbtouc-safe: New file.
69390         * modules/unistr/u16-mbtouc-safe: New file.
69391         * modules/unistr/u32-mbtouc-safe: New file.
69392         * lib/unistr/u8-mbtouc-safe.c: New file.
69393         * lib/unistr/u16-mbtouc-safe.c: New file.
69394         * lib/unistr/u32-mbtouc-safe.c: New file.
69395
69396         * modules/unistr/u8-move: New file.
69397         * modules/unistr/u16-move: New file.
69398         * modules/unistr/u32-move: New file.
69399         * lib/unistr/u8-move.c: New file.
69400         * lib/unistr/u16-move.c: New file.
69401         * lib/unistr/u32-move.c: New file.
69402         * lib/unistr/u-move.h: New file.
69403
69404         * modules/unistr/u8-next: New file.
69405         * modules/unistr/u16-next: New file.
69406         * modules/unistr/u32-next: New file.
69407         * lib/unistr/u8-next.c: New file.
69408         * lib/unistr/u16-next.c: New file.
69409         * lib/unistr/u32-next.c: New file.
69410
69411         * modules/unistr/u8-prev: New file.
69412         * modules/unistr/u16-prev: New file.
69413         * modules/unistr/u32-prev: New file.
69414         * lib/unistr/u8-prev.c: New file.
69415         * lib/unistr/u16-prev.c: New file.
69416         * lib/unistr/u32-prev.c: New file.
69417
69418         * modules/unistr/u8-set: New file.
69419         * modules/unistr/u16-set: New file.
69420         * modules/unistr/u32-set: New file.
69421         * lib/unistr/u8-set.c: New file.
69422         * lib/unistr/u16-set.c: New file.
69423         * lib/unistr/u32-set.c: New file.
69424         * lib/unistr/u-set.h: New file.
69425
69426         * modules/unistr/u8-startswith: New file.
69427         * modules/unistr/u16-startswith: New file.
69428         * modules/unistr/u32-startswith: New file.
69429         * lib/unistr/u8-startswith.c: New file.
69430         * lib/unistr/u16-startswith.c: New file.
69431         * lib/unistr/u32-startswith.c: New file.
69432         * lib/unistr/u-startswith.h: New file.
69433
69434         * modules/unistr/u8-stpcpy: New file.
69435         * modules/unistr/u16-stpcpy: New file.
69436         * modules/unistr/u32-stpcpy: New file.
69437         * lib/unistr/u8-stpcpy.c: New file.
69438         * lib/unistr/u16-stpcpy.c: New file.
69439         * lib/unistr/u32-stpcpy.c: New file.
69440         * lib/unistr/u-stpcpy.h: New file.
69441
69442         * modules/unistr/u8-stpncpy: New file.
69443         * modules/unistr/u16-stpncpy: New file.
69444         * modules/unistr/u32-stpncpy: New file.
69445         * lib/unistr/u8-stpncpy.c: New file.
69446         * lib/unistr/u16-stpncpy.c: New file.
69447         * lib/unistr/u32-stpncpy.c: New file.
69448         * lib/unistr/u-stpncpy.h: New file.
69449
69450         * modules/unistr/u8-strcat: New file.
69451         * modules/unistr/u16-strcat: New file.
69452         * modules/unistr/u32-strcat: New file.
69453         * lib/unistr/u8-strcat.c: New file.
69454         * lib/unistr/u16-strcat.c: New file.
69455         * lib/unistr/u32-strcat.c: New file.
69456         * lib/unistr/u-strcat.h: New file.
69457
69458         * modules/unistr/u8-strchr: New file.
69459         * modules/unistr/u16-strchr: New file.
69460         * modules/unistr/u32-strchr: New file.
69461         * lib/unistr/u8-strchr.c: New file.
69462         * lib/unistr/u16-strchr.c: New file.
69463         * lib/unistr/u32-strchr.c: New file.
69464
69465         * modules/unistr/u8-strcmp: New file.
69466         * modules/unistr/u16-strcmp: New file.
69467         * modules/unistr/u32-strcmp: New file.
69468         * lib/unistr/u8-strcmp.c: New file.
69469         * lib/unistr/u16-strcmp.c: New file.
69470         * lib/unistr/u32-strcmp.c: New file.
69471
69472         * modules/unistr/u8-strcpy: New file.
69473         * modules/unistr/u16-strcpy: New file.
69474         * modules/unistr/u32-strcpy: New file.
69475         * lib/unistr/u8-strcpy.c: New file.
69476         * lib/unistr/u16-strcpy.c: New file.
69477         * lib/unistr/u32-strcpy.c: New file.
69478         * lib/unistr/u-strcpy.h: New file.
69479
69480         * modules/unistr/u8-strcspn: New file.
69481         * modules/unistr/u16-strcspn: New file.
69482         * modules/unistr/u32-strcspn: New file.
69483         * lib/unistr/u8-strcspn.c: New file.
69484         * lib/unistr/u16-strcspn.c: New file.
69485         * lib/unistr/u32-strcspn.c: New file.
69486         * lib/unistr/u-strcspn.h: New file.
69487
69488         * modules/unistr/u8-strdup: New file.
69489         * modules/unistr/u16-strdup: New file.
69490         * modules/unistr/u32-strdup: New file.
69491         * lib/unistr/u8-strdup.c: New file.
69492         * lib/unistr/u16-strdup.c: New file.
69493         * lib/unistr/u32-strdup.c: New file.
69494         * lib/unistr/u-strdup.h: New file.
69495
69496         * modules/unistr/u8-strlen: New file.
69497         * modules/unistr/u16-strlen: New file.
69498         * modules/unistr/u32-strlen: New file.
69499         * lib/unistr/u8-strlen.c: New file.
69500         * lib/unistr/u16-strlen.c: New file.
69501         * lib/unistr/u32-strlen.c: New file.
69502         * lib/unistr/u-strlen.h: New file.
69503
69504         * modules/unistr/u8-strmblen: New file.
69505         * modules/unistr/u16-strmblen: New file.
69506         * modules/unistr/u32-strmblen: New file.
69507         * lib/unistr/u8-strmblen.c: New file.
69508         * lib/unistr/u16-strmblen.c: New file.
69509         * lib/unistr/u32-strmblen.c: New file.
69510
69511         * modules/unistr/u8-strmbtouc: New file.
69512         * modules/unistr/u16-strmbtouc: New file.
69513         * modules/unistr/u32-strmbtouc: New file.
69514         * lib/unistr/u8-strmbtouc.c: New file.
69515         * lib/unistr/u16-strmbtouc.c: New file.
69516         * lib/unistr/u32-strmbtouc.c: New file.
69517
69518         * modules/unistr/u8-strncat: New file.
69519         * modules/unistr/u16-strncat: New file.
69520         * modules/unistr/u32-strncat: New file.
69521         * lib/unistr/u8-strncat.c: New file.
69522         * lib/unistr/u16-strncat.c: New file.
69523         * lib/unistr/u32-strncat.c: New file.
69524         * lib/unistr/u-strncat.h: New file.
69525
69526         * modules/unistr/u8-strncmp: New file.
69527         * modules/unistr/u16-strncmp: New file.
69528         * modules/unistr/u32-strncmp: New file.
69529         * lib/unistr/u8-strncmp.c: New file.
69530         * lib/unistr/u16-strncmp.c: New file.
69531         * lib/unistr/u32-strncmp.c: New file.
69532
69533         * modules/unistr/u8-strncpy: New file.
69534         * modules/unistr/u16-strncpy: New file.
69535         * modules/unistr/u32-strncpy: New file.
69536         * lib/unistr/u8-strncpy.c: New file.
69537         * lib/unistr/u16-strncpy.c: New file.
69538         * lib/unistr/u32-strncpy.c: New file.
69539         * lib/unistr/u-strncpy.h: New file.
69540
69541         * modules/unistr/u8-strnlen: New file.
69542         * modules/unistr/u16-strnlen: New file.
69543         * modules/unistr/u32-strnlen: New file.
69544         * lib/unistr/u8-strnlen.c: New file.
69545         * lib/unistr/u16-strnlen.c: New file.
69546         * lib/unistr/u32-strnlen.c: New file.
69547         * lib/unistr/u-strnlen.h: New file.
69548
69549         * modules/unistr/u8-strpbrk: New file.
69550         * modules/unistr/u16-strpbrk: New file.
69551         * modules/unistr/u32-strpbrk: New file.
69552         * lib/unistr/u8-strpbrk.c: New file.
69553         * lib/unistr/u16-strpbrk.c: New file.
69554         * lib/unistr/u32-strpbrk.c: New file.
69555         * lib/unistr/u-strpbrk.h: New file.
69556
69557         * modules/unistr/u8-strrchr: New file.
69558         * modules/unistr/u16-strrchr: New file.
69559         * modules/unistr/u32-strrchr: New file.
69560         * lib/unistr/u8-strrchr.c: New file.
69561         * lib/unistr/u16-strrchr.c: New file.
69562         * lib/unistr/u32-strrchr.c: New file.
69563
69564         * modules/unistr/u8-strspn: New file.
69565         * modules/unistr/u16-strspn: New file.
69566         * modules/unistr/u32-strspn: New file.
69567         * lib/unistr/u8-strspn.c: New file.
69568         * lib/unistr/u16-strspn.c: New file.
69569         * lib/unistr/u32-strspn.c: New file.
69570         * lib/unistr/u-strspn.h: New file.
69571
69572         * modules/unistr/u8-strstr: New file.
69573         * modules/unistr/u16-strstr: New file.
69574         * modules/unistr/u32-strstr: New file.
69575         * lib/unistr/u8-strstr.c: New file.
69576         * lib/unistr/u16-strstr.c: New file.
69577         * lib/unistr/u32-strstr.c: New file.
69578         * lib/unistr/u-strstr.h: New file.
69579
69580         * modules/unistr/u8-strtok: New file.
69581         * modules/unistr/u16-strtok: New file.
69582         * modules/unistr/u32-strtok: New file.
69583         * lib/unistr/u8-strtok.c: New file.
69584         * lib/unistr/u16-strtok.c: New file.
69585         * lib/unistr/u32-strtok.c: New file.
69586         * lib/unistr/u-strtok.h: New file.
69587
69588         * modules/unistr/u8-uctomb: New file.
69589         * modules/unistr/u16-uctomb: New file.
69590         * modules/unistr/u32-uctomb: New file.
69591         * lib/unistr/u8-uctomb.c: New file.
69592         * lib/unistr/u16-uctomb.c: New file.
69593         * lib/unistr/u32-uctomb.c: New file.
69594
69595         * MODULES.html.sh (Unicode string functions): Add the new modules.
69596
69597 2007-01-08  Bruno Haible  <bruno@clisp.org>
69598
69599         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69600         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69601         subdirectories.
69602
69603 2007-01-08  Karl Berry  <karl@gnu.org>
69604
69605         * doc/error.texi: mention that main() fns must set program_name
69606         when progname is used.
69607
69608 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69611         WCTYPE_H is empty, for the benefit of builds from non-distclean
69612         directories.  Problem reported by Eric Blake in
69613         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69614
69615 2007-01-08  Bruno Haible  <bruno@clisp.org>
69616
69617         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69618         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69619         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69620         PROVIDE_CANONICALIZE_FILENAME_MODE.
69621         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69622
69623 2007-01-08  Bruno Haible  <bruno@clisp.org>
69624
69625         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69626         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69627         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69628         * lib/fts.c: Likewise.
69629         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69630
69631 2006-12-25  Bruno Haible  <bruno@clisp.org>
69632
69633         * modules/utf8-ucs4-safe: New file.
69634         * lib/utf8-ucs4-safe.h: New file.
69635         * lib/unistr/utf8-ucs4-safe.c: New file.
69636
69637         * modules/utf16-ucs4-safe: New file.
69638         * lib/utf16-ucs4-safe.h: New file.
69639         * lib/unistr/utf16-ucs4-safe.c: New file.
69640
69641         * MODULES.html.sh (Unicode string functions): Add the new modules.
69642
69643 2007-01-08  Bruno Haible  <bruno@clisp.org>
69644
69645         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69646         (Depends-on): Add unitypes.
69647         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69648         (u8_mbtouc_aux): Move out to separate file.
69649         (u8_mbtouc): Use ucs4_t, uint8_t types.
69650         * lib/unistr/utf8-ucs4.c: New file.
69651
69652         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69653         (Depends-on): Add unitypes.
69654         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69655         (u16_mbtouc_aux): Move out to separate file.
69656         (u16_mbtouc): Use ucs4_t, uint16_t types.
69657         * lib/unistr/utf16-ucs4.c: New file.
69658
69659         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69660         (Depends-on): Add unitypes.
69661         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69662         (u8_uctomb_aux): Move out to separate file.
69663         (u8_uctomb): Use ucs4_t, uint8_t types.
69664         * lib/unistr/ucs4-utf8.c: New file.
69665
69666         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69667         (Depends-on): Add unitypes.
69668         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69669         (u16_uctomb_aux): Move out to separate file.
69670         (u16_uctomb): Use ucs4_t, uint16_t types.
69671         * lib/unistr/ucs4-utf16.c: New file.
69672
69673 2006-12-25  Bruno Haible  <bruno@clisp.org>
69674
69675         * modules/unitypes: New file.
69676         * lib/unitypes.h: New file.
69677         * MODULES.html.sh (func_all_modules): New section "Unicode string
69678         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69679         this section. Add unitypes.
69680
69681 2007-01-08  Bruno Haible  <bruno@clisp.org>
69682
69683         Avoid variable names that conflict with those from libtool.
69684         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69685         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69686         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69687         library_names_spec to acl_library_names_spec, hardcode_* to
69688         acl_hardcode_*.
69689         Reported by Ralf Wildenhues.
69690
69691 2007-01-08  Bruno Haible  <bruno@clisp.org>
69692
69693         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69694         definition.
69695         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69696         definition.
69697         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69698         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69699         definition.
69700         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69701         definition.
69702         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69703         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69704         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69705         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69706         definition.
69707         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69708         definition.
69709         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69710         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69711         GC_USE_<algorithm>.
69712         * lib/gc-libgcrypt.c: Likewise.
69713         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69714         * modules/gc-arctwo (configure.ac): Likewise.
69715         * modules/gc-des (configure.ac): Likewise.
69716         * modules/gc-hmac-md5 (configure.ac): Likewise.
69717         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69718         * modules/gc-md2 (configure.ac): Likewise.
69719         * modules/gc-md4 (configure.ac): Likewise.
69720         * modules/gc-md5 (configure.ac): Likewise.
69721         * modules/gc-random (configure.ac): Likewise.
69722         * modules/gc-rijndael (configure.ac): Likewise.
69723         * modules/gc-sha1 (configure.ac): Likewise.
69724
69725 2007-01-08  Bruno Haible  <bruno@clisp.org>
69726
69727         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69728         macro definition.
69729         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69730         definition.
69731         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69732         definition.
69733         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69734         * modules/fcntl-safer (configure.ac): Likewise.
69735         * modules/fopen-safer (configure.ac): Likewise.
69736         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69737         GNULIB_FWRITEERROR macro definition.
69738
69739 2007-01-08  Bruno Haible  <bruno@clisp.org>
69740
69741         * m4/gnulib-common.m4: New file.
69742         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69743         (func_get_filelist): Add m4/gnulib-common.m4.
69744
69745 2007-01-08  Bruno Haible  <bruno@clisp.org>
69746
69747         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69748         command.
69749
69750 2007-01-08  Jim Meyering  <jim@meyering.net>
69751
69752         Use a more robust test for a "can't happen" condition.
69753         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69754         narrowed the st_size value.  Presuming the "can't happen" condition
69755         is true, that narrowing could conceivably convert an invalid st_size
69756         value into a valid one.  Instead, use a change based on Matthew
69757         Woehlke's original patch.
69758
69759         Slight readability improvement: use an assert-like macro
69760         in place of literal "abort ()" uses.
69761         * lib/fts.c (fts_assert): Define.
69762         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69763         Use this macro instead of a bare 'abort'.
69764
69765 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69766
69767         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69768         simply work around them.
69769         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69770         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69771         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69772         declaring.
69773         Don't bother to define as macros, since the standard doesn't require it.
69774         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69775         longer worry about IRIX 5.3.
69776         (HAVE_WCTYPE_CTMP_BUG): Remove.
69777
69778 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69779
69780         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69781         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69782         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69783         Problems reported by Georg Schwarz for IRIX 5.3.
69784
69785         * gnulib-tool (autoconf_minversion): Take the maximum version number
69786         found, not the minimum.  Problem reported by James Youngman.
69787
69788 2007-01-03  Karl Berry  <karl@gnu.org>
69789
69790         * doc/error.texi: new file, explaining interaction with progname.
69791         * doc/gnulib.texi: include it.  Update copyright.
69792
69793 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69794
69795         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69796         AC_CANONICAL_HOST, to improve autobuild outputs.
69797
69798 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69799             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69800
69801         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69802         sockets, server sockets, and other file descriptors.  Count errors
69803         to compute the return value.  Reorder the code a bit to be easier
69804         to follow.  Don't set event bits that were not requested (except
69805         POLLERR and POLLHUP).
69806
69807 2007-01-01  Bruno Haible  <bruno@clisp.org>
69808
69809         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69810
69811 2007-01-03  Jim Meyering  <jim@meyering.net>
69812
69813         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69814
69815 2007-01-02  Bruno Haible  <bruno@clisp.org>
69816
69817         * modules/settime (Include): Require timespec.h.
69818         * modules/nanosleep (Include): Likewise.
69819
69820 2007-01-01  Bruno Haible  <bruno@clisp.org>
69821
69822         * gnulib-tool (func_emit_copyright_notice): Bump year.
69823         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69824
69825 2007-01-01  Bruno Haible  <bruno@clisp.org>
69826
69827         Improve support for OpenBSD.
69828         * build-aux/config.rpath (libname_spec): Export.
69829         (library_names_spec): New variable. Export.
69830         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69831         library_names_spec from the config.rpath output. Locate shared library
69832         through the name pattern in library_names_spec.
69833
69834 2007-01-01  Eric Blake  <ebb9@byu.net>
69835
69836         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69837
69838 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69839
69840         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69841         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69842         assume the C locale, and avoid an "eval" that could cause trouble.
69843         Problem with SORT reported by Bob Proulx.
69844
69845         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69846         Define.  Trivial patch from Henning Nielsen Lund, originally
69847         sent to bug-grep@gnu.org today.
69848
69849 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69850
69851         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69852         struct stat.  Problem reported by Henning Nielsen Lund.
69853         * lib/acl.c: Include acl.h first, to check interface.  Don't
69854         bother to include sys/types.h and sys/stat.h again.
69855
69856 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69857
69858         Import the following change from libc; problem reported by
69859         Sven Verdoolaege.
69860
69861         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69862
69863         [BZ #1373]
69864         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69865
69866 2006-12-28  Jim Meyering  <jim@meyering.net>
69867
69868         * build-aux/announce-gen: Do not assume that the package
69869         builds any of tar.gz, tar.bz2, and .xdelta files.
69870         Suggestion from Simon Josefsson.
69871
69872 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69873
69874         * modules/announce-gen: New file.
69875
69876 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69877
69878         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69879         handles its gotchas now.
69880         * lib/mbswidth.c: Likewise.
69881         * lib/wcwidth.h: Likewise.
69882         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69883         and iswcntrl; the wctype module does this stuff now.
69884         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69886         * modules/mbchar (Depends-on): Add wctype.
69887         * modules/mbswidth (Depends-on): Likewise.
69888         * modules/wcwidth (Depends-on): Likewise.
69889
69890 2006-12-27  Eric Blake  <ebb9@byu.net>
69891
69892         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69893         module uses more than what <wctype.h> is required to provide.
69894
69895 2006-12-26  Eric Blake  <ebb9@byu.net>
69896
69897         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69898
69899 2006-12-26  Eric Blake  <ebb9@byu.net>
69900
69901         * modules/absolute-header: New module.
69902         * modules/fcntl (Depends-on): Depend on it.
69903         * modules/inttypes (Depends-on): Likewise.
69904         * modules/stdint (Depends-on): Likewise.
69905         * modules/sys_stat (Depends-on): Likewise.
69906         * modules/wctype (Depends-on): Likewise.
69907         * MODULES.html.sh (Support for building libraries and
69908         executables): Document it.
69909
69910 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69911
69912         * gnulib-tool (SED): Remove, undoing previous change.
69913         The problem was that it broke coreutils on Solaris, because
69914         "sed --posix" leaked into a makefile.
69915         (sed): New alias, if 'alias' and GNU sed.
69916
69917 2006-12-24  Jim Meyering  <jim@meyering.net>
69918
69919         Work around an fchownat bug in glibc-2.4:
69920         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69921         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69922         in spite of the -P option.
69923         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69924         New macros.
69925         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69926         * modules/openat (Files): Add lib/fchownat.c.
69927         * lib/openat.c (fchownat): Don't define here.  Move to...
69928         * lib/fchownat.c: ...this new file.
69929
69930 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69931
69932         Fix bug reported by Bruno Haible in
69933         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69934         where quotearg.c didn't compile on Mac OS X 10.2 because it
69935         lacks <wchar.h> and wint_t.
69936         * lib/wctype_.h (__wctype_wint_t): New type.
69937         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69938         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69939         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69940         Arg is now of type __wctype_wint_t, not wint_t.
69941         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69942         substitute HAVE_WINT_T.
69943         * modules/wctype (Files): Add m4/wint_t.m4.
69944         (wctype.h): Substitute HAVE_WINT_T.
69945
69946 2006-12-23  Bruno Haible  <bruno@clisp.org>
69947
69948         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69949
69950 2006-12-23  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69953         S_ISLNK.
69954         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69955         mingw.
69956
69957 2006-12-22  Bruno Haible  <bruno@clisp.org>
69958
69959         * lib/copy-file.c: Include acl.h.
69960         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69961         Close the file descriptors only after being done with copy_acl.
69962         * modules/copy-file (Depends-on): Add acl.
69963
69964 2006-12-22  Bruno Haible  <bruno@clisp.org>
69965
69966         * gnulib-tool (SED): New variable.
69967         Use $SED instead of sed everywhere.
69968
69969 2006-12-22  Bruno Haible  <bruno@clisp.org>
69970
69971         * modules/no-c++: New file.
69972         * m4/no-c++.m4: New file.
69973         * MODULES.html.sh (Support for building libraries and executables):
69974         Add no-c++.
69975
69976 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69977
69978         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69979         Include <limits.h>, and use its INT_MAX to rewrite the
69980         j loop so that it does not overflow 'int'.  Problem reported by
69981         Ralf Wildenhues in
69982         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69983         Play it safe by shifting left by 1 rather than multiplying by 2,
69984         as GCC is less likely to optimize this away when the value
69985         is signed (when it assumes overflow leads to undefined behavior).
69986         Also, don't assume time_t uses two's complement.
69987
69988 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69989
69990         * MODULES.html.sh: New module wctype.
69991         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69992         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69993         <wctype.h>, since the new wctype module should fix this.
69994         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69995         the wctype module should arrange for it.
69996         * lib/regex_internal.h: Likewise.
69997         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69998         since the wctype module should handle this now.
69999         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
70000         * modules/fnmatch (Depends-on): Add wctype.
70001         * modules/quotearg (Depends-on): Likewise.
70002         * modules/regex (Depends-on): Likewise.
70003
70004 2006-12-19  Bruno Haible  <bruno@clisp.org>
70005
70006         * lib/strdup.h [C++]: Wrap definitions in extern "C".
70007         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
70008
70009 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70010
70011         * modules/savewd (Depends-on): Fix dependency on fcntl.
70012
70013 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70014
70015         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
70016         conforms to C99, rather than relying on the user's environment
70017         setting of STDINT_H.
70018
70019 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
70020         and Eric Blake  <ebb9@byu.net>
70021
70022         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
70023         This is more consistent with the other defines here.
70024         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
70025         Port to z/OS.  Problem reported by Paul Gilmartin.
70026         Change local vars to use gl_ prefix rather than ac_.
70027         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
70028         with other defines.
70029         * modules/double-slash-root: New module.
70030         * modules/dirname (Files): Remove m4/double-slash-root.m4.
70031         (Depends-on): Add double-slash-root.
70032         * MODULES.html.sh (File system functions): Mention new module.
70033
70034 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
70035
70036         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
70037         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
70038         This is for the benefit of gzip, which doesn't do i18n.
70039
70040 2006-12-12  Jim Meyering  <jim@meyering.net>
70041
70042         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
70043         Reported by Andreas Schwab <schwab@suse.de>.
70044
70045 2006-12-12  Bruno Haible  <bruno@clisp.org>
70046
70047         Merge these changes.
70048         2006-09-05  Bruno Haible  <bruno@clisp.org>
70049         * lib/iconvme.c (iconv_string): No need to save and restore errno when
70050         iconv_alloc succeeded.
70051         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
70052         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
70053         test for " && dest " at the end - dest is always != NULL there. Call
70054         iconv with 4xNULL arguments initially, to reset the state. Call iconv
70055         with 2xNULL arguments, also to flush the state storage. Handle the
70056         IRIX iconv behaviour. Realloc the final result, to throw away unused
70057         memory.
70058
70059 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
70060
70061         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
70062         and fchmodat unconditionally, since glibc 2.4 has them.
70063         Problem reported by Arkadiusz Miskiewicz.
70064
70065 2006-12-10  Bruno Haible  <bruno@clisp.org>
70066
70067         * gnulib-tool (func_import): Show the include files only for those
70068         modules that are copied and specified.
70069         Reported by Karl Berry.
70070
70071 2006-12-08  Jim Meyering  <jim@meyering.net>
70072
70073         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
70074         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
70075
70076         * build-aux/announce-gen: Add two new options, both optional:
70077         --bootstrap-tools=TOOL_LIST
70078               a comma-separated list of tools, e.g.,
70079               autoconf,automake,bison,gnulib
70080         --gnulib-snapshot-date=DATE
70081               if gnulib is in the bootstrap tool list,
70082               then report this as the snapshot date.
70083               If not specified, use the current date/time.
70084               If you specify a date here, be sure it's UTC.
70085
70086 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70087
70088         * tests/test-argp-2.sh: Fix test to match actual output.
70089         (func_compare): Fix sed script to be portable.
70090
70091 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
70092
70093         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
70094         workaround for this case.  It is not autoconfigured now; offhand
70095         it's hard to see how to autoconfigure it.
70096
70097 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
70098
70099         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
70100         a directory that is about to be chowned.  Such a directory's
70101         initial file permissions should permit the owner only and this
70102         should not be changed until after the chown, since the group and
70103         other bits would be incorrect if they granted permission before
70104         the chown.
70105
70106         Fix porting problem for iswctype reported by Georg Schwarz in:
70107         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
70108         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
70109         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
70110         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
70111         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
70112
70113 2006-12-03  Jim Meyering  <jim@meyering.net>
70114
70115         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
70116         p->fts_statp may not yet be defined.
70117         (fts_read): Instead, set it in the caller, once p->fts_statp is
70118         sure to be defined, and corresponds to a top-level directory.
70119         This bug made du -x fail.  Here's the coreutils test case:
70120         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
70121         Reported by Mike Frysinger.
70122
70123 2006-12-01  Jim Meyering  <jim@meyering.net>
70124
70125         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
70126         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
70127         Reported by Simon Josefsson.
70128
70129 2006-11-30  Jim Meyering  <jim@meyering.net>
70130
70131         * m4/warning.m4: Use the all-permissive copyright notice
70132         recommended by RMS (rather than LGPL).
70133         * m4/vararrays.m4: Likewise.
70134         * m4/flexmember.m4: Likewise.
70135
70136 2006-11-29  Bruno Haible  <bruno@clisp.org>
70137
70138         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70139         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
70140         using +=.
70141         Reported by Simon Josefsson <simon@josefsson.org>.
70142
70143 2006-11-28  James Youngman <jay@gnu.org>
70144
70145         * README: Advise users that they might find the bug-gnulib@gnu.org
70146         and autotools-announce@gnu.org mailing lists useful.
70147
70148 2006-11-28  Bruno Haible  <bruno@clisp.org>
70149
70150         * m4/ptrdiff_max.m4: Remove file.
70151
70152 2006-11-21  Bruno Haible  <bruno@clisp.org>
70153
70154         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
70155         _AC_COMPUTE_INT.
70156         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70157         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
70158         _AC_COMPUTE_INT.
70159         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70160         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
70161         _AC_COMPUTE_INT.
70162         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70163
70164 2006-11-28  Jim Meyering  <jim@meyering.net>
70165
70166         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
70167         warning from "gcc -Wshadow" about shadowing the builtin.
70168
70169 2006-11-27  Bruno Haible  <bruno@clisp.org>
70170
70171         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
70172         _AC_COMPUTE_INT.
70173         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
70174
70175 2006-11-27  Bruno Haible  <bruno@clisp.org>
70176             Paul Eggert  <eggert@cs.ucla.edu>
70177
70178         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
70179
70180 2006-11-26  Bruno Haible  <bruno@clisp.org>
70181
70182         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
70183         noinst_LTLIBRARIES.
70184
70185 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
70186             Bruno Haible  <bruno@clisp.org>
70187
70188         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
70189         if compiling with "gcc -ansi".
70190
70191 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
70192
70193         Fix some incompatibilities with gcc -ansi -pedantic.
70194         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
70195         if compiling pedantically with GCC, unless it's C99 or later.
70196         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
70197         it mishandles gcc -ansi -pedantic as well.
70198         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
70199         if gcc -pedantic.
70200         * lib/regexec.c (check_node_accept_bytes): Don't use auto
70201         initializers for struct if -pedantic, unless it's C99 or later.
70202
70203 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
70204
70205         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
70206         Don't close an fd more than once. Identical atimes indicate
70207         success, not failure.
70208
70209 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
70210
70211         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
70212
70213 2006-11-23  Jim Meyering  <jim@meyering.net>
70214
70215         * build-aux/announce-gen: New file.  From coreutils.
70216
70217 2006-11-22  Jim Meyering  <jim@meyering.net>
70218
70219         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
70220         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
70221         (fts_read): Use a temporary to narrow the overused st_size member
70222         before using it in a switch statement.  Reported by Matthew Woehlke.
70223
70224         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
70225         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
70226
70227 2006-11-20  Bruno Haible  <bruno@clisp.org>
70228
70229         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
70230         changequote instead of pairs of brackets.
70231         Reported by Andreas Schwab <schwab@suse.de>.
70232
70233 2006-11-21  Jim Meyering  <jim@meyering.net>
70234
70235         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
70236         so as to remain compatible with older compilers.
70237         Patch from Michael Deutschmann.
70238
70239 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70240
70241         * MODULES.html.sh (File system functions): Add openat.
70242
70243         * lib/openat.h (rpl_fstatat): New macro, if
70244         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
70245         (fstatat): Define to rpl_fstatat under the same conditions,
70246         unless COMPILING_FSTATAT.
70247         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
70248         seems to have the bug.
70249         * lib/fstatat.c: New file.
70250         * modules/openat (Files): Add it.
70251
70252 2006-11-20  Bruno Haible  <bruno@clisp.org>
70253
70254         * Makefile: New file.
70255
70256 2006-11-20  Jim Meyering  <jim@meyering.net>
70257
70258         The beginnings of syntax-related checks for gnulib.
70259         * lib/Makefile: New file.
70260         * lib/t-idcache: New script.  Ensure that the two halves of
70261         idcache.c stay in sync.
70262
70263         * lib/idcache.c: Adjust comments in user- and group- portions to
70264         be more accurate, and to be consistent with one another.
70265
70266 2006-11-20  Jim Meyering  <jim@meyering.net>
70267
70268         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
70269         continue using the flexible array member (thus, this module performs
70270         half as many malloc calls), with the addition that...
70271         (getgroup, getuser): Consistently record a non-match via an empty
70272         "name" string, and map an empty string match to a NULL return value.
70273         * modules/idcache (Depends-on): Re-add flexmember.
70274
70275         * lib/idcache.c (getuser): Remove all uses of the register keyword.
70276         (getuidbyname, getgroup, getgidbyname): Likewise.
70277
70278         Use cleaner syntax: NULL rather than 0.
70279         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
70280
70281 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
70282
70283         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
70284         It mishandled the case where the group was missing.
70285         Problem reported by Greg Schafer.
70286         * modules/idcache: Likewise.
70287
70288 2006-11-18  Jim Meyering  <jim@meyering.net>
70289
70290         * check-module (%exempt_header): Add exception for some
70291         conditionally-included headers.
70292
70293         * modules/i-ring (Depends-on): Add verify.
70294         (License): Change to LGPL.
70295
70296 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
70297
70298         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
70299         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
70300         and inttostr.h.  Use snprintf rather than uinttostr, so that
70301         LGPLed code doesn't depend on GPLed.
70302
70303 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
70304
70305         * modules/inline (License): Change from GPL to LGPL.
70306
70307 2006-11-17  Jim Meyering  <jim@meyering.net>
70308
70309         * modules/d-type (License): Switch to LGPL.
70310
70311 2006-11-15  Bruno Haible  <bruno@clisp.org>
70312
70313         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
70314
70315 2006-11-15  Eric Blake  <ebb9@byu.net>
70316
70317         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
70318         the module dependency.
70319
70320 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70321             Bruno Haible  <bruno@clisp.org>
70322
70323         * gnulib-tool (func_create_testdir): Add license consistency check.
70324
70325 2006-11-15  Eric Blake  <ebb9@byu.net>
70326
70327         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
70328         random "(cached)" in configure output.
70329
70330 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70331
70332         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
70333         test for conforming inttypes.h is both announced and cached.
70334
70335         * MODULES.html.sh (seen_modules, seen_files): New variables.
70336         (func_module): Rewrite to use a few less gnulib-tool and sed
70337         invocations.  Avoid a couple of quadratic algorithms for ...
70338         (missed_modules, missed_files): ... these, with ...
70339         (func_append, func_tmpdir): ... these new functions, from
70340         gnulib-tool.  Analogously, install traps for cleanup.
70341
70342         * tests/test-gc.c (main): Remove unused variables.
70343         * tests/test-read-file.c: Include stdlib.h, for 'free'.
70344
70345 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
70346
70347         * modules/inttostr (License): Change to LGPL.
70348
70349 2006-11-14  Eric Blake  <ebb9@byu.net>
70350
70351         * modules/tempname (License): Change to LGPL.
70352
70353 2006-11-14  Eric Blake  <ebb9@byu.net>
70354
70355         * doc/functions.texi (Function Portability): *printf functions on
70356         Cygwin now understand all POSIX size specifiers.
70357
70358 2006-11-14  Bruno Haible  <bruno@clisp.org>
70359
70360         * modules/c-ctype (License): Change to LGPL.
70361
70362 2006-11-12  Bruno Haible  <bruno@clisp.org>
70363
70364         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
70365         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
70366         for GNOME libraries, for which the include files are installed in
70367         subdirectories of $prefix/include.
70368
70369 2006-11-12  Bruno Haible  <bruno@clisp.org>
70370
70371         * m4/lib-link.m4: Require at least autoconf-2.54.
70372         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
70373         name to underscores for the --with option.
70374
70375 2006-11-13  Bruno Haible  <bruno@clisp.org>
70376
70377         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
70378         the tests directory.
70379         Reported by Ralf Wildenhues.
70380
70381 2006-11-13  Bruno Haible  <bruno@clisp.org>
70382
70383         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
70384         (func_emit_initmacro_end): Undo the override here.
70385         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
70386         Works around the famous automake error in coreutils.
70387
70388 2006-11-13  Eric Blake  <ebb9@byu.net>
70389
70390         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
70391         element, not its node.
70392
70393 2006-11-12  Bruno Haible  <bruno@clisp.org>
70394
70395         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
70396         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
70397
70398 2006-11-12  Bruno Haible  <bruno@clisp.org>
70399
70400         * gnulib-tool: New option --local-symlink.
70401         (func_usage): Document it.
70402         (lsymbolic): New variable.
70403         (func_import, func_create_testdir): If --symlink was not specified,
70404         test whether --local-symlink was specified and the file comes from
70405         the local_gnulib_dir.
70406
70407 2006-11-12  Bruno Haible  <bruno@clisp.org>
70408
70409         * gnulib-tool (func_ln): New function.
70410         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
70411
70412 2006-11-12  Bruno Haible  <bruno@clisp.org>
70413
70414         Finish support for source files in subdirectories.
70415         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
70416         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
70417         AUTOMAKE_OPTIONS.
70418         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
70419
70420 2006-11-12  Bruno Haible  <bruno@clisp.org>
70421
70422         * gnulib-tool (func_get_automake_snippet): Synthesize also an
70423         EXTRA_lib_SOURCES augmentation.
70424         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
70425
70426 2006-11-12  Jim Meyering  <jim@meyering.net>
70427
70428         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
70429         file descriptors.  This also averts a failure on systems with
70430         native openat support when a traversed directory lacks "x" access.
70431         * lib/fts_.h: Include "i-ring.h"
70432         (struct FTS) [fts_fd_ring]: New member.
70433         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
70434         (FCHDIR): Add parentheses.
70435         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
70436         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
70437         When descending, rather than simply closing the previous
70438         fts_cwd_fd value, push that file descriptor onto the ring.
70439         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
70440         (fts_open): Initialize the new fd_ring member.
70441         (fts_close): Clear the ring.
70442         (fts_safe_changedir): When possible, use our new fd_ring to skip
70443         the diropen and fstat and dev/ino comparison that would normally
70444         accompany a virtual `chdir ("..")'.
70445
70446         * modules/fts (Depends-on): Add i-ring.
70447         * modules/i-ring: New module.
70448         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70449         * m4/i-ring.m4: New file.
70450
70451 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70452
70453         * gnulib-tool (func_create_testdir): Fix replacement of
70454         `build-aux' in configure.ac.  Run autotools in gltests
70455         subdirectory.
70456         (func_create_testdir, func_create_megatestdir, test): There is
70457         no need for '--force' in most autotool invocations in a new
70458         tree.  Actually fail the whole test if any of the tools, or the
70459         configure or make stages fail.
70460
70461         Sync from Automake.
70462         * build-aux/gnupload: Revert last change.  Add pointer to upload
70463         instructions of the GNU Maintenance Instructions.
70464         Suggestion by Karl Berry.
70465
70466 2006-11-10  Jim Meyering  <jim@meyering.net>
70467
70468         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70469
70470 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70471
70472         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70473         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70474         (bind_textdomain_codeset) [! ENABLE_NLS]:
70475         Evaluate all the arguments.  That way, callers get compatible behavior
70476         if the arguments have side effects.  Also, it avoids some GCC
70477         diagnostics in some cases; Joel E. Denny reported problems when Bison
70478         was configured with --enable-gcc-warnigs.
70479
70480 2006-11-10  Jim Meyering  <jim@meyering.net>
70481
70482         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70483         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70484         account.
70485
70486 2006-11-10  Jim Meyering  <jim@meyering.net>
70487
70488         * modules/inline: New file/module.
70489         * modules/xalloc (Files): Remove m4/inline.m4.
70490         (Depends-on): Add inline, instead.
70491         * modules/oset: Likewise.
70492         * modules/list: Likewise.
70493
70494 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70495
70496         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70497         Problem reported by Matthew Woehlke.
70498
70499 2006-11-09  Bruno Haible  <bruno@clisp.org>
70500
70501         * lib/tempname.c (gen_tempname): Remove variant that invokes
70502         __gen_tempname.
70503         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70504         __gen_tempname.
70505
70506 2006-11-08  Bruno Haible  <bruno@clisp.org>
70507
70508         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70509         to 'yes' instead of 'cross-compiling'.
70510
70511 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70512
70513         * lib/quotearg.h (quotearg_free): New decl.
70514         * lib/quotearg.c (quotearg_free): New function.
70515         (slot0, nslots, slotvec0, slotvec):
70516         Now file-scope so that quotearg_free can get at them.
70517
70518 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70519
70520         Sync from Automake.
70521         * build-aux/gnupload: Add missing 'gnu' to example URL.
70522         Report by Karl Berry.
70523
70524 2006-11-08  Bruno Haible  <bruno@clisp.org>
70525
70526         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70527         Suggested by Paul Eggert.
70528
70529 2006-11-08  Jim Meyering  <jim@meyering.net>
70530
70531         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70532         It's already included if !_LIBC.
70533         (fts_safe_changedir): Add a comment.
70534
70535 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70536
70537         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70538         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70539         Matthew Woehlke.
70540
70541         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70542         definitions up, to avoid colliding with change below.
70543         (static_inline) [HAVE_INLINE]: New macro.
70544         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70545         Provide extern decls when !HAVE_INLINE.  Do not define unless
70546         static_inline is defined, either by us or by xmalloc.c.  Use
70547         static_inline rather than static inline.
70548         (XCALLOC): Optimize sizeof(T) = 1 case.
70549         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70550
70551 2006-11-07  Bruno Haible  <bruno@clisp.org>
70552
70553         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70554         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70555         AC_C_INLINE.
70556         * modules/xalloc (Files): Add m4/inline.m4.
70557
70558 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70559
70560         * README: Fix typo.
70561         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70562         (Miscellanous Notes): ...from this.
70563
70564 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70565
70566         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70567         Mention that offsetof should be used instead of sizeof.
70568         From Bruno Haible.
70569
70570 2006-11-07  Bruno Haible  <bruno@clisp.org>
70571
70572         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70573
70574 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70575
70576         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70577         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70578         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70579         (gl_tree_add_before, gl_tree_add_after):
70580         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70581         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70582         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70583         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70584         (gl_linked_add_after, gl_linked_add_at): Likewise.
70585         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70586         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70587         (gl_tree_add_before, gl_tree_add_after): Likewise.
70588         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70589         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70590         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70591
70592 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70593
70594         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70595
70596 2006-11-06  Bruno Haible  <bruno@clisp.org>
70597
70598         * m4/inline.m4: New file.
70599         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70600         * modules/list (Files): Add m4/inline.m4.
70601         * modules/oset (Files): Likewise.
70602
70603 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70604
70605         * lib/idcache.c: Include <stddef.h>, for offsetof.
70606         (struct userid.name): Change from char * to a flexible array member.
70607         All uses changed.
70608         * modules/idcache (Depends-on): Add flexmember.
70609
70610         * MODULES.html.sh (Core language properties): New module flexmember.
70611         * modules/flexmember, m4/flexmember.m4: New files.
70612
70613         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70614         inline functions that are identical with the old xnmalloc_inline,
70615         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70616         that we can avoid some unnecessary integer multiplications and
70617         divisions in the common case where the element size is known at
70618         compile time.
70619         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70620         needed.
70621         (xnboundedmalloc): Remove.
70622         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70623         arguments, for consistency with rest of this header.
70624         (xcharalloc): Rewrite using XNMALLOC.
70625         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70626         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70627         versions have been moved to lib/xalloc.h and renamed to be the
70628         non-*_inline versions.
70629         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70630         and xnrealloc functions, since those functions are now inline and
70631         now call us.
70632         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70633         renaming described above.
70634         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70635         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70636         captures the dependency in AC_C_INLINE.
70637
70638         New module canonicalize-lgpl, proposed by Charles Wilson in
70639         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70640         with a few small changes afterwards.
70641         * MODULES.html.sh (File system functions): New module
70642         canonicalize-lgpl.
70643         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70644         and canonicalize_file_name.
70645         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70646         * modules/canonicalize-lgpl: New files.
70647
70648 2006-11-05  Bruno Haible  <bruno@clisp.org>
70649
70650         * gnulib-tool (func_import, func_create_testdir): Create directories
70651         also for files in subdirectories of lib/.
70652
70653 2006-11-05  Bruno Haible  <bruno@clisp.org>
70654
70655         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70656         ANSI C compliant.
70657
70658 2006-11-03  Bruno Haible  <bruno@clisp.org>
70659
70660         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70661         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70662         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70663         (xnboundedmalloc): New inline function.
70664         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70665         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70666         xmalloc.
70667         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70668         xmalloc.
70669         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70670         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70671         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70672         xmalloc.
70673         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70674         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70675         xmalloc.
70676         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70677         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70678         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70679         xmalloc.
70680         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70681         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70682         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70683         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70684         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70685         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70686         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70687
70688 2006-11-03  Bruno Haible  <bruno@clisp.org>
70689
70690         * lib/c-ctype.h [C++]: Define functions without name mangling.
70691         * lib/fwriteerror.h [C++]: Likewise.
70692         * lib/gcd.h [C++]: Likewise.
70693         * lib/linebreak.h [C++]: Likewise.
70694
70695 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70696
70697         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70698         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70699         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70700         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70701         Check for functions and headers just once.
70702         Check for declaration of canonicalize_file_name.
70703         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70704
70705 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70706
70707         * gnulib-tool (func_import): Fix typo in actioncmd.
70708
70709 2006-11-02  Bruno Haible  <bruno@clisp.org>
70710
70711         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70712         newline sequence in the Makefile.am snippet as a space, like "make"
70713         does.
70714         Reported by Roger Persson <perrog@gmail.com>.
70715
70716 2006-11-01  Bruno Haible  <bruno@clisp.org>
70717
70718         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70719         already declared in <string.h>.
70720         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70721
70722 2006-11-01  Bruno Haible  <bruno@clisp.org>
70723
70724         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70725         * lib/strcase.h: Include <string.h>.
70726         (strcasecmp): Define to rpl_strcasecmp here.
70727
70728 2006-11-01  Bruno Haible  <bruno@clisp.org>
70729
70730         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70731
70732 2006-11-01  Eric Blake  <ebb9@byu.net>
70733
70734         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70735
70736         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70737
70738 2006-10-29  Bruno Haible  <bruno@clisp.org>
70739
70740         Make it compile in C++ mode.
70741         * lib/full-write.c (full_rw): Add a cast.
70742
70743 2006-11-01  Bruno Haible  <bruno@clisp.org>
70744
70745         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70746         be POSIX compliant.
70747         Reported by Roger Persson <perrog@gmail.com>.
70748
70749 2006-11-01  Eric Blake  <ebb9@byu.net>
70750
70751         * lib/getopt_.h: Fix comments.
70752
70753 2006-10-31  Eric Blake  <ebb9@byu.net>
70754
70755         * modules/tmpdir (Depends-on): Add sys_stat.
70756         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70757         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70758         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70759         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70760         tempname.
70761
70762 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70763
70764         Avoid some C++ diagnostics reported by Bruno Haible.
70765         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70766         xmalloc.
70767         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70768         (struct slotvec): Move to top level.
70769         (quotearg_n_options): Rewrite to avoid xmalloc.
70770         * lib/xalloc.h (xcharalloc): New function.
70771         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70772         [defined __cplusplus]: Add function template that provides result
70773         type propagation.  This part of the change is from Bruno Haible.
70774
70775 2006-10-29  Bruno Haible  <bruno@clisp.org>
70776
70777         Make it compile in C++ mode.
70778         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70779         * lib/strnlen1.c (strnlen1): Cast memchr result.
70780         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70781         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70782         (create_temp_dir): Rename local variable 'template'.
70783         (compile_csharp_using_sscli): Add cast.
70784         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70785         * lib/findprog.c (find_in_path): Likewise.
70786         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70787         * lib/wait-process.c (register_slave_subprocess): Likewise.
70788
70789 2006-10-22  Bruno Haible  <bruno@clisp.org>
70790
70791         * modules/tsearch: New file.
70792         * lib/tsearch.h: New file.
70793         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70794         * m4/tsearch.m4: New file.
70795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70796
70797 2006-10-29  Eric Blake  <ebb9@byu.net>
70798
70799         * lib/arcfour.c: Assume config.h.
70800         * lib/arctwo.c: Likewise.
70801         * lib/base64.c: Likewise.
70802         * lib/check-version.c: Likewise.
70803         * lib/crc.c: Likewise.
70804         * lib/des.c: Likewise.
70805         * lib/gc-gnulib.c: Likewise.
70806         * lib/gc-libgcrypt.c: Likewise.
70807         * lib/gc-pbkdf2-sha1.c: Likewise.
70808         * lib/getaddrinfo.c: Likewise.
70809         * lib/getdelim.c: Likewise.
70810         * lib/getline.c: Likewise.
70811         * lib/hmac-md5.c: Likewise.
70812         * lib/hmac-sha1.c: Likewise.
70813         * lib/iconvme.c: Likewise.
70814         * lib/md2.c: Likewise.
70815         * lib/md4.c: Likewise.
70816         * lib/memxor.c: Likewise.
70817         * lib/read-file.c: Likewise.
70818         * lib/readline.c: Likewise.
70819         * lib/rijndael-alg-fst.c: Likewise.
70820         * lib/rijndael-api-fst.c: Likewise.
70821         * lib/xgetdomainname.c: Likewise.
70822
70823 2006-10-28  Eric Blake  <ebb9@byu.net>
70824
70825         * lib/xstrndup.c: Assume config.h.
70826
70827 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70828
70829         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70830         stat-macros.h is now for our own macros, whereas stat_h is for
70831         macros in the <sys/stat.h> name space.
70832         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70833         (STAT_MACROS_H): Remove.
70834         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70835         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70836         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70837         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70838         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70839         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70840         Move these macros to ...
70841         * lib/stat_.h: here.  Don't include stat-macros.h.
70842         * lib/canonicalize.c: Don't include stat-macros.h.
70843         * lib/chown.c: Likewise.
70844         * lib/euidaccess.c: Likewise.
70845         * lib/file-type.c: Likewise.
70846         * lib/filemode.c: Likewise.
70847         * lib/glob.c: Likewise.
70848         * lib/isapipe.c: Likewise.
70849         * lib/lchown.c: Likewise.
70850         * lib/lstat.c: Likewise.
70851         * lib/mkdir-p.c: Likewise.
70852         * lib/rmdir.c: Likewise.
70853         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70854         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70855         unless mkdir isn't declared, to speed up 'configure'.
70856         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70857         would define all the S_* symbols.
70858         * modules/canonicalize (Depends-on):
70859         Depend on sys_stat, not stat-macros.
70860         * modules/chown: Likewise.
70861         * modules/euidaccess: Likewise.
70862         * modules/filemode: Likewise.
70863         * modules/file-type: Likewise.
70864         * modules/glob: Likewise.
70865         * modules/isapipe: Likewise.
70866         * modules/lchown: Likewise.
70867         * modules/lstat: Likewise.
70868         * modules/mkancesdirs: Likewise.
70869         * modules/rmdir: Likewise.
70870         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70871         * modules/modechange: Likewise.
70872         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70873         (configure.ac): Remove gl_STAT_MACROS.
70874         * modules/sys_stat (Depends-on): Remove stat-macros.
70875
70876 2006-10-27  Bruno Haible  <bruno@clisp.org>
70877
70878         * m4/signed.m4: Remove file.
70879         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70880         invocation.
70881         * modules/vasnprintf (Files): Remove m4/signed.m4.
70882
70883 2006-10-27  Bruno Haible  <bruno@clisp.org>
70884
70885         Update to GNU gettext 0.16.
70886         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70887         m4/inttypes-h.m4, m4/signed.m4.
70888         * m4/gettext.m4: Update to GNU gettext 0.16.
70889         * m4/intl.m4: New file, from GNU gettext.
70890         * m4/intldir.m4: New file, from GNU gettext.
70891         * config/srclist.txt: Update
70892
70893 2006-10-27  Eric Blake  <ebb9@byu.net>
70894
70895         * MODULES.html.sh: Document tempname.
70896         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70897         dependencies.
70898         (Files): Move lib/tempname.c...
70899         * modules/tempname: ...to this new module.
70900         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70901         (gl_PREREQ_TEMPNAME): Move...
70902         * m4/tempname.m4: ...to this new file.
70903         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70904         * modules/sys_stat (Depends-on): Add stat-macros.
70905         * lib/stat_.h (includes): Pick up stat macros.
70906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70907         if stat macros are broken.
70908         * lib/tempname.c (includes): No need to include "stat-macros.h".
70909         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70910         (direxists, __path_search) [!_LIBC]: Don't compile these in
70911         gnulib; the tmpdir module covers that.
70912         * lib/tempname.h: New file.
70913
70914 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70915
70916         * COPYING: Explain how gnulib-tool converts licence headers.
70917         Almost all wording by Eric Blake.
70918
70919 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70920
70921         * lib/mbchar.h (is_basic_table): Make read-only.
70922         * lib/mbchar.c (is_basic_table): Likewise.
70923         Reported by John Darrington.
70924
70925 2006-10-25  Bruno Haible  <bruno@clisp.org>
70926
70927         * lib/progname.h (set_program_name): Undefine before defining.
70928
70929 2006-10-25  Bruno Haible  <bruno@clisp.org>
70930
70931         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70932         false for non-gcc C++ compilers.
70933         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70934
70935 2006-10-24  Bruno Haible  <bruno@clisp.org>
70936
70937         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70938         iconv implementations like Irix iconv.
70939
70940 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70941
70942         * modules/vararrays: New file.
70943         * m4/vararrays.m4: New file, taken from diffutils.
70944         * MODULES.html.sh: New module vararrays.
70945
70946 2006-10-24  Karl Berry  <karl@gnu.org>
70947
70948         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70949         Don't call GNU Unix.
70950
70951 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70952
70953         * users.txt: Add Libtool.
70954
70955         Sync from Libtool:
70956
70957         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70958
70959         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70960         to gnulib's policy of including config.h unconditionally.
70961
70962 2006-10-24  Bruno Haible  <bruno@clisp.org>
70963
70964         * modules/wcwidth (Files): Add m4/wint_t.m4.
70965         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70966         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70967
70968 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70969
70970         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70971         to pacify GCC with some -W flags enabled.  Problem reported by
70972         Bruno Haible.
70973
70974 2006-10-24  Jim Meyering  <jim@meyering.net>
70975
70976         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70977         Reported by Karl Berry.
70978
70979 2006-10-23  Bruno Haible  <bruno@clisp.org>
70980
70981         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70982
70983 2006-10-24  Bruno Haible  <bruno@clisp.org>
70984
70985         * lib/gl_list.h: Use C comment style, not C++ comment style.
70986
70987 2006-10-23  Eric Blake  <ebb9@byu.net>
70988
70989         * lib/getaddrinfo.c (includes): Add missing include.
70990
70991 2006-10-23  Bruno Haible  <bruno@clisp.org>
70992             Paul Eggert  <eggert@cs.ucla.edu>
70993
70994         Ability to rename obstack_free.
70995         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70996         obstack_free.
70997         (obstack_free): Invoke the __obstack_free macro.
70998         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70999
71000 2006-10-23  Bruno Haible  <bruno@clisp.org>
71001             Paul Eggert  <eggert@cs.ucla.edu>
71002
71003         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
71004         __argc, __argv from the declaration. (They are defined as macros on
71005         mingw.)
71006
71007 2006-10-22  Bruno Haible  <bruno@clisp.org>
71008
71009         * doc/gnulib-intro.texi: New file.
71010         * doc/gnulib.texi: Include it.
71011
71012 2006-10-21  Bruno Haible  <bruno@clisp.org>
71013
71014         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
71015         "Introduction", "Miscellanous Notes", "Particular Modules".
71016
71017 2006-10-21  Bruno Haible  <bruno@clisp.org>
71018
71019         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71020         Change mostlyclean-local rule to avoid sh syntax error from bash
71021         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
71022
71023 2006-10-23  Jim Meyering  <jim@meyering.net>
71024
71025         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
71026         in place of snprintf.
71027
71028         * modules/inttostr (Files): Add lib/uinttostr.c.
71029         * lib/uinttostr.c (inttostr): New file/function.
71030         * lib/inttostr.h (uinttostr): Declare.
71031         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
71032         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
71033         Add uinttostr.
71034         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
71035
71036 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71037
71038         * lib/canonicalize.c (ELOOP): Define if not already defined.
71039         Problem reported by Bruno Haible in
71040         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
71041
71042 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
71043
71044         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
71045         Problem reported by Perry Smith and Ville Laurikari.
71046
71047         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
71048         uses.
71049
71050 2006-10-19  Bruno Haible  <bruno@clisp.org>
71051
71052         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
71053         for mingw.
71054
71055 2006-10-19  Bruno Haible  <bruno@clisp.org>
71056
71057         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
71058         Needed for mingw.
71059
71060 2006-10-19  Bruno Haible  <bruno@clisp.org>
71061
71062         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
71063
71064 2006-10-19  Bruno Haible  <bruno@clisp.org>
71065
71066         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
71067         it.
71068
71069 2006-10-19  Bruno Haible  <bruno@clisp.org>
71070
71071         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
71072         invocation.
71073
71074 2006-10-19  Bruno Haible  <bruno@clisp.org>
71075
71076         * gnulib-tool (func_create_testdir): Don't include ftruncate and
71077         mountlist by default.
71078
71079 2006-10-16  Bruno Haible  <bruno@clisp.org>
71080
71081         * lib/c-strstr.c: Include c-strstr.h.
71082
71083 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71084
71085         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
71086         in a slash.
71087
71088 2006-10-18  Bruno Haible  <bruno@clisp.org>
71089
71090         * lib/lock.h [C++]: Wrap definitions in extern "C".
71091
71092 2006-10-18  Bruno Haible  <bruno@clisp.org>
71093
71094         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
71095         gl_LIBOBJS list.
71096
71097 2006-10-18  Bruno Haible  <bruno@clisp.org>
71098
71099         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
71100
71101 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
71102
71103         * lib/xstrtol.h: Include gettext.h.
71104         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
71105         Problem reported by Eric Blake.
71106         * modules/xstrtol (Depends-on): Add gettext-h.
71107
71108 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
71109
71110         * lib/strftime.c (advance): New macro.
71111         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
71112         incomplete type, so you can't add 0 to it.  Problem and patch
71113         reported by Eelco Dolstra for dietlibc.
71114
71115 2006-10-18  Jim Meyering  <jim@meyering.net>
71116
71117         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
71118         type for a local, and rename it: s/up/user_proc/.
71119
71120 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
71121
71122         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
71123         READ_UTMP_USER_PROCESS.
71124         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
71125
71126 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
71127
71128         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
71129         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
71130
71131 2006-10-17  Eric Blake  <ebb9@byu.net>
71132
71133         * lib/sigprocmask.c (sigprocmask): Fix typo.
71134
71135         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
71136
71137         * modules/clean-temp (Makefile.am): Don't add to make output...
71138         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
71139         config.h.
71140
71141 2006-10-17  Bruno Haible  <bruno@clisp.org>
71142
71143         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
71144         differently if DEFAULT_TEXT_DOMAIN is set.
71145
71146 2006-10-16  Bruno Haible  <bruno@clisp.org>
71147
71148         * lib/clean-temp.c: Include fwriteerror.h.
71149
71150 2006-10-16  Bruno Haible  <bruno@clisp.org>
71151
71152         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
71153
71154 2006-10-16  Bruno Haible  <bruno@clisp.org>
71155
71156         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
71157         * lib/sigprocmask.h: Include <sys/types.h>.
71158         (sigset_t): Use the system's definition if present.
71159
71160 2006-10-17  Eric Blake  <ebb9@byu.net>
71161
71162         * lib/xvasprintf.c (includes): Assume config.h.
71163         * lib/xasprintf.c (includes): Likewise.
71164
71165 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
71166
71167         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
71168         at least as wide as intmax_t.
71169
71170 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
71171
71172         (Imported from Automake.)
71173         * build-aux/gnupload: Update to version 1.1 of directive file.
71174
71175 2006-10-16  Eric Blake  <ebb9@byu.net>
71176
71177         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
71178         match Automake 1.10a.
71179
71180 2006-10-14  Bruno Haible  <bruno@clisp.org>
71181
71182         * modules/sigprocmask: New file.
71183         * lib/sigprocmask.h: New file.
71184         * lib/sigprocmask.c: New file.
71185         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
71186         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
71187         request sigprocmask.o.
71188         (gl_PREREQ_SIGPROCMASK): New macro.
71189         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
71190         (Depends-on): Add sigprocmask.
71191         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
71192         gt_SIGNALBLOCKING. Test for 'raise' only once.
71193         * lib/fatal-signal.c: Include sigprocmask.h.
71194         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
71195         unblock_fatal_signals): Define always.
71196         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71197         sigprocmask.
71198
71199 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
71200
71201         Sync from Automake.
71202         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
71203         which incorrectly sets the mode of an existing destination
71204         directory.  In some cases the unpatched install-sh could do the
71205         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
71206         system.  We hope this is rare in practice, but it's clearly worth
71207         fixing.  Problem reported by Alex Unleashed in
71208         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
71209         Also, don't bother to check for -m bugs unless we're using -m;
71210         suggested by Stepan Kasal.
71211
71212 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71213
71214         Sync from Automake.
71215         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
71216         `-c' flag, so they appear at the same position as in %FASTDEP%
71217         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
71218         which ignores unknown options only after the first non-option.
71219         Bug report against M4 by Nelson H. F. Beebe.
71220
71221 2006-10-13  Jim Meyering  <jim@meyering.net>
71222
71223         Fix a bug in yesterday's change.
71224         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
71225         p->fts_statp->st_dev would be used uninitialized.
71226         Ensures that we always call fts_stat on the very first entry.
71227         Miklos Szeredi reported that find -xdev stopped working.
71228
71229 2006-10-12  Bruno Haible  <bruno@clisp.org>
71230
71231         * gnulib-tool (func_get_automake_snippet): Append an automatically
71232         computed EXTRA_DIST augmentation.
71233         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
71234         * modules/alloca-opt (Makefile.am): Likewise.
71235         * modules/allocsa (Makefile.am): Likewise.
71236         * modules/arcfour (Makefile.am): Likewise.
71237         * modules/arctwo (Makefile.am): Likewise.
71238         * modules/argmatch (Makefile.am): Likewise.
71239         * modules/argz (Makefile.am): Likewise.
71240         * modules/atexit (Makefile.am): Likewise.
71241         * modules/backupfile (Makefile.am): Likewise.
71242         * modules/byteswap (Makefile.am): Likewise.
71243         * modules/c-strtod (Makefile.am): Likewise.
71244         * modules/c-strtold (Makefile.am): Likewise.
71245         * modules/calloc (Makefile.am): Likewise.
71246         * modules/canon-host (Makefile.am): Likewise.
71247         * modules/canonicalize (Makefile.am): Likewise.
71248         * modules/chdir-long (Makefile.am): Likewise.
71249         * modules/chdir-safer (Makefile.am): Likewise.
71250         * modules/check-version (Makefile.am): Likewise.
71251         * modules/chown (Makefile.am): Likewise.
71252         * modules/cloexec (Makefile.am): Likewise.
71253         * modules/close-stream (Makefile.am): Likewise.
71254         * modules/closeout (Makefile.am): Likewise.
71255         * modules/crc (Makefile.am): Likewise.
71256         * modules/csharpexec (Makefile.am): Likewise.
71257         * modules/cycle-check (Makefile.am): Likewise.
71258         * modules/des (Makefile.am): Likewise.
71259         * modules/dev-ino (Makefile.am): Likewise.
71260         * modules/dirfd (Makefile.am): Likewise.
71261         * modules/dirname (Makefile.am): Likewise.
71262         * modules/dup2 (Makefile.am): Likewise.
71263         * modules/eealloc (Makefile.am): Likewise.
71264         * modules/error (Makefile.am): Likewise.
71265         * modules/euidaccess (Makefile.am): Likewise.
71266         * modules/exclude (Makefile.am): Likewise.
71267         * modules/exitfail (Makefile.am): Likewise.
71268         * modules/fcntl-safer (Makefile.am): Likewise.
71269         * modules/fcntl (Makefile.am): Likewise.
71270         * modules/file-type (Makefile.am): Likewise.
71271         * modules/fileblocks (Makefile.am): Likewise.
71272         * modules/filemode (Makefile.am): Likewise.
71273         * modules/filenamecat (Makefile.am): Likewise.
71274         * modules/fnmatch (Makefile.am): Likewise.
71275         * modules/fopen-safer (Makefile.am): Likewise.
71276         * modules/fpending (Makefile.am): Likewise.
71277         * modules/fprintftime (Makefile.am): Likewise.
71278         * modules/free (Makefile.am): Likewise.
71279         * modules/fsusage (Makefile.am): Likewise.
71280         * modules/ftruncate (Makefile.am): Likewise.
71281         * modules/fts (Makefile.am): Likewise.
71282         * modules/gc-arcfour (Makefile.am): Likewise.
71283         * modules/gc-des (Makefile.am): Likewise.
71284         * modules/gc-hmac-md5 (Makefile.am): Likewise.
71285         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
71286         * modules/gc-md4 (Makefile.am): Likewise.
71287         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71288         * modules/gc-sha1 (Makefile.am): Likewise.
71289         * modules/gc (Makefile.am): Likewise.
71290         * modules/getaddrinfo (Makefile.am): Likewise.
71291         * modules/getcwd (Makefile.am): Likewise.
71292         * modules/getdelim (Makefile.am): Likewise.
71293         * modules/getdomainname (Makefile.am): Likewise.
71294         * modules/getgroups (Makefile.am): Likewise.
71295         * modules/gethostname (Makefile.am): Likewise.
71296         * modules/gethrxtime (Makefile.am): Likewise.
71297         * modules/getline (Makefile.am): Likewise.
71298         * modules/getloadavg (Makefile.am): Likewise.
71299         * modules/getlogin_r (Makefile.am): Likewise.
71300         * modules/getndelim2 (Makefile.am): Likewise.
71301         * modules/getopt (Makefile.am): Likewise.
71302         * modules/getpagesize (Makefile.am): Likewise.
71303         * modules/getpass-gnu (Makefile.am): Likewise.
71304         * modules/getpass (Makefile.am): Likewise.
71305         * modules/getsubopt (Makefile.am): Likewise.
71306         * modules/gettime (Makefile.am): Likewise.
71307         * modules/gettimeofday (Makefile.am): Likewise.
71308         * modules/getugroups (Makefile.am): Likewise.
71309         * modules/getusershell (Makefile.am): Likewise.
71310         * modules/glob (Makefile.am): Likewise.
71311         * modules/group-member (Makefile.am): Likewise.
71312         * modules/hard-locale (Makefile.am): Likewise.
71313         * modules/hash (Makefile.am): Likewise.
71314         * modules/hmac-md5 (Makefile.am): Likewise.
71315         * modules/hmac-sha1 (Makefile.am): Likewise.
71316         * modules/human (Makefile.am): Likewise.
71317         * modules/idcache (Makefile.am): Likewise.
71318         * modules/imaxabs (Makefile.am): Likewise.
71319         * modules/imaxdiv (Makefile.am): Likewise.
71320         * modules/inet_ntop (Makefile.am): Likewise.
71321         * modules/inet_pton (Makefile.am): Likewise.
71322         * modules/intprops (Makefile.am): Likewise.
71323         * modules/inttostr (Makefile.am): Likewise.
71324         * modules/inttypes (Makefile.am): Likewise.
71325         * modules/isapipe (Makefile.am): Likewise.
71326         * modules/javaversion (Makefile.am): Likewise.
71327         * modules/lchmod (Makefile.am): Likewise.
71328         * modules/lchown (Makefile.am): Likewise.
71329         * modules/localcharset (Makefile.am): Likewise.
71330         * modules/long-options (Makefile.am): Likewise.
71331         * modules/lstat (Makefile.am): Likewise.
71332         * modules/malloc (Makefile.am): Likewise.
71333         * modules/mathl (Makefile.am): Likewise.
71334         * modules/mbchar (Makefile.am): Likewise.
71335         * modules/md2 (Makefile.am): Likewise.
71336         * modules/md4 (Makefile.am): Likewise.
71337         * modules/md5 (Makefile.am): Likewise.
71338         * modules/memcasecmp (Makefile.am): Likewise.
71339         * modules/memchr (Makefile.am): Likewise.
71340         * modules/memcmp (Makefile.am): Likewise.
71341         * modules/memcoll (Makefile.am): Likewise.
71342         * modules/memcpy (Makefile.am): Likewise.
71343         * modules/memmem (Makefile.am): Likewise.
71344         * modules/memmove (Makefile.am): Likewise.
71345         * modules/mempcpy (Makefile.am): Likewise.
71346         * modules/memrchr (Makefile.am): Likewise.
71347         * modules/memset (Makefile.am): Likewise.
71348         * modules/memxor (Makefile.am): Likewise.
71349         * modules/mkancesdirs (Makefile.am): Likewise.
71350         * modules/mkdir-p (Makefile.am): Likewise.
71351         * modules/mkdir (Makefile.am): Likewise.
71352         * modules/mkdtemp (Makefile.am): Likewise.
71353         * modules/mkstemp (Makefile.am): Likewise.
71354         * modules/mktime (Makefile.am): Likewise.
71355         * modules/modechange (Makefile.am): Likewise.
71356         * modules/mountlist (Makefile.am): Likewise.
71357         * modules/nanosleep (Makefile.am): Likewise.
71358         * modules/obstack (Makefile.am): Likewise.
71359         * modules/openat (Makefile.am): Likewise.
71360         * modules/pagealign_alloc (Makefile.am): Likewise.
71361         * modules/pathmax (Makefile.am): Likewise.
71362         * modules/physmem (Makefile.am): Likewise.
71363         * modules/poll (Makefile.am): Likewise.
71364         * modules/posixtm (Makefile.am): Likewise.
71365         * modules/posixver (Makefile.am): Likewise.
71366         * modules/putenv (Makefile.am): Likewise.
71367         * modules/quote (Makefile.am): Likewise.
71368         * modules/quotearg (Makefile.am): Likewise.
71369         * modules/raise (Makefile.am): Likewise.
71370         * modules/read-file (Makefile.am): Likewise.
71371         * modules/readline (Makefile.am): Likewise.
71372         * modules/readlink (Makefile.am): Likewise.
71373         * modules/readtokens (Makefile.am): Likewise.
71374         * modules/readutmp (Makefile.am): Likewise.
71375         * modules/realloc (Makefile.am): Likewise.
71376         * modules/regex (Makefile.am): Likewise.
71377         * modules/rename-dest-slash (Makefile.am): Likewise.
71378         * modules/rename (Makefile.am): Likewise.
71379         * modules/rijndael (Makefile.am): Likewise.
71380         * modules/rmdir (Makefile.am): Likewise.
71381         * modules/rpmatch (Makefile.am): Likewise.
71382         * modules/safe-read (Makefile.am): Likewise.
71383         * modules/safe-write (Makefile.am): Likewise.
71384         * modules/same-inode (Makefile.am): Likewise.
71385         * modules/same (Makefile.am): Likewise.
71386         * modules/save-cwd (Makefile.am): Likewise.
71387         * modules/savedir (Makefile.am): Likewise.
71388         * modules/setenv (Makefile.am): Likewise.
71389         * modules/settime (Makefile.am): Likewise.
71390         * modules/sha1 (Makefile.am): Likewise.
71391         * modules/sig2str (Makefile.am): Likewise.
71392         * modules/snprintf (Makefile.am): Likewise.
71393         * modules/stat-macros (Makefile.am): Likewise.
71394         * modules/stat-time (Makefile.am): Likewise.
71395         * modules/stdbool (Makefile.am): Likewise.
71396         * modules/stdint (Makefile.am): Likewise.
71397         * modules/stdlib-safer (Makefile.am): Likewise.
71398         * modules/stpcpy (Makefile.am): Likewise.
71399         * modules/stpncpy (Makefile.am): Likewise.
71400         * modules/strcase (Makefile.am): Likewise.
71401         * modules/strcasestr (Makefile.am): Likewise.
71402         * modules/strchrnul (Makefile.am): Likewise.
71403         * modules/strcspn (Makefile.am): Likewise.
71404         * modules/strdup (Makefile.am): Likewise.
71405         * modules/strerror (Makefile.am): Likewise.
71406         * modules/strftime (Makefile.am): Likewise.
71407         * modules/strndup (Makefile.am): Likewise.
71408         * modules/strnlen (Makefile.am): Likewise.
71409         * modules/strpbrk (Makefile.am): Likewise.
71410         * modules/strsep (Makefile.am): Likewise.
71411         * modules/strstr (Makefile.am): Likewise.
71412         * modules/strtod (Makefile.am): Likewise.
71413         * modules/strtoimax (Makefile.am): Likewise.
71414         * modules/strtok_r (Makefile.am): Likewise.
71415         * modules/strtol (Makefile.am): Likewise.
71416         * modules/strtoll (Makefile.am): Likewise.
71417         * modules/strtoul (Makefile.am): Likewise.
71418         * modules/strtoull (Makefile.am): Likewise.
71419         * modules/strtoumax (Makefile.am): Likewise.
71420         * modules/strverscmp (Makefile.am): Likewise.
71421         * modules/sys_socket (Makefile.am): Likewise.
71422         * modules/sys_stat (Makefile.am): Likewise.
71423         * modules/sysexits (Makefile.am): Likewise.
71424         * modules/time_r (Makefile.am): Likewise.
71425         * modules/timegm (Makefile.am): Likewise.
71426         * modules/timespec (Makefile.am): Likewise.
71427         * modules/tmpfile-safer (Makefile.am): Likewise.
71428         * modules/trim (Makefile.am): Likewise.
71429         * modules/unistd-safer (Makefile.am): Likewise.
71430         * modules/unlinkdir (Makefile.am): Likewise.
71431         * modules/unlocked-io (Makefile.am): Likewise.
71432         * modules/userspec (Makefile.am): Likewise.
71433         * modules/utime (Makefile.am): Likewise.
71434         * modules/utimecmp (Makefile.am): Likewise.
71435         * modules/utimens (Makefile.am): Likewise.
71436         * modules/vasnprintf (Makefile.am): Likewise.
71437         * modules/vasprintf (Makefile.am): Likewise.
71438         * modules/vsnprintf (Makefile.am): Likewise.
71439         * modules/xalloc (Makefile.am): Likewise.
71440         * modules/xgetcwd (Makefile.am): Likewise.
71441         * modules/xnanosleep (Makefile.am): Likewise.
71442         * modules/xreadlink (Makefile.am): Likewise.
71443         * modules/xstrtod (Makefile.am): Likewise.
71444         * modules/xstrtol (Makefile.am): Likewise.
71445         * modules/xstrtold (Makefile.am): Likewise.
71446         * modules/yesno (Makefile.am): Likewise.
71447         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71448
71449 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71450
71451         * modules/error (Makefile.am): Distribute files through
71452         EXTRA_DIST, not lib_SOURCES.
71453
71454 2006-10-12  Eric Blake  <ebb9@byu.net>
71455
71456         * modules/error (Makefile.am): Distribute files in /lib.
71457         * modules/obstack (Makefile.am): Likewise.
71458
71459 2006-10-12  Bruno Haible  <bruno@clisp.org>
71460
71461         * modules/acl (Makefile.am): Distribute all files in lib/ through
71462         EXTRA_DIST.
71463         * modules/arcfour (Makefile.am): Likewise.
71464         * modules/arctwo (Makefile.am): Likewise.
71465         * modules/argmatch (Makefile.am): Likewise.
71466         * modules/argz (Makefile.am): Likewise.
71467         * modules/atexit (Makefile.am): Likewise.
71468         * modules/backupfile (Makefile.am): Likewise.
71469         * modules/c-strtod (Makefile.am): Likewise.
71470         * modules/c-strtold (Makefile.am): Likewise.
71471         * modules/calloc (Makefile.am): Likewise.
71472         * modules/canon-host (Makefile.am): Likewise.
71473         * modules/canonicalize (Makefile.am): Likewise.
71474         * modules/chdir-long (Makefile.am): Likewise.
71475         * modules/chdir-safer (Makefile.am): Likewise.
71476         * modules/check-version (Makefile.am): Likewise.
71477         * modules/chown (Makefile.am): Likewise.
71478         * modules/cloexec (Makefile.am): Likewise.
71479         * modules/close-stream (Makefile.am): Likewise.
71480         * modules/closeout (Makefile.am): Likewise.
71481         * modules/crc (Makefile.am): Likewise.
71482         * modules/cycle-check (Makefile.am): Likewise.
71483         * modules/des (Makefile.am): Likewise.
71484         * modules/dirfd (Makefile.am): Likewise.
71485         * modules/dirname (Makefile.am): Likewise.
71486         * modules/dup2 (Makefile.am): Likewise.
71487         * modules/euidaccess (Makefile.am): Likewise.
71488         * modules/exclude (Makefile.am): Likewise.
71489         * modules/exitfail (Makefile.am): Likewise.
71490         * modules/fcntl-safer (Makefile.am): Likewise.
71491         * modules/file-type (Makefile.am): Likewise.
71492         * modules/fileblocks (Makefile.am): Likewise.
71493         * modules/filemode (Makefile.am): Likewise.
71494         * modules/filenamecat (Makefile.am): Likewise.
71495         * modules/fnmatch (Makefile.am): Likewise.
71496         * modules/fopen-safer (Makefile.am): Likewise.
71497         * modules/fpending (Makefile.am): Likewise.
71498         * modules/fprintftime (Makefile.am): Likewise.
71499         * modules/free (Makefile.am): Likewise.
71500         * modules/fsusage (Makefile.am): Likewise.
71501         * modules/ftruncate (Makefile.am): Likewise.
71502         * modules/fts (Makefile.am): Likewise.
71503         * modules/gc (Makefile.am): Likewise.
71504         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71505         * modules/getaddrinfo (Makefile.am): Likewise.
71506         * modules/getcwd (Makefile.am): Likewise.
71507         * modules/getdelim (Makefile.am): Likewise.
71508         * modules/getdomainname (Makefile.am): Likewise.
71509         * modules/getgroups (Makefile.am): Likewise.
71510         * modules/gethostname (Makefile.am): Likewise.
71511         * modules/gethrxtime (Makefile.am): Likewise.
71512         * modules/getline (Makefile.am): Likewise.
71513         * modules/getloadavg (Makefile.am): Likewise.
71514         * modules/getlogin_r (Makefile.am): Likewise.
71515         * modules/getopt (Makefile.am): Likewise.
71516         * modules/getpass (Makefile.am): Likewise.
71517         * modules/getpass-gnu (Makefile.am): Likewise.
71518         * modules/getsubopt (Makefile.am): Likewise.
71519         * modules/gettime (Makefile.am): Likewise.
71520         * modules/gettimeofday (Makefile.am): Likewise.
71521         * modules/getugroups (Makefile.am): Likewise.
71522         * modules/getusershell (Makefile.am): Likewise.
71523         * modules/glob (Makefile.am): Likewise.
71524         * modules/group-member (Makefile.am): Likewise.
71525         * modules/hard-locale (Makefile.am): Likewise.
71526         * modules/hash (Makefile.am): Likewise.
71527         * modules/hmac-md5 (Makefile.am): Likewise.
71528         * modules/hmac-sha1 (Makefile.am): Likewise.
71529         * modules/human (Makefile.am): Likewise.
71530         * modules/idcache (Makefile.am): Likewise.
71531         * modules/imaxabs (Makefile.am): Likewise.
71532         * modules/imaxdiv (Makefile.am): Likewise.
71533         * modules/inet_ntop (Makefile.am): Likewise.
71534         * modules/inet_pton (Makefile.am): Likewise.
71535         * modules/inttostr (Makefile.am): Likewise.
71536         * modules/isapipe (Makefile.am): Likewise.
71537         * modules/lchown (Makefile.am): Likewise.
71538         * modules/long-options (Makefile.am): Likewise.
71539         * modules/lstat (Makefile.am): Likewise.
71540         * modules/malloc (Makefile.am): Likewise.
71541         * modules/mathl (Makefile.am): Likewise.
71542         * modules/mbchar (Makefile.am): Likewise.
71543         * modules/md2 (Makefile.am): Likewise.
71544         * modules/md4 (Makefile.am): Likewise.
71545         * modules/md5 (Makefile.am): Likewise.
71546         * modules/memcasecmp (Makefile.am): Likewise.
71547         * modules/memchr (Makefile.am): Likewise.
71548         * modules/memcmp (Makefile.am): Likewise.
71549         * modules/memcoll (Makefile.am): Likewise.
71550         * modules/memcpy (Makefile.am): Likewise.
71551         * modules/memmem (Makefile.am): Likewise.
71552         * modules/memmove (Makefile.am): Likewise.
71553         * modules/mempcpy (Makefile.am): Likewise.
71554         * modules/memrchr (Makefile.am): Likewise.
71555         * modules/memset (Makefile.am): Likewise.
71556         * modules/memxor (Makefile.am): Likewise.
71557         * modules/mkancesdirs (Makefile.am): Likewise.
71558         * modules/mkdir (Makefile.am): Likewise.
71559         * modules/mkdir-p (Makefile.am): Likewise.
71560         * modules/mkdtemp (Makefile.am): Likewise.
71561         * modules/mkstemp (Makefile.am): Likewise.
71562         * modules/mktime (Makefile.am): Likewise.
71563         * modules/modechange (Makefile.am): Likewise.
71564         * modules/mountlist (Makefile.am): Likewise.
71565         * modules/nanosleep (Makefile.am): Likewise.
71566         * modules/openat (Makefile.am): Likewise.
71567         * modules/pagealign_alloc (Makefile.am): Likewise.
71568         * modules/physmem (Makefile.am): Likewise.
71569         * modules/poll (Makefile.am): Likewise.
71570         * modules/posixtm (Makefile.am): Likewise.
71571         * modules/posixver (Makefile.am): Likewise.
71572         * modules/putenv (Makefile.am): Likewise.
71573         * modules/quote (Makefile.am): Likewise.
71574         * modules/quotearg (Makefile.am): Likewise.
71575         * modules/raise (Makefile.am): Likewise.
71576         * modules/read-file (Makefile.am): Likewise.
71577         * modules/readline (Makefile.am): Likewise.
71578         * modules/readlink (Makefile.am): Likewise.
71579         * modules/readtokens (Makefile.am): Likewise.
71580         * modules/readutmp (Makefile.am): Likewise.
71581         * modules/realloc (Makefile.am): Likewise.
71582         * modules/regex (Makefile.am): Likewise.
71583         * modules/rename (Makefile.am): Likewise.
71584         * modules/rename-dest-slash (Makefile.am): Likewise.
71585         * modules/rijndael (Makefile.am): Likewise.
71586         * modules/rmdir (Makefile.am): Likewise.
71587         * modules/rpmatch (Makefile.am): Likewise.
71588         * modules/safe-read (Makefile.am): Likewise.
71589         * modules/safe-write (Makefile.am): Likewise.
71590         * modules/same (Makefile.am): Likewise.
71591         * modules/save-cwd (Makefile.am): Likewise.
71592         * modules/savedir (Makefile.am): Likewise.
71593         * modules/setenv (Makefile.am): Likewise.
71594         * modules/settime (Makefile.am): Likewise.
71595         * modules/sha1 (Makefile.am): Likewise.
71596         * modules/sig2str (Makefile.am): Likewise.
71597         * modules/snprintf (Makefile.am): Likewise.
71598         * modules/stdlib-safer (Makefile.am): Likewise.
71599         * modules/stpcpy (Makefile.am): Likewise.
71600         * modules/stpncpy (Makefile.am): Likewise.
71601         * modules/strcase (Makefile.am): Likewise.
71602         * modules/strcasestr (Makefile.am): Likewise.
71603         * modules/strchrnul (Makefile.am): Likewise.
71604         * modules/strcspn (Makefile.am): Likewise.
71605         * modules/strdup (Makefile.am): Likewise.
71606         * modules/strerror (Makefile.am): Likewise.
71607         * modules/strftime (Makefile.am): Likewise.
71608         * modules/strndup (Makefile.am): Likewise.
71609         * modules/strnlen (Makefile.am): Likewise.
71610         * modules/strpbrk (Makefile.am): Likewise.
71611         * modules/strsep (Makefile.am): Likewise.
71612         * modules/strstr (Makefile.am): Likewise.
71613         * modules/strtod (Makefile.am): Likewise.
71614         * modules/strtoimax (Makefile.am): Likewise.
71615         * modules/strtok_r (Makefile.am): Likewise.
71616         * modules/strtol (Makefile.am): Likewise.
71617         * modules/strtoll (Makefile.am): Likewise.
71618         * modules/strtoul (Makefile.am): Likewise.
71619         * modules/strtoull (Makefile.am): Likewise.
71620         * modules/strtoumax (Makefile.am): Likewise.
71621         * modules/strverscmp (Makefile.am): Likewise.
71622         * modules/time_r (Makefile.am): Likewise.
71623         * modules/timegm (Makefile.am): Likewise.
71624         * modules/tmpfile-safer (Makefile.am): Likewise.
71625         * modules/unistd-safer (Makefile.am): Likewise.
71626         * modules/unlinkdir (Makefile.am): Likewise.
71627         * modules/userspec (Makefile.am): Likewise.
71628         * modules/utime (Makefile.am): Likewise.
71629         * modules/utimecmp (Makefile.am): Likewise.
71630         * modules/utimens (Makefile.am): Likewise.
71631         * modules/vasnprintf (Makefile.am): Likewise.
71632         * modules/vasprintf (Makefile.am): Likewise.
71633         * modules/vsnprintf (Makefile.am): Likewise.
71634         * modules/xalloc (Makefile.am): Likewise.
71635         * modules/xgetcwd (Makefile.am): Likewise.
71636         * modules/xnanosleep (Makefile.am): Likewise.
71637         * modules/xreadlink (Makefile.am): Likewise.
71638         * modules/xstrtod (Makefile.am): Likewise.
71639         * modules/xstrtol (Makefile.am): Likewise.
71640         * modules/xstrtold (Makefile.am): Likewise.
71641         * modules/yesno (Makefile.am): Likewise.
71642
71643 2006-10-12  Jim Meyering  <jim@meyering.net>
71644
71645         * m4/getloadavg.m4: Revert the change below.
71646
71647         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71648         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71649         fail with a symlink, which is what coreutils' ./bootstrap now
71650         creates by default.
71651
71652 2006-10-12  Bruno Haible  <bruno@clisp.org>
71653
71654         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71655         mingw.
71656         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71657         MSVC and mingw explicitly.
71658
71659 2006-10-11  Simon Josefsson  <jas@extundo.com>
71660             Bruno Haible  <bruno@clisp.org>
71661
71662         Add support for multiple gnulib-tool invocations in the scope of a
71663         single configure.ac file.
71664         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71665         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71666         with the same contents as the _LIBADD variable.
71667         (func_emit_initmacro_start, func_emit_initmacro_end,
71668         func_emit_initmacro_done): New functions.
71669         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71670         gl_LIBOBJS and gl_LTLIBOBJS.
71671
71672 2006-10-11  Bruno Haible  <bruno@clisp.org>
71673
71674         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71675         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71676         autoreconf. Instead, invoke autopoint explicitly but move back the
71677         *.m4 files from gnulib.
71678
71679 2006-10-11  Bruno Haible  <bruno@clisp.org>
71680
71681         * gnulib-tool (func_usage): Make module names after --create-testdir
71682         optional.
71683         (func_create_testdir): If no module was specified, use nearly all
71684         modules.
71685
71686 2006-10-12  Jim Meyering  <jim@meyering.net>
71687
71688         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71689         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71690         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71691         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71692         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71693         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71694         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71695         (fts_set_stat_required): New function.
71696         (fts_open): Defer the calls to fts_stat, if possible or requested.
71697         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71698         into fts_stat itself.
71699         (fts_read): Perform any required (deferred) fts_stat call.
71700         (fts_build): Likewise, for the directory we're about to open and read.
71701         In the readdir loop, carefully decide whether each entry will require
71702         an eventual call to fts_stat, using dirent.d_type info if available.
71703         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71704         a command line argument into this function.  Update all callers.
71705         Map a return value of FTS_DOT to FTS_D for a command line argument.
71706         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71707         Thanks to Miklos Szeredi for his tenacity and for the initial
71708         bug report about "find" failing on a FUSE-based file system.
71709
71710         * lib/fts.c (fts_open): Use consistent indentation.
71711
71712 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71713
71714         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71715         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71716         reported by Jim Meyering.  All uses of cache variables renamed
71717         to match Autoconf's.
71718         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71719         the other one.
71720
71721         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71722         Fix misspelling in diagnostic.
71723
71724 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71725
71726         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71727         defined.  Problem reported by Matthew Woehlke.
71728
71729         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71730         Add support for Tandem NonStop R series.
71731         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71732         Use new macro.
71733
71734         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71735         (has_trailing_slash): Omit size arg; all callers changed.
71736         Omit 'inline', since it doesn't help performance and we'd
71737         need to configure it.
71738         Don't count //, ///, etc. as having a trailing slash.
71739         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71740         (rpl_rename_dest_slash): On failure, use rename's errno rather
71741         than (in some cases) an incorrect or junk errno.
71742         Simplify code by removing need to compute length; this does
71743         cause it to make two passes instead of one over the file name,
71744         but it's worth it.
71745
71746         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71747         change, since Autoconf's version may no longer be appropriate now
71748         that we are using CVS Autoconf's version.  Add support for Tandem.
71749
71750 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71751             Bruno Haible  <bruno@clisp.org>
71752
71753         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71754         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71755         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71756         gl_AC_TYPE_LONG_LONG.
71757
71758         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71759         instead of HAVE_LONG_LONG.
71760         * lib/printf-args.c (printf_fetchargs): Likewise.
71761         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71762         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71763         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71764         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71765         gl_AC_TYPE_LONG_LONG.
71766
71767 2006-10-11  Bruno Haible  <bruno@clisp.org>
71768
71769         * m4/longlong.m4: Add comments.
71770         * m4/ulonglong.m4: Likewise.
71771
71772 2006-10-10  Bruno Haible  <bruno@clisp.org>
71773
71774         Make it possible to #define stpcpy, strdup to aliases.
71775         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71776         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71777
71778 2006-10-10  Bruno Haible  <bruno@clisp.org>
71779
71780         Make it possible to #define gcd to an alias.
71781         * lib/gcd.c: Include config.h.
71782
71783 2006-10-10  Bruno Haible  <bruno@clisp.org>
71784
71785         Make it possible to #define c_isascii to an alias.
71786         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71787         defined. Undefine the macros before defining them, to avoid gcc
71788         warnings.
71789         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71790         define NO_C_CTYPE_MACROS early.
71791
71792 2006-10-10  Bruno Haible  <bruno@clisp.org>
71793
71794         Make it possible to #define set_program_name to an alias.
71795         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71796         ENABLE_RELOCATABLE early.
71797
71798 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71799
71800         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71801         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71802         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71803         More generally, don't assume that 64-bit signed int is available
71804         if unsigned int is, and vice versa.
71805         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71806         unsigned symbols, not on their signed counterparts.
71807         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71808         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71809         (UINT64_C, UINTMAX_C):
71810         Likewise.
71811         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71812         unsigned counterparts.
71813         (Have_long_long, Unsigned): New macros.
71814         (Int): Renamed from INT.
71815         (strtoimax): Use the new macros.
71816         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71817         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71818         * modules/inttypes (inttypes.h): Substitute
71819         HAVE_UNSIGNED_LONG_LONG_INT.
71820         * modules/stdint (stdint.h): Likewise.
71821         (Files): Add m4/ulonglong.m4.
71822
71823 2006-10-10  Bruno Haible  <bruno@clisp.org>
71824
71825         Fix a gcc -Wshadow warning.
71826         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71827         to 'bucket'.
71828         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71829         gl_linked_indexof_from_to): Likewise.
71830         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71831         Likewise.
71832         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71833         Likewise.
71834         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71835         Reported by Eric Blake.
71836
71837 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71838
71839         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71840         for NetBSD.  Problem reported by Bruno Haible.
71841
71842 2006-10-09  Jim Meyering  <jim@meyering.net>
71843
71844         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71845         Patch from Bruno Haible.
71846
71847 2006-10-09  Jim Meyering  <jim@meyering.net>
71848
71849         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71850         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71851         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71852
71853 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71854
71855         Don't include <config.h> twice; this doesn't work in some cases,
71856         e.g., when config.h has "#define intmax_t long long int" and
71857         we include <config.h>, <inttypes.h>, <config.h> in that order.
71858         Problem reported by Matthew Woehlke in:
71859         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71860         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71861         * lib/fts-cycle.c: Don't include config.h.
71862         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71863         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71864         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71865         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71866         inttypes.h.
71867         * lib/xstrtoumax.c: Likewise.
71868         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71869         __strtol and the like, so that this module is more like its siblings.
71870         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71871         Remove; no longer needed now that we assume gnulib inttypes.h.
71872
71873 2006-10-08  Bruno Haible  <bruno@clisp.org>
71874
71875         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71876         option.
71877
71878 2006-10-07  Jim Meyering  <jim@meyering.net>
71879
71880         * modules/inttypes (inttypes.h): Revert what seems to have been
71881         an inadvertent part of today's change: use "|", not "/" in the
71882         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71883
71884 2006-10-07  Bruno Haible  <bruno@clisp.org>
71885
71886         * modules/sublist: New file.
71887
71888 2006-10-07  Bruno Haible  <bruno@clisp.org>
71889
71890         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71891         * modules/argz (argz.h): Likewise.
71892         * modules/arpa_inet (arpa/inet.h): Likewise.
71893         * modules/byteswap (byteswap.h): Likewise.
71894         * modules/configmake (configmake.h): Likewise.
71895         * modules/fcntl (fcntl.h): Likewise.
71896         * modules/fnmatch (fnmatch.h): Likewise.
71897         * modules/getopt (getopt.h): Likewise.
71898         * modules/glob (glob.h): Likewise.
71899         * modules/inttypes (inttypes.h): Likewise.
71900         * modules/netinet_in (netinet/in.h): Likewise.
71901         * modules/poll (poll.h): Likewise.
71902         * modules/stdbool (stdbool.h): Likewise.
71903         * modules/stdint (stdint.h): Likewise.
71904         * modules/sys_select (sys/select.h): Likewise.
71905         * modules/sys_socket (sys/socket.h): Likewise.
71906         * modules/sys_stat (sys/stat.h): Likewise.
71907         * modules/sysexits (sysexits.h): Likewise.
71908         * modules/unistd (unistd.h): Likewise.
71909         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71910         Add a "DO NOT EDIT" comment to the generated file.
71911         (func_import): Likewise for gnulib-comp.m4.
71912
71913 2006-10-07  Bruno Haible  <bruno@clisp.org>
71914
71915         * lib/gl_sublist.h: New file.
71916         * lib/gl_sublist.c: New file.
71917
71918 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71919
71920         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71921         name (relative to the original working directory) and the file
71922         name component (relative to the temporary working directory).  All
71923         callers changed.
71924         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71925         * lib/mkdir-p.c (make_dir_parents): Likewise.
71926         * lib/mkdir-p.h (make_dir_parents): Likewise.
71927
71928 2006-10-06  Eric Blake  <ebb9@byu.net>
71929
71930         Define several macros for use by the clean-temp module.
71931         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71932         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71933         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71934
71935         * lib/clean-temp.h (close_stream_temp): New declaration.
71936         * lib/clean-temp.c (includes): Pull in headers according to what
71937         other modules are in use.
71938         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71939
71940 2006-10-06  Bruno Haible  <bruno@clisp.org>
71941
71942         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71943         instead of fopen, fwriteerror.
71944
71945 2006-10-06  Bruno Haible  <bruno@clisp.org>
71946
71947         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71948         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71949         int.
71950         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71951         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71952         Return an error indicator.
71953         Suggested by Eric Blake.
71954
71955 2006-10-06  Bruno Haible  <bruno@clisp.org>
71956
71957         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71958         Reported by Eric Blake.
71959
71960 2006-10-06  Bruno Haible  <bruno@clisp.org>
71961
71962         * modules/closeout (Description): Mention stderr too.
71963
71964 2006-10-06  Bruno Haible  <bruno@clisp.org>
71965         and Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         * lib/closeout.c (close_stdout): Also close stderr.
71968         * lib/closeout.h: Update comment.
71969
71970 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71971
71972         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71973         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71974         * lib/dirchownmod.c: Include lchown.h.
71975         * lib/lchown.c: Don't include files that lchown.h now includes.
71976         Don't declare chown, since lchown.h now does that.
71977         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71978         (lchown): Define to rpl_chown if lchown is declared but
71979         does not exist.  Declare using a prototype if lchown is not
71980         declared.  Add a copyright notice.
71981         * lib/mkstemp.h: Include <unistd.h>.
71982         * lib/openat.c: Include lchown.h.
71983
71984         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71985         we now test for that separately.
71986         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71987         rather than O_NOFOLLOW, when testing whether it's possible to
71988         avoid a race condition reliably.
71989         * lib/savewd.c (savewd_chdir): Likewise.
71990
71991         Remove macros that are no longer needed now that stdint.h is
71992         reliable.
71993         * lib/fsusage.c (UINTMAX_MAX): Remove.
71994         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71995         * lib/utimecmp.c (SIZE_MAX): Remove.
71996
71997         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71998
71999         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
72000         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
72001         O_NOATIME works.
72002
72003 2006-10-05  Bruno Haible  <bruno@clisp.org>
72004
72005         * lib/gl_list.h (gl_sortedlist_search_from_to,
72006         gl_sortedlist_indexof_from_to): New declarations.
72007         (gl_list_implementation): New fields sortedlist_search_from_to,
72008         sortedlist_indexof_from_to.
72009         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
72010         inline functions.
72011         * lib/gl_list.c (gl_sortedlist_search_from_to,
72012         gl_sortedlist_indexof_from_to): New functions.
72013         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
72014         function.
72015         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
72016         (gl_array_sortedlist_search_from_to): New function.
72017         (gl_array_list_implementation): Update.
72018         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
72019         function.
72020         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
72021         (gl_carray_sortedlist_search_from_to): New function.
72022         (gl_carray_list_implementation): Update.
72023         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
72024         gl_linked_sortedlist_indexof_from_to): New functions.
72025         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72026         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72027         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
72028         gl_tree_sortedlist_indexof_from_to): New functions.
72029         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72030         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72031         Update.
72032         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72033         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
72034         Update.
72035
72036 2006-10-05  Bruno Haible  <bruno@clisp.org>
72037
72038         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
72039         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
72040         (struct gl_list_implementation): Add fields search_from_to,
72041         indexof_from_to. Remove fields search, indexof.
72042         (gl_list_search): Use the search_from_to method.
72043         (gl_list_search_from, gl_list_search_from_to): New functions.
72044         (gl_list_indexof): Use the indexof_from_to method.
72045         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72046         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
72047         (gl_list_search_from, gl_list_search_from_to): New functions.
72048         (gl_list_indexof): Use the indexof_from_to method.
72049         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
72050         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
72051         gl_array_indexof. Add start_index, end_index arguments.
72052         (gl_array_search_from_to): Renamed from gl_array_search. Add
72053         start_index, end_index arguments.
72054         (gl_array_remove, gl_array_list_implementation): Update.
72055         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
72056         gl_carray_indexof. Add start_index, end_index arguments.
72057         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
72058         start_index, end_index arguments.
72059         (gl_carray_remove, gl_carray_list_implementation): Update.
72060         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
72061         gl_linked_search. Add start_index, end_index arguments.
72062         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
72063         start_index, end_index arguments.
72064         (gl_linked_remove): Update.
72065         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
72066         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
72067         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
72068         field to 'size_t'.
72069         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
72070         gl_tree_search. Add start_index, end_index arguments.
72071         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72072         start_index, end_index arguments.
72073         (gl_tree_remove): Update.
72074         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
72075         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
72076         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
72077         function.
72078         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
72079         gl_tree_search. Add start_index, end_index arguments.
72080         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
72081         start_index, end_index arguments.
72082         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
72083         Update.
72084         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
72085
72086 2006-10-05  Bruno Haible  <bruno@clisp.org>
72087
72088         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
72089
72090         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
72091         fwriteerror_temp): New declarations.
72092         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
72093         (descriptors): New variable.
72094         (cleanup): First, close the descriptors.
72095         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
72096         fclose_temp, fwriteerror_temp): New functions.
72097
72098 2006-10-04  Jim Meyering  <jim@meyering.net>
72099
72100         * lib/fts.c (fts_open): Tiny comment change.
72101
72102 2006-10-04  Bruno Haible  <bruno@clisp.org>
72103
72104         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
72105         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
72106         gl_LOCK_BODY.
72107         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
72108         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
72109         gl_LOCK_EARLY_BODY.
72110         (gl_LOCK): Require gl_LOCK_BODY.
72111
72112 2006-10-04  Bruno Haible  <bruno@clisp.org>
72113
72114         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
72115         (gl_oset_search_atleast): New declaration.
72116         (struct gl_oset_implementation): Add field 'search_atleast'.
72117         (gl_oset_search_atleast): New inline function.
72118         * lib/gl_oset.c (gl_oset_search_atleast): New function.
72119         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
72120         (gl_array_oset_implementation): Update.
72121         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
72122         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
72123         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
72124
72125 2006-10-04  Bruno Haible  <bruno@clisp.org>
72126
72127         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
72128
72129 2006-10-03  Bruno Haible  <bruno@clisp.org>
72130
72131         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
72132         from gl_avltreehash_list_implementation.
72133
72134 2006-10-03  Bruno Haible  <bruno@clisp.org>
72135
72136         * lib/gl_oset.c (gl_oset_add): Fix return type.
72137
72138 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
72139
72140         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
72141
72142 2006-10-02  Eric Blake  <ebb9@byu.net>
72143
72144         * modules/strnlen (Depends-on): Add extensions.
72145
72146 2006-10-02  Eric Blake  <ebb9@byu.net>
72147
72148         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
72149         definition in 2.60+.
72150
72151 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
72152
72153         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
72154         checks.
72155
72156 2006-10-02  Bruno Haible  <bruno@clisp.org>
72157
72158         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
72159         to the AUTOMAKE_OPTIONS.
72160         Reported by Jim Meyering.
72161
72162 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
72163
72164         Work around bug in Solaris 10 /proc file system:
72165         /proc/self/fd/NNN/.. isn't the parent directory of
72166         the directory whose file descriptor is NNN.  This needs to
72167         be worked around at run time, not compile time, since a
72168         program might be built on Solaris 8, where things work, and
72169         run on Solaris 10.
72170         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
72171         to use the following interface instead:
72172         (OPENAT_BUFFER_SIZE): New macro.
72173         (openat_proc_name): New function.
72174         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
72175         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
72176         Likewise.
72177         * lib/openat-proc.c: New file.
72178         * modules/openat (Files): Add lib/openat-proc.c.
72179         (Depends-on): Add same-inode, stdbool.
72180         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
72181
72182 2006-09-29  Bruno Haible  <bruno@clisp.org>
72183
72184         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
72185         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
72186         argument. Set stdout_closed before testing for ferror, not after.
72187         (fwriteerror, fwriteerror_no_ebadf): New functions.
72188
72189 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72190
72191         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
72192
72193 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
72194
72195         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
72196         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
72197
72198 2006-09-28  Jim Meyering  <jim@meyering.net>
72199
72200         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
72201         Include <unistd.h>.
72202
72203 2006-09-28  Bruno Haible  <bruno@clisp.org>
72204
72205         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
72206         * modules/linkedhash-list (Depends-on): Likewise.
72207         * modules/rbtreehash-list (Depends-on): Likewise.
72208
72209 2006-09-28  Bruno Haible  <bruno@clisp.org>
72210
72211         * lib/strndup.h: Simplify the redefinition of strndup.
72212         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
72213         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
72214
72215 2006-09-28  Bruno Haible  <bruno@clisp.org>
72216
72217         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
72218         * lib/gl_linkedhash_list.c: Likewise.
72219         * lib/gl_rbtreehash_list.c: Likewise.
72220
72221 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
72222
72223         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
72224         getaddrinfo.
72225
72226         * lib/__fpending.h: Don't include <stdio_ext.h> unless
72227         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
72228         it causes <stdio_ext.h> to cause a compile-time error.
72229         Problem reported by Nelson H. F. Beebe.
72230         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
72231         of HAVE_DECL___PENDING.
72232
72233         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
72234         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
72235         declaration.
72236
72237 2006-09-27  Jim Meyering  <jim@meyering.net>
72238
72239         This file could end up with a definition for a function
72240         named __strndup, rather than rpl_strndup on a system with
72241         incomplete weak_alias support.
72242         * lib/strndup.c (strndup): Rename from __strndup.
72243         Remove #defines that used to map __strndup to strndup.
72244         Don't use K&R prototypes.
72245         Remove LIBC-related code, since this file is not sync'd with glibc.
72246         * lib/strndup.h: Revamp, accordingly.
72247         * m4/strndup.m4: Modernize.
72248
72249 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
72250
72251         * modules/savewd (Depends-on): Add 'raise'.
72252         * lib/savewd.c: Include <signal.h>, for 'raise'.
72253
72254 2006-09-26  Jim Meyering  <jim@meyering.net>
72255
72256         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
72257         when we detect Darwin 8.7.0's acl_get_file bug.
72258         Rearrange to perform the new (below) run-test while $LIBS
72259         contains any acl-related library.  Set USE_ACL at the end.
72260         (gl_ACL_GET_FILE): New function.
72261
72262 2006-09-26  Eric Blake  <ebb9@byu.net>
72263
72264         * lib/verror.c: Include <config.h> unconditionally.
72265
72266 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
72267
72268         * modules/clock-time (Maintainer): Add self.
72269         * modules/getlogin_r (Depends-on): Add extensions.
72270
72271 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72272
72273         * modules/clock-time: New module.
72274         * modules/nanosleep (Depends-on): Add clock-time.
72275         * modules/gethrxtime (Depends-on): Likewise.
72276         * modules/gettime (Depends-on): Likewise.
72277         * modules/settime (Depends-on): Likewise.
72278
72279         * modules/fts-lgpl: Depend on openat.
72280         * modules/mkancesdirs: Depend on savewd.
72281         * modules/mkdir-p: Likewise.
72282
72283 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72284
72285         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
72286
72287         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
72288         `gl_have_arbitrary_file_name_length_limit' to
72289         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
72290         actually works between configure runs.
72291
72292 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72293             Bruno Haible  <bruno@clisp.org>
72294
72295         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
72296
72297 2006-09-25  Jim Meyering  <jim@meyering.net>
72298
72299         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
72300         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
72301
72302 2006-09-25  Eric Blake  <ebb9@byu.net>
72303
72304         * gnulib-tool (func_import, func_create_testdir): Fix typos in
72305         exec's in 2006-09-18 patch when shuffling fds.
72306
72307 2006-09-25  Bruno Haible  <bruno@clisp.org>
72308
72309         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
72310         Reported by Jim Meyering.
72311
72312 2006-09-24  Jim Meyering  <jim@meyering.net>
72313
72314         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
72315         compare a pointer against a literal "0".  That caused failures with
72316         at least HP-UX's hpcc.
72317
72318 2006-09-22  Simon Josefsson  <jas@extundo.com>
72319
72320         * modules/gc-sha1:
72321         * modules/gc-md4:
72322         * modules/gc-hmac-sha1:
72323         * modules/gc-hmac-md5:
72324         * modules/gc-des:
72325         * modules/gc-arcfour: Distribute more files.
72326
72327 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72328
72329         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
72330         (gl_linked_iterator_from_to): Initialize struct completely.
72331         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
72332         (gl_tree_iterator_from_to): Likewise
72333         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
72334         * lib/gl_array_list.c [lint] (gl_array_iterator)
72335         (gl_array_iterator_from_to): Likewise.
72336         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
72337         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
72338         (gl_carray_iterator_from_to): Likewise.
72339
72340         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
72341         * lib/md4.c (md4_process_block): Remove unused variable.
72342         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
72343         parentheses for clarity.
72344
72345 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72346
72347         * modules/bison-i18n (Depends-on): Add gettext.
72348
72349 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72350
72351         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
72352         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
72353         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
72354         also add missing comma that caused broken test.
72355         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
72356         stdlib.h, for `abort'.
72357         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
72358         variables.
72359         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
72360         include unistd.h if present, for `rmdir'.
72361         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
72362         variables.
72363         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
72364         in the process include standard headers for prototypes.
72365         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
72366         gets declared on GNU/Linux.
72367         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
72368         unistd.h, for `rmdir'.
72369         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
72370
72371         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
72372         always true.
72373         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
72374
72375         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
72376
72377 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72378
72379         * gnulib-tool (func_version): Create output all at once.  This
72380         may help avoid triggering unnecessary SIGPIPEs, and at any
72381         rate it doesn't hurt.
72382
72383 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72384             Bruno Haible  <bruno@clisp.org>
72385
72386         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
72387         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72388         * m4/signed.m4 (bh_C_SIGNED): Likewise.
72389
72390         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
72391         (gl_FUNC_VASPRINTF): Invoke it.
72392
72393 2006-09-22  Bruno Haible  <bruno@clisp.org>
72394
72395         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
72396         getloadavg.c as first argument.
72397
72398 2006-09-22  Bruno Haible  <bruno@clisp.org>
72399
72400         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
72401         at the beginning of the gl_INIT macro.
72402         * modules/getloadavg (configure.ac): Pass $gl_source_base to
72403         gl_GETLOADAVG.
72404
72405 2006-09-22  Bruno Haible  <bruno@clisp.org>
72406
72407         * gnulib-tool (func_create_megatestdir): Don't include the config-h
72408         module.
72409         Suggested by Ralf Wildenhues.
72410
72411 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
72412
72413         Import this patch from libc:
72414
72415         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
72416
72417         * lib/regex_internal.c (re_string_reconstruct): Handle
72418         offset < pstr->valid_raw_len && pstr->offsets_needed case.
72419         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
72420         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
72421         re_string_context_at.
72422
72423         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
72424         now requires it.
72425         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
72426         gl_REGEX now does it for us.
72427         (gl_REGEX): Add test taken from
72428         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
72429
72430         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
72431         Check that large offsets work.  Modernize Autoconf usages.
72432         Prefer "yes" to mean a good thing rather than a bad.
72433         Don't put "#define mkstemp" in config.h, as this might interfere
72434         with standard system headers that "#define mkstemp mkstemp64".
72435
72436         * modules/mkstemp (Depends-on): Add extensions, so that
72437         mkstemp is visible on some platforms.
72438         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
72439         (Include): Change to "mkstemp.h" from <stdlib.h>.
72440         (Files): Add mkstemp.h.
72441
72442         * lib/mkstemp.h: New file, since some standard headers
72443         #define mkstemp.
72444         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72445         Include "mkstemp.h".
72446         Make the _LIBC code resemble glibc original more,
72447         e.g., use K&R style.
72448         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72449         (mkstemp): Remove, since mkstemp.h does this for us.
72450         * lib/stdlib--.h: Include mkstemp.h.
72451
72452         Import this patch from libc:
72453
72454         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72455
72456         * lib/tempname.c (__gen_tempname): Change attempts_min
72457         into a macro.  Use preprocessor to decide how to initialize
72458         attempts [Coverity CID 67].
72459
72460 2006-09-20  Bruno Haible  <bruno@clisp.org>
72461
72462         * lib/mkdtemp.c: Import from libc.
72463         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72464                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72465                 attempts_min into a macro.  Use preprocessor to decide how to
72466                 initialize attempts [Coverity CID 67].
72467         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72468                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72469                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72470
72471 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72472
72473         * gnulib-tool (func_exit): New function, to allow to pass the
72474         exit status portably through the trap.  Use everywhere.
72475         (--help, --version): Signal a write error.
72476         (trap): catch SIGPIPE, for write errors.
72477         Exit at the end of the trap, with the correct exit status.
72478
72479 2006-09-19  Karl Berry  <karl@gnu.org>
72480
72481         * doc/gnulib.texi: note about the license texinfo files.
72482
72483 2006-09-19  Eric Blake  <ebb9@byu.net>
72484
72485         * gnulib-tool: Avoid space-tab.
72486
72487 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72488
72489         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72490         that prevented coreutils 6.1 from building.  Problem reported
72491         by Petter Reinholdtsen.
72492
72493 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72494
72495         * gnulib-tool (avoidlist): Fix typo that broke options like
72496         --avoid=lock that are used by coreutils bootstrap.
72497
72498 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72499
72500         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72501         more systematically.
72502
72503 2006-09-18  Jim Meyering  <jim@meyering.net>
72504
72505         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72506
72507 2006-09-18  Bruno Haible  <bruno@clisp.org>
72508
72509         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72510
72511 2006-09-18  Bruno Haible  <bruno@clisp.org>
72512
72513         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72514         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72515         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72516         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72517         * m4/gettext.m4: Require autoconf >= 2.52.
72518         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72519         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72520         of gl_cv_header_inttypes_h.
72521
72522 2006-09-18  Bruno Haible  <bruno@clisp.org>
72523
72524         * lib/javaversion.c: Include configmake.h.
72525
72526 2006-09-18  Bruno Haible  <bruno@clisp.org>
72527
72528         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72529         avoid that the while loops be executed in a subshell.
72530
72531 2006-09-18  Bruno Haible  <bruno@clisp.org>
72532
72533         * MODULES.html.sh (func_module): Break long lines.
72534         Suggested by Bruce Korb <bkorb@gnu.org>.
72535
72536 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72537
72538         Speed up by a factor of 1.12.
72539         * gnulib-tool (nl): New variable.
72540         (func_import): Rewrite include directive extraction to only read each
72541         directive once.
72542
72543 2006-09-17  Bruno Haible  <bruno@clisp.org>
72544
72545         * modules/javaversion (Makefile.am): Remove DEFS setting.
72546         (Depends-on): Add configmake, for PKGDATADIR definition.
72547
72548 2006-09-17  Bruno Haible  <bruno@clisp.org>
72549
72550         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72551
72552 2006-09-17  Bruno Haible  <bruno@clisp.org>
72553
72554         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72555         (func_modules_transitive_closure, func_modules_add_dummy,
72556         func_modules_to_filelist, func_import, func_create_testdir,
72557         func_create_megatestdir, ...): Use it wherever possible.
72558         Suggested by Ralf Wildenhues.
72559
72560 2006-09-16  Karl Berry  <karl@gnu.org>
72561
72562         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72563         to avoid sectioning errors.
72564         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72565         [ifinfo]: blank line after @center-ed titles.
72566         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72567         Spell FSF address consistently with others.
72568         (These changes approved by rms.)
72569
72570 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72571
72572         Speed up by a factor of 1.61.
72573         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72574         already checked module names again.
72575
72576 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72577
72578         Speed up by a factor of 1.13.
72579         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72580         for new_files, and the input to func_add_or_update.
72581
72582 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72583
72584         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72585         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72586
72587 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72588
72589         * modules/mkancesdirs (Depends-on): Add fcntl.
72590         * modules/savewd: New file.
72591         * MODULES.html.sh (File system functions): Add savewd.
72592
72593         * modules/configmake (Makefile.am): Add support for the
72594         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72595
72596 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72597
72598         * m4/savewd.m4: New file.
72599
72600 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72601
72602         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72603         (dirchownmod): New arg FD.  All callers changed.
72604         Use FD rather than opening the directory ourself, as opening is
72605         now the caller's responsibility.
72606         * lib/dirchownmod.h: Likewise.
72607         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72608         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72609         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72610         (test_dir): Remove.
72611         (mkancesdirs): Return length of prefix of FILE that has already
72612         been made, or -2 if there is a child doing the work.  Redo
72613         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72614         ".", and treat ".." specially since it might stray back into
72615         already-created areas.  Use a subprocess if necessary.  New arg
72616         WD; all users changed.  MAKE_DIR function should now return 1
72617         if it creates a directory that is not readable.  Return -2 if
72618         a child process is spun off.
72619         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72620         Adjust signature to match code.
72621         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72622         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72623         all users changed.
72624         * lib/savewd.c, lib/savewd.h: New files.
72625
72626 2006-09-15  Jim Meyering  <jim@meyering.net>
72627
72628         * modules/rename-dest-slash: New module.
72629         * MODULES.html.sh (posix_compat): Add it here.
72630
72631         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72632
72633 2006-09-15  Jim Meyering  <jim@meyering.net>
72634
72635         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72636         file.
72637
72638         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72639
72640 2006-09-15  Jim Meyering  <jim@meyering.net>
72641
72642         * lib/rename-dest-slash.c (has_trailing_slash): Use
72643         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72644         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72645         test before testing whether SRC is a directory.
72646         Suggestions from Bruno Haible.
72647
72648         Avoid a warning about an unused variable.
72649         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72650         into the #ifdef block where it's used.
72651
72652         * lib/rename-dest-slash.c: New file.
72653
72654 2006-09-14  Bruno Haible  <bruno@clisp.org>
72655
72656         * lib/allocsa.c: Include <config.h> unconditionally.
72657         * lib/asnprintf.c: Likewise.
72658         * lib/asprintf.c: Likewise.
72659         * lib/c-strcasecmp.c: Likewise.
72660         * lib/c-strcasestr.c: Likewise.
72661         * lib/c-strncasecmp.c: Likewise.
72662         * lib/c-strstr.c: Likewise.
72663         * lib/classpath.c: Likewise.
72664         * lib/clean-temp.c: Likewise.
72665         * lib/concatpath.c: Likewise.
72666         * lib/copy-file.c: Likewise.
72667         * lib/csharpcomp.c: Likewise.
72668         * lib/csharpexec.c: Likewise.
72669         * lib/execute.c: Likewise.
72670         * lib/fatal-signal.c: Likewise.
72671         * lib/findprog.c: Likewise.
72672         * lib/fwriteerror.c: Likewise.
72673         * lib/gl_array_list.c: Likewise.
72674         * lib/gl_array_oset.c: Likewise.
72675         * lib/gl_avltree_list.c: Likewise.
72676         * lib/gl_avltree_oset.c: Likewise.
72677         * lib/gl_avltreehash_list.c: Likewise.
72678         * lib/gl_carray_list.c: Likewise.
72679         * lib/gl_linked_list.c: Likewise.
72680         * lib/gl_linkedhash_list.c: Likewise.
72681         * lib/gl_list.c: Likewise.
72682         * lib/gl_oset.c: Likewise.
72683         * lib/gl_rbtree_list.c: Likewise.
72684         * lib/gl_rbtree_oset.c: Likewise.
72685         * lib/gl_rbtreehash_list.c: Likewise.
72686         * lib/imaxabs.c: Likewise.
72687         * lib/imaxdiv.c: Likewise.
72688         * lib/javacomp.c: Likewise.
72689         * lib/javaexec.c: Likewise.
72690         * lib/javaversion.c: Likewise.
72691         * lib/linebreak.c: Likewise.
72692         * lib/localcharset.c: Likewise.
72693         * lib/lock.c: Likewise.
72694         * lib/mbchar.c: Likewise.
72695         * lib/mbswidth.c: Likewise.
72696         * lib/mkdtemp.c: Likewise.
72697         * lib/pipe.c: Likewise.
72698         * lib/printf-args.c: Likewise.
72699         * lib/printf-parse.c: Likewise.
72700         * lib/progname.c: Likewise.
72701         * lib/progreloc.c: Likewise.
72702         * lib/readlink.c: Likewise.
72703         * lib/sh-quote.c: Likewise.
72704         * lib/stpcpy.c: Likewise.
72705         * lib/stpncpy.c: Likewise.
72706         * lib/strcasecmp.c: Likewise.
72707         * lib/strcasestr.c: Likewise.
72708         * lib/strcspn.c: Likewise.
72709         * lib/striconv.c: Likewise.
72710         * lib/strncasecmp.c: Likewise.
72711         * lib/strnlen1.c: Likewise.
72712         * lib/strstr.c: Likewise.
72713         * lib/strtok_r.c: Likewise.
72714         * lib/tls.c: Likewise.
72715         * lib/tmpdir.c: Likewise.
72716         * lib/unicodeio.c: Likewise.
72717         * lib/unsetenv.c: Likewise.
72718         * lib/vasnprintf.c: Likewise.
72719         * lib/vasprintf.c: Likewise.
72720         * lib/wait-process.c: Likewise.
72721         * lib/xallocsa.c: Likewise.
72722         * lib/xsetenv.c: Likewise.
72723         * lib/xstriconv.c: Likewise.
72724
72725 2006-09-13  Simon Josefsson  <jas@extundo.com>
72726
72727         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72728         that internally, suggested by Ralf Wildenhues
72729         <Ralf.Wildenhues@gmx.de>.
72730
72731 2006-09-13  Simon Josefsson  <jas@extundo.com>
72732
72733         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72734         @LIBOBJS@.
72735         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72736
72737 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72738
72739         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72740         longer worry about uses that don't define HAVE_CONFIG_H.
72741         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72742         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72743         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72744         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72745         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72746         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72747         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72748         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72749         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72750         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72751         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72752         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72753         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72754         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72755         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72756         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72757         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72758         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72759         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72760         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72761         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72762         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72763         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72764         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72765         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72766         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72767         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72768         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72769         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72770         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72771         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72772         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72773         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72774         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72775         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72776         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72777         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72778         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72779         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72780         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72781         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72782         Likewise.
72783
72784 2006-09-13  Eric Blake  <ebb9@byu.net>
72785
72786         * lib/getopt.c: Fix typo in last commit.
72787
72788 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72789
72790         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72791         dgettext.
72792
72793 2006-09-12  Jim Meyering  <jim@meyering.net>
72794
72795         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72796         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72797         Reported by Nelson H. F. Beebe.
72798
72799 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72800
72801         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72802         program_invocation_name and program_invocation_short_name are
72803         initialized.
72804         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72805         and program_invocation_short_name to argp.h, so they are visible
72806         to user programs.
72807         * lib/argp.h: Likewise
72808
72809 2006-09-10  Bruno Haible  <bruno@clisp.org>
72810
72811         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72812         m4/inttypes_h.m4, m4/uintmax_t.m4.
72813
72814 2006-09-10  Bruno Haible  <bruno@clisp.org>
72815
72816         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72817         gl_AC_TYPE_UINTMAX_T.
72818
72819 2006-09-10  Bruno Haible  <bruno@clisp.org>
72820
72821         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72822
72823 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72824
72825         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72826         convention.  Text proposed by Bruno Haible.
72827         (struct argp_option): Document the use of N_() wrappers.
72828
72829         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72830         '\v', and translate the two parts separately, instead of feeding
72831         the whole string to gettext.  This allows to exclude
72832         '\v' from the strings visible to the translator by writing doc
72833         strings as N_("..") "\v" N_("..").
72834
72835 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72836
72837         * config/srclist.txt: Undo latest change; the bug was fixed.
72838
72839 2006-09-09  Bruno Haible  <bruno@clisp.org>
72840
72841         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72842         assignments if building a library without libtool.
72843         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72844         in func_emit_lib_Makefile_am.
72845         (func_import): When building a static library libfoo.a, arrange to
72846         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72847         (func_create_testdir): Likewise.
72848         * modules/gc (configure.ac, Makefile.am): If building statically,
72849         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72850         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72851         * modules/striconv (configure.ac, Makefile.am): Likewise.
72852         Based on a suggestion by Ralf Wildenhues.
72853
72854 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72855
72856         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72857         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72858         Also:
72859
72860         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72861         Add year_2050_test to catch glibc bug 2821
72862         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72863
72864         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72865         Prefer #ifdef to #if.
72866
72867         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72868         Return from 'main' instead of calling 'exit'.
72869
72870 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72871
72872         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72873         returned the maximum time_t value rather than (time_t) -1.
72874         Problem originally reported by William Bardwell
72875         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72876
72877         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72878         Moved to here ...
72879         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72880         ... from here.
72881
72882 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72883
72884         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72885         2821 is fixed.
72886
72887 2006-09-08  Jim Meyering  <jim@meyering.net>
72888
72889         Don't make generated files read-only.  That would bother too many
72890         people.  However, do retain the ability to work when targets are
72891         read-only: remove the destination and temporary files before writing
72892         them (when generated via sed or echo), or by using the -f option for
72893         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72894         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72895         * modules/byteswap, modules/configmake, modules/fcntl:
72896         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72897         * modules/localcharset, modules/netinet_in, modules/poll:
72898         * modules/stdbool, modules/stdint, modules/sys_select:
72899         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72900
72901 2006-09-08  Jim Meyering  <jim@meyering.net>
72902
72903         Avoid new build failure on FreeBSD 6.0.
72904         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72905         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72906         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72907
72908 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72909
72910         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72911
72912 2006-09-07  Jim Meyering  <jim@meyering.net>
72913
72914         Fix global typo in last change: use chmod u-w, not chmod u-x.
72915         Spotted by Paul Eggert and Bruce Korb.
72916         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72917         * modules/byteswap, modules/configmake, modules/fcntl:
72918         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72919         * modules/localcharset, modules/netinet_in, modules/poll:
72920         * modules/stdbool, modules/stdint, modules/sys_select:
72921         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72922
72923 2006-09-06  Jim Meyering  <jim@meyering.net>
72924
72925         Make generated files be read-only.
72926         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72927         Ensure that each generated file is now read-only.
72928         * modules/argz: Likewise.
72929         * modules/arpa_inet: Likewise.
72930         * modules/byteswap: Likewise.
72931         * modules/configmake: Likewise.
72932         * modules/fcntl: Likewise.
72933         * modules/fnmatch: Likewise.
72934         * modules/getopt: Likewise.
72935         * modules/glob: Likewise.
72936         * modules/inttypes: Likewise.
72937         * modules/netinet_in: Likewise.
72938         * modules/poll: Likewise.
72939         * modules/stdbool: Likewise.
72940         * modules/stdint: Likewise.
72941         * modules/sys_select: Likewise.
72942         * modules/sys_socket: Likewise.
72943         * modules/sys_stat: Likewise.
72944         * modules/sysexits: Likewise.
72945         * modules/localcharset: Same as above, but continue using temporary
72946         file named "t-$@" (why different?) rather than the "$@-t" used
72947         everywhere else.
72948
72949         * modules/sysexits (Makefile.am): Replace literal occurrences
72950         of "sysexit.h" more readable, and more consistent, "$@".
72951
72952 2006-09-06  Bruno Haible  <bruno@clisp.org>
72953
72954         * modules/striconv: New file.
72955         * modules/xstriconv: New file.
72956         * MODULES.html.sh (Internationalization functions): Add striconv,
72957         xstriconv.
72958
72959 2006-09-06  Bruno Haible  <bruno@clisp.org>
72960
72961         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72962         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72963         not using libtool correctly.
72964
72965 2006-09-06  Bruno Haible  <bruno@clisp.org>
72966
72967         * lib/striconv.h: New file.
72968         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72969         iconvstring.c.
72970         * lib/xstriconv.h: New file.
72971         * lib/xstriconv.c: New file.
72972
72973 2006-09-06  Bruno Haible  <bruno@clisp.org>
72974
72975         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72976         lib_..._LDFLAGS.
72977
72978 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72979
72980         * lib/argz_.h: Sync from Libtool.
72981
72982         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72983                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72984
72985         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72986
72987 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72988
72989         * modules/trim: New file.
72990
72991 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72992
72993         * lib/trim.h: New file.
72994         * lib/trim.c: New file.
72995
72996 2006-09-05  Bruno Haible  <bruno@clisp.org>
72997
72998         * MODULES.html.sh (String handling): Add trim.
72999
73000 2006-09-04  Karl Berry  <karl@gnu.org>
73001
73002         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
73003         until next release.
73004
73005 2006-09-03  Bruno Haible  <bruno@clisp.org>
73006
73007         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
73008         correctly.
73009
73010 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73011
73012         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
73013         not gl_GETLOADAVG.  Omit unneeded semicolons.
73014         Problems reported by Ralf Wildenhues in
73015         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73016         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
73017         at the end, which is the usual gnulib style.
73018
73019         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
73020         of doing all the work ourselves.
73021         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
73022         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
73023
73024 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73025
73026         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
73027         Problem reported by Ralf Wildenhues in
73028         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
73029
73030         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
73031         HAVE_STRUCT_STATFS_F_FSTYPENAME.
73032
73033 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
73034
73035         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
73036         yesterday's patch by changing test -n to test -z.
73037
73038 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73039
73040         * modules/getloadavg (Files): Add m4/getloadavg.m4.
73041         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
73042         the former is now obsolescent.
73043
73044         * modules/chdir-long (Depends-on): Add fcntl.
73045
73046 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73047
73048         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
73049         obsolescent, and programs should use gnulib instead.
73050         * m4/getloadavg.m4: New file, with contents taken from Autoconf
73051         but with prefixes changed.
73052
73053 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
73054
73055         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
73056         or stdbool.h, because they might not exist while configuring.
73057
73058         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
73059         Don't include unistd.h or limits.h; not needed, since chdir-long.h
73060         does that for us.
73061         (O_DIRECTORY): Remove.
73062
73063 2006-08-31  Eric Blake  <ebb9@byu.net>
73064
73065         * gnulib-tool: Don't let emacs change spaces to TAB.
73066
73067 2006-08-31  Bruno Haible  <bruno@clisp.org>
73068
73069         * gnulib-tool: When calling func_import more than once, do it in a
73070         subshell.
73071         Reported by Eric Blake <ebb9@byu.net>.
73072
73073 2006-08-31  Bruno Haible  <bruno@clisp.org>
73074
73075         * gnulib-tool (nl): Remove variable.
73076         (sed_transform_lib_file): Use more robust test for config-h module.
73077         (func_import): Fix typo in 2006-08-25 patch.
73078
73079 2006-08-31  Bruno Haible  <bruno@clisp.org>
73080
73081         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
73082         specified, augment Makefile.am variables instead of assigning them.
73083
73084 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73085
73086         Work around a bug in both the Linux and SunOS 64-bit kernels:
73087         nanosleep mishandles sleeps for longer than 2**31 seconds.
73088         Problem reported by Frank v Waveren in
73089         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73090         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
73091         Check for nanosleep bug.
73092         (LIB_NANOSLEEP): Append clock_gettime library if needed.
73093
73094 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73095
73096         Work around a bug in both the Linux and SunOS 64-bit kernels:
73097         nanosleep mishandles sleeps for longer than 2**31 seconds.
73098         Problem reported by Frank v Waveren in
73099         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
73100         * lib/nanosleep.c (BILLION): New constant.
73101         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
73102         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
73103         implementation.
73104
73105 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73106
73107         * modules/nanosleep (Depends-on): Add gettime.
73108
73109 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
73110         and Simon Josefsson  <jas@extundo.com>
73111         and Oskar Liljeblad  <oskar@osk.mine.nu>
73112
73113         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
73114         * gnulib-tool (func_import): New license type 'unmodifiable license
73115         text'.
73116         * modules/fdl: Use it.  Longer description.
73117         * module/gpl, module/lgpl: New files.
73118
73119 2006-08-30  Jim Meyering  <jim@meyering.net>
73120
73121         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
73122         shadowing the parameter.
73123
73124 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73125
73126         Sync from Libtool:
73127
73128         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73129
73130         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
73131         sharing with gnulib.  Report by Eric Blake.
73132
73133 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73134
73135         * modules/isapipe: New file.
73136         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
73137
73138 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73139
73140         * modules/configmake (Makefile.am): Add a comment, and omit
73141         the CONFIGMAKE_ prefix from generated macro names.  Suggested
73142         by Bruno Haible.
73143
73144 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73145
73146         * m4/isapipe.m4: New file.
73147
73148 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
73149
73150         * lib/isapipe.c, lib/isapipe.h: New files.
73151
73152 2006-08-29  Jim Meyering  <jim@meyering.net>
73153
73154         * modules/configmake (Makefile.am): Make configmake.h depend on
73155         Makefile.  Otherwise, a stale configmake.h could hang around.
73156
73157 2006-08-29  Eric Blake  <ebb9@byu.net>
73158
73159         * lib/error.c (error_at_line, print_errno_message): Match libc, after
73160         resolution of upstream bug 3044.
73161
73162 2006-08-29  Bruno Haible  <bruno@clisp.org>
73163
73164         * modules/localcharset (Depends-on): Add configmake.
73165         (Makefile.am): Remove setting of LIBDIR through DEFS.
73166
73167 2006-08-29  Bruno Haible  <bruno@clisp.org>
73168
73169         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
73170         defined.
73171
73172 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73173
73174         * modules/fcntl: New file.
73175         * modules/chdir-safer (Depends-on): Add fcntl.
73176         * modules/fts: Likewise.
73177         * modules/mkdir-p: Likewise.
73178
73179         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
73180         This undoes the most recent change, since we're now addressing the
73181         problem in a different way.
73182
73183         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
73184         into output, since the output might be called Makefile.am even
73185         if $makefile_name is something different.
73186         (func_import): Use $makefile_am rather than
73187         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
73188         empty.
73189
73190         * modules/inttypes (Files): Add m4/inttypes-h.m4.
73191
73192 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73193
73194         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
73195         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
73196         recent change to stdint.m4, since we're now addressing the problem in a
73197         different way.
73198
73199 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73200
73201         * m4/fcntl_h.m4: New file.
73202
73203 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
73204
73205         * lib/fcntl_.h: New file.
73206         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
73207         the fcntl module.
73208         * lib/dirchownmod.c: Likewise.
73209         * lib/fts.c: Likewise.
73210
73211         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
73212         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
73213         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
73214         just before including <inttypes.h>, to avoid circular inclusion.
73215
73216 2006-08-28  Jim Meyering  <jim@meyering.net>
73217
73218         * doc/visibility.texi: Actually read and correct the grammar of the
73219         sentence affected by yesterday's change.
73220
73221 2006-08-28  Eric Blake  <ebb9@byu.net>
73222
73223         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
73224         needs wrapper.
73225
73226 2006-08-28  Eric Blake  <ebb9@byu.net>
73227
73228         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
73229
73230 2006-08-28  Eric Blake  <ebb9@byu.net>
73231
73232         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
73233
73234 2006-08-28  Bruno Haible  <bruno@clisp.org>
73235
73236         * modules/c-strstr: New file, from GNU gettext.
73237         * MODULES.html.sh (String handling): Add c-strstr.
73238
73239 2006-08-28  Bruno Haible  <bruno@clisp.org>
73240
73241         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
73242         macros.
73243         Reported by Eric Blake.
73244
73245 2006-08-28  Bruno Haible  <bruno@clisp.org>
73246
73247         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
73248         (VASNPRINTF): Return a string of length > INT_MAX without failing.
73249         * lib/vasprintf.c: Include errno.h, limits.h.
73250         (EOVERFLOW): New fallback definition.
73251         (vasprintf): Test here whether the string length is > INT_MAX.
73252         * lib/vsnprintf.c: Include errno.h, limits.h.
73253         (EOVERFLOW): New fallback definition.
73254         (vsnprintf): Fix bug when generated string was too long for the buffer.
73255         Test here whether the string length is > INT_MAX.
73256
73257 2006-08-28  Bruno Haible  <bruno@clisp.org>
73258
73259         * lib/inttypes_.h (SCNX*): Remove definitions.
73260         Reported by Eric Blake.
73261
73262 2006-08-28  Bruno Haible  <bruno@clisp.org>
73263
73264         * lib/c-strstr.h: New file, from GNU gettext.
73265         * lib/c-strstr.c: New file, from GNU gettext.
73266
73267 2006-08-28  Bruno Haible  <bruno@clisp.org>
73268
73269         * gnulib-tool: Reorder some statements.
73270
73271 2006-08-28  Bruno Haible  <bruno@clisp.org>
73272
73273         * gnulib-tool: New option --makefile-name.
73274         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
73275         $makefile_name.
73276         (func_import): Write $makefile_name to the cache file, and read it from
73277         there unless explicitly specified. Use $makefile_name as file name
73278         instead of Makefile.am. Adjust the recommendations accordingly.
73279
73280 2006-08-28  Bruno Haible  <bruno@clisp.org>
73281
73282         * gnulib-tool (func_verify_module): Check against misapplying patch.
73283
73284 2006-08-28  Bruno Haible  <bruno@clisp.org>
73285
73286         * gnulib-tool (func_relativize, func_relconcat): New functions.
73287         Give an error if --local-dir is given with --update.
73288         Remove trailing slashes from $local_gnulib_dir.
73289         (func_import): Store the relativized $local_gnulib_dir in
73290         gnulib-cache.m4, and read it from there if not specified explicitly.
73291
73292 2006-08-28  Bruno Haible  <bruno@clisp.org>
73293
73294         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
73295         is the current directory. Respect also $local_gnulib_dir.
73296
73297 2006-08-28  Bruno Haible  <bruno@clisp.org>
73298             Simon Josefsson  <jas@extundo.com>
73299
73300         BeOS portability.
73301         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
73302
73303 2006-08-27  Jim Meyering  <jim@meyering.net>
73304
73305         * doc/visibility.texi: Remove duplicate word: "pointer".
73306
73307 2006-08-26  Bruno Haible  <bruno@clisp.org>
73308
73309         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
73310         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
73311         (Makefile.am): Create inttypes.h from inttypes_.h.
73312         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
73313
73314         * modules/imaxabs: New file.
73315
73316         * modules/imaxdiv: New file.
73317
73318 2006-08-26  Bruno Haible  <bruno@clisp.org>
73319
73320         * m4/inttypes.m4: New file.
73321         * m4/_inttypes_h.m4: Remove file.
73322         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
73323         PRI_MACROS_BROKEN.
73324         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
73325
73326         * m4/imaxabs.m4: New file.
73327
73328         * m4/imaxdiv.m4: New file.
73329
73330 2006-08-26  Bruno Haible  <bruno@clisp.org>
73331
73332         * lib/inttypes_.h: New file.
73333         * lib/inttypes.h: Remove file.
73334         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
73335
73336         * lib/imaxabs.c: New file.
73337
73338         * lib/imaxdiv.c: New file.
73339
73340 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73341
73342         New config-h module, so that "make" output needn't be cluttered
73343         by -DHAVE_CONFIG_H.
73344         * MODULES.html.sh (Support for building libraries and executables):
73345         Add config-h.
73346         * modules/config-h: New file.
73347         * gnulib-tool (nl, sed_transform_lib_file): New vars.
73348         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
73349         the config-h module is used.
73350
73351         New configmake module, so that "make" output needn't be cluttered
73352         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
73353         * MODULES.html.sh (Support for building libraries and executables):
73354         Add configmake.
73355         * modules/configmake: New file.
73356
73357 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
73358
73359         * m4/config-h.m4: New file.
73360
73361 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73362
73363         * config/srclist.txt: Add elisp-comp.
73364
73365 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
73366
73367         * MODULES.html.sh (Support for building libraries and executables):
73368         Add elisp-comp.
73369         * build-aux/elisp-comp: New file.
73370         * modules/elisp-comp: New file.
73371
73372 2006-08-24  Bruno Haible  <bruno@clisp.org>
73373
73374         * gnulib-tool (func_create_testdir): Use non-default values of
73375         sourcebase and m4base.
73376
73377 2006-08-24  Bruno Haible  <bruno@clisp.org>
73378
73379         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
73380         HTML structure.
73381
73382 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
73383
73384         * modules/openat (Depends-on): Add lchown.
73385
73386 2006-08-23  Bruno Haible  <bruno@clisp.org>
73387
73388         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
73389         of gl_LOCK_EARLY instead of gl_LOCK.
73390
73391 2006-08-23  Bruno Haible  <bruno@clisp.org>
73392
73393         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
73394         on OSF/1 to no.
73395         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
73396
73397 2006-08-23  Bruno Haible  <bruno@clisp.org>
73398
73399         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
73400         as unusable.
73401
73402         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
73403         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
73404         (gl_LOCK): New macro.
73405
73406 2006-08-22  Simon Josefsson  <jas@extundo.com>
73407
73408         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
73409         to md5 module.
73410
73411 2006-08-22  Simon Josefsson  <jas@extundo.com>
73412
73413         * MODULES.html.sh: Add "Support for maintaining and release
73414         projects".
73415
73416         * build-aux/gnupload: New file, from coreutils.
73417
73418 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73419
73420         Avoid the need for AC_LIBSOURCES in m4 macros.
73421         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
73422         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
73423         * modules/check-version (EXTRA_DIST): Add check-version.h.
73424         * modules/crc (EXTRA_DIST): Add crc.h.
73425         * modules/des (EXTRA_DIST): Add des.h.
73426         * modules/gc (EXTRA_DIST): Add gc.h.
73427         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
73428         * modules/getline (EXTRA_DIST): Add getline.h.
73429         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
73430         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
73431         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
73432         * modules/md2 (EXTRA_DIST): Add md2.h.
73433         * modules/md4 (EXTRA_DIST): Add md4.h.
73434         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
73435         * modules/read-file (EXTRA_DIST): Add read-file.h.
73436         * modules/readline (EXTRA_DIST): Add readline.h.
73437         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
73438         rijndael-api-fst.h.
73439
73440 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73441
73442         * m4/rijndael.m4 (gl_ARCFOUR):
73443         * m4/arctwo.m4 (gl_ARCTWO):
73444         * m4/check-version.m4 (gl_CHECK_VERSION):
73445         * m4/crc.m4 (gl_CRC):
73446         * m4/des.m4 (gl_DES):
73447         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73448         * m4/gc.m4 (gl_GC):
73449         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73450         * m4/getline.m4 (gl_FUNC_GETLINE):
73451         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73452         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73453         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73454         * m4/md2.m4 (gl_MD2):
73455         * m4/md4.m4 (gl_MD4):
73456         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73457         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73458         * m4/readline.m4 (gl_FUNC_READLINE):
73459         * m4/rijndael.m4 (gl_RIJNDAEL):
73460         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73461         to get the necessary .h files and whatnot.
73462
73463 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73464
73465         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73466         gnulib rather than the other way around.
73467         * config/srclistvars.sh (COREUTILS): Remove.
73468
73469 2006-08-22  Jim Meyering  <jim@meyering.net>
73470
73471         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73472
73473         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73474
73475 2006-08-22  Eric Blake  <ebb9@byu.net>
73476
73477         * modules/regexprops-generic: New file.
73478         * MODULES.html.sh (Support for building documentation): List it.
73479
73480 2006-08-22  Eric Blake  <ebb9@byu.net>
73481
73482         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73483         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73484         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73485         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73486
73487 2006-08-22  Bruno Haible  <bruno@clisp.org>
73488
73489         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73490         and lib_LTLIBRARIES like the other lib_* variables.
73491
73492 2006-08-22  Bruno Haible  <bruno@clisp.org>
73493
73494         * build-aux/x-to-1.in: New file, from GNU gettext.
73495
73496 2006-08-22  Bruno Haible  <bruno@clisp.org>
73497
73498         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73499         <utmpx.h> exists.
73500
73501 2006-08-22  Bruno Haible  <bruno@clisp.org>
73502
73503         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73504         <utmpx.h> exists.
73505
73506 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73507
73508         BeOS portability.
73509         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73510         exist.
73511         Problem reported by Bruno Haible.
73512
73513 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73514
73515         Avoid the need for AC_LIBSOURCES in m4 macros.
73516         * modules/acl (EXTRA_DIST): Add acl.h.
73517         * modules/argmatch (Files): Add m4/argmatch.m4.
73518         (configure.ac): Add gl_ARGMATCH.
73519         (EXTRA_DIST): Renamed from lib_SOURCES, for
73520         consistency with the other modules.  Remove argmatch.c.
73521         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73522         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73523         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73524         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73525         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73526         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73527         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73528         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73529         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73530         * modules/closeout (EXTRA_DIST): Add closeout.h.
73531         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73532         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73533         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73534         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73535         dirname.h; remove basename.c and stripslash.c.
73536         * modules/exclude (EXTRA_DIST): Add exclude.h.
73537         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73538         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73539         * modules/file-type (EXTRA_DIST): Add file-type.h.
73540         * modules/filemode (EXTRA_DIST): Add filemode.h.
73541         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73542         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73543         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73544         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73545         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73546         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73547         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73548         * modules/getdate (EXTRA_DIST): Add getdate.c.
73549         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73550         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73551         * modules/getpass (EXTRA_DIST): Add getpass.h.
73552         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73553         * modules/group-member (EXTRA_DIST): Add group-member.h.
73554         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73555         * modules/hash (EXTRA_DIST): Add hash.h.
73556         * modules/human (EXTRA_DIST): Add human.h.
73557         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73558         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73559         * modules/lchown (EXTRA_DIST): Add lchown.h.
73560         * modules/long-options (EXTRA_DIST): Add long-options.h.
73561         * modules/lstat (EXTRA_DIST): Add lstat.h.
73562         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73563         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73564         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73565         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73566         * modules/memxor (EXTRA_DIST): Add memxor.h.
73567         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73568         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73569         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73570         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73571         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73572         * modules/physmem (EXTRA_DIST): Add physmem.h.
73573         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73574         * modules/posixver (EXTRA_DIST): Add posixver.h.
73575         * modules/quote (EXTRA_DIST): Add quote.h.
73576         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73577         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73578         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73579         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73580         regex_internal.h regexec.c.
73581         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73582         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73583         * modules/same (EXTRA_DIST): Add same.h.
73584         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73585         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73586         * modules/savedir (EXTRA_DIST): Add savedir.h.
73587         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73588         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73589         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73590         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73591         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73592         * modules/strdup (EXTRA_DIST): Add strdup.h.
73593         * modules/strftime (EXTRA_DIST): Add strftime.h.
73594         * modules/strndup (EXTRA_DIST): Add strndup.h.
73595         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73596         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73597         * modules/time_r (EXTRA_DIST): Add time_r.h.
73598         * modules/timespec (EXTRA_DIST): Add timespec.h.
73599         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73600         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73601         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73602         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73603         * modules/userspec (EXTRA_DIST): Add userspec.h.
73604         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73605         * modules/utimens (EXTRA_DIST): Add utimens.h.
73606         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73607         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73608         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73609         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73610         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73611         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73612         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73613         * modules/yesno (EXTRA_DIST): Add yesno.h.
73614
73615 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73616
73617         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73618
73619         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73620         * m4/dev-ino.m4, same-inode.m4: Remove.
73621
73622         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73623         * m4/acl.m4 (AC_FUNC_ACL):
73624         * m4/backupfile.m4 (gl_BACKUPFILE):
73625         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73626         * m4/canon-host.m4 (gl_CANON_HOST):
73627         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73628         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73629         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73630         * m4/cloexec.m4 (gl_CLOEXEC):
73631         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73632         * m4/closeout.m4 (gl_CLOSEOUT):
73633         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73634         * m4/dirname.m4 (gl_DIRNAME):
73635         * m4/exclude.m4 (gl_EXCLUDE):
73636         * m4/exitfail.m4 (gl_EXITFAIL):
73637         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73638         * m4/file-type.m4 (gl_FILE_TYPE):
73639         * m4/filemode.m4 (gl_FILEMODE):
73640         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73641         * m4/fpending.m4 (gl_FUNC_FPENDING):
73642         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73643         * m4/fts.m4 (gl_FUNC_FTS):
73644         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73645         * m4/getdate.m4 (gl_GETDATE):
73646         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73647         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73648         * m4/getpass.m4 (gl_FUNC_GETPASS):
73649         * m4/gettime.m4 (gl_GETTIME):
73650         * m4/getugroups.m4 (gl_GETUGROUPS):
73651         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73652         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73653         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73654         * m4/hash.m4 (gl_HASH):
73655         * m4/idcache.m4 (gl_IDCACHE):
73656         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73657         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73658         * m4/long-options.m4 (gl_LONG_OPTIONS):
73659         * m4/lstat.m4 (gl_FUNC_LSTAT):
73660         * m4/md5.m4 (gl_MD5):
73661         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73662         * m4/memcoll.m4 (gl_MEMCOLL):
73663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73665         * m4/memxor.m4 (gl_MEMXOR):
73666         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73667         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73668         * m4/modechange.m4 (gl_MODECHANGE):
73669         * m4/mountlist.m4 (gl_MOUNTLIST):
73670         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73671         * m4/openat.m4 (gl_FUNC_OPENAT):
73672         * m4/pathmax.m4 (gl_PATHMAX):
73673         * m4/physmem.m4 (gl_PHYSMEM):
73674         * m4/posixtm.m4 (gl_POSIXTM):
73675         * m4/posixver.m4 (gl_POSIXVER):
73676         * m4/quote.m4 (gl_QUOTE):
73677         * m4/quotearg.m4 (gl_QUOTEARG):
73678         * m4/readtokens.m4 (gl_READTOKENS):
73679         * m4/readutmp.m4 (gl_READUTMP):
73680         * m4/regex.m4 (gl_REGEX):
73681         * m4/safe-read.m4 (gl_SAFE_READ):
73682         * m4/safe-write.m4 (gl_SAFE_WRITE):
73683         * m4/same.m4 (gl_SAME):
73684         * m4/save-cwd.m4 (gl_SAVE_CWD):
73685         * m4/savedir.m4 (gl_SAVEDIR):
73686         * m4/settime.m4 (gl_SETTIME):
73687         * m4/sha1.m4 (gl_SHA1):
73688         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73689         * m4/stat-macros.m4 (gl_STAT_MACROS):
73690         * m4/stat-time.m4 (gl_STAT_TIME):
73691         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73692         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73693         * m4/strdup.m4 (gl_FUNC_STRDUP):
73694         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73695         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73696         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73697         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73698         * m4/time_r.m4 (gl_TIME_R):
73699         * m4/timespec.m4 (gl_TIMESPEC):
73700         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73701         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73702         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73703         * m4/userspec.m4 (gl_USERSPEC):
73704         * m4/utimecmp.m4 (gl_UTIMECMP):
73705         * m4/utimens.m4 (gl_UTIMENS):
73706         * m4/xalloc.m4 (gl_XALLOC):
73707         * m4/xgetcwd.m4 (gl_XGETCWD):
73708         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73709         * m4/xreadlink.m4 (gl_XREADLINK):
73710         * m4/xstrtod.m4 (gl_XSTRTOD):
73711         * m4/yesno.m4 (gl_YESNO):
73712         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73713         to get the necessary .h files and whatnot.
73714
73715 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73716             Bruno Haible  <bruno@clisp.org>
73717
73718         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73719         /bin/sh understanding of '!' conditional negation.
73720
73721 2006-08-21  Jim Meyering  <jim@meyering.net>
73722
73723         * modules/openat (Depends-on): Really alphabetize.
73724
73725         * modules/acl (Depends-on): Add error and quote.
73726
73727         * check-module (find_included_lib_files): Add at-func.c to the
73728         ok-to-include-more-than-once white list.
73729
73730         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73731
73732 2006-08-21  Bruno Haible  <bruno@clisp.org>
73733
73734         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73735         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73736         Reported by Martin Lambers <marlam@marlam.de>.
73737
73738 2006-08-21  Bruno Haible  <bruno@clisp.org>
73739
73740         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73741         specify an installation location, don't emit a noinst_LIBRARIES or
73742         noinst_LTLIBRARIES assignment.
73743
73744 2006-08-21  Bruno Haible  <bruno@clisp.org>
73745
73746         BeOS portability.
73747         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73748         BeOS has mbrtowc() but no <wctype.h>.
73749
73750 2006-08-21  Bruno Haible  <bruno@clisp.org>
73751
73752         BeOS portability.
73753         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73754         exist.
73755
73756 2006-08-21  Bruno Haible  <bruno@clisp.org>
73757
73758         BeOS portability.
73759         * lib/mbchar.h: Include <wctype.h> only if it exists.
73760
73761 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73762
73763         Remove files that are no longer needed by their respective modules.
73764         * m4/obstack.m4: Remove.
73765         * m4/strerror_r.m4: Remove.
73766         * m4/uint32_t.m4: Remove.
73767         * m4/uintptr_t.m4: Remove.
73768         * m4/ullong_max.m4: Remove.
73769         * m4/xstrtoimax.m4: Remove.
73770         * m4/xstrtoumax.m4: Remove.
73771
73772         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73773         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73774         dependencies now capture this.
73775
73776         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73777         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73778         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73779         * m4/human.m4 (gl_HUMAN): Likewise.
73780         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73781         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73782
73783         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73784
73785         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73786         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73787         stdint.
73788         * m4/human.m4 (gl_HUMAN): Likewise.
73789         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73790         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73791         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73792         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73793         * m4/xstrtol (gl_XSTRTOL): Likewise.
73794
73795         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73796         AC_TYPE_LONG_LONG_INT.
73797         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73798         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73799         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73800         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73801
73802         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73803         on stdbool.
73804
73805         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73806         (gl_PREREQ_XSTRTOUL): Remove.
73807
73808         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73809
73810         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73811         mode.
73812
73813 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73814
73815         Add and change modules to make it easier for coreutils to use
73816         gnulib-tool.
73817         * modules/backupfile (Files): Remove m4/d-ino.m4.
73818         (Depends-on): Add d-ino.
73819         * modules/cycle-check (Depends-on): Add stdint.
73820         (lib_SOURCES): Add cycle-check.h.
73821         * modules/d-ino: New module.
73822         * modules/d-type: New module.
73823         * modules/error (Files): Remove m4/strerror_r.m4.
73824         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73825         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73826         m4/inttypes_h.m4, m4/uintmax_t.m4.
73827         (Depends-on): Add stdint.
73828         (lib_SOURCES): Add fsusage.h.
73829         * modules/getcwd (Files): Remove d-ino.m4.
73830         (Depends-on): Add d-ino.
73831         * modules/getndelim2 (Depends-on): Add stdint.
73832         * modules/glob (Files): Remove m4/d-type.m4.
73833         (Depends-on): Add d-type.
73834         * modules/host-os: New module.
73835         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73836         m4/inttypes_h.m4, m4/uintmax_t.m4.
73837         * Depends-on: Add stdint.
73838         (lib_SOURCES): Add human.h.
73839         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73840         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73841         m4/uintmax_t.m4, m4/ulonglong.m4.
73842         (Depends-on): Add stdint.
73843         (EXTRA_DIST): Add inttostr.h.
73844         * modules/lchmod: New module.
73845         * modules/link-follow: New module.
73846         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73847         (Depends-on): Add lchmod.
73848         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73849         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73850         (Depends-on): Add stdint.
73851         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73852         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73853         (Depends-on): Add stdint.
73854         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73855         * modules/perl: New module.
73856         * modules/regex (Depends-on): Add stdint.
73857         * modules/rmdir-errno: New module.
73858         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73859         m4/intmax_t.m4.
73860         (Depends-on): Add stdint.
73861         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73862         m4/uintmax_t.m4.
73863         (Depends-on): Add stdint.
73864         * modules/unlink-busy: New module.
73865         * modules/utimecmp (Depends-on): Add stdint.
73866         * modules/uptime: New module.
73867         * modules/winsz-ioctl: New module.
73868         * modules/winsz-termios: New module.
73869         * modules/xnanosleep (Depends-on): Add nanosleep.
73870         * modules/ullong_max: Remove.
73871         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73872         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73873         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73874         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73875         (Depends-on): Add inttypes.
73876         (lib_SOURCES): Add xstrtol.h.
73877         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73878         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73879         * MODULES.html.sh: Move 'assert' into the assert section.
73880         Move 'dummy' into the linking section.
73881         Remove ullong_max.
73882         Add section for compatibility checks for POSIX:2001 functions,
73883         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73884         winsz-ioctl, and winsz-termios into it.
73885         Add lchmod.
73886         Add top-level Misc section and put host-os, perl, and uptime
73887         into it.
73888
73889 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73890
73891         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73892         now assume the stdint module.  Do not include inttypes.h.
73893         * lib/fsusage.h: Likewise.
73894         * lib/getndelim2.c: Likewise.
73895         * lib/human.h: Likewise.
73896         * lib/inttostr.h: Likewise.
73897         * lib/obstack.c: Likewise.
73898         * lib/regex_internal.h: Likewise.
73899         * lib/tempname.c: Likewise.
73900         * lib/utimecmp.c: Likewise.
73901         * lib/xstrtol.h: Likewise.
73902
73903         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73904
73905         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73906         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73907         * lib/xtime.h: Likewise.
73908
73909 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73910
73911         * modules/openat (Files): Add lib/fchmodat.c.
73912         Fixes problem reported by Jay Youngman.
73913
73914 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73915
73916         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73917         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73918
73919 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73920             Bruno Haible  <bruno@clisp.org>
73921
73922         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73923         and is a script that invokes bison. Tighten the code. Add comments.
73924
73925 2006-08-18  Jim Meyering  <jim@meyering.net>
73926
73927         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73928         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73929         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73930         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73931
73932 2006-08-18  Bruno Haible  <bruno@clisp.org>
73933
73934         * modules/bison-i18n: New file.
73935         * MODULES.html.sh (Internationalization functions): Add it.
73936
73937 2006-08-18  Bruno Haible  <bruno@clisp.org>
73938
73939         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73940         sys/statvfs.h. When getmntinfo was found, check its declaration and
73941         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73942
73943 2006-08-18  Bruno Haible  <bruno@clisp.org>
73944
73945         * m4/bison-i18n.m4: New file, from bison.
73946
73947 2006-08-18  Bruno Haible  <bruno@clisp.org>
73948
73949         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73950         (ME_DUMMY): Treat "kernfs" as a dummy.
73951         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73952
73953 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         Update from coreutils.
73956
73957         2006-08-15  Jim Meyering  <jim@meyering.net>
73958
73959         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73960
73961         2006-01-17  Jim Meyering  <jim@meyering.net>
73962
73963         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73964
73965         2006-01-11  Jim Meyering  <jim@meyering.net>
73966
73967         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73968         Check for the lchmod function.
73969
73970 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73971
73972         Update from coreutils.
73973
73974         * lib/__fpending.h: Add copyright notice.
73975         * lib/fprintftime.h: Likewise.
73976         * lib/savedir.c: Use (C) in copyright notice.
73977         * lib/savedir.h: Likewise.
73978
73979         2006-08-15  Jim Meyering  <jim@meyering.net>
73980
73981         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73982         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73983         in support of the EXPECTED_ERRNO macro.
73984         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73985         definitions.  Instead, define the appropriate symbols and include
73986         "at-func.c".
73987         * lib/mkdirat.c (mkdirat): Likewise.
73988         * lib/fchmodat.c (fchmodat): Likewise.
73989         (ENOSYS): Remove definition.
73990         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73991         it.  Don't include "unistd--.h" -- it wasn't ever used.
73992
73993         2006-01-17  Jim Meyering  <jim@meyering.net>
73994
73995         Rewrite fts.c not to change the current working directory,
73996         by using openat, fstatat, fdopendir, etc..
73997
73998         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73999         (HAVE_OPENAT_SUPPORT): Define.
74000         [_LIBC] (fchdir): Don't undef or define; no longer used.
74001         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
74002         Now, this `function' always succeeds, and consumes its file descriptor
74003         parameter -- so callers must not close such FDs.  Update callers.
74004         (diropen_fd, opendirat, cwd_advance_fd): New functions.
74005         (diropen): Add parameter, SP.  Adjust all callers.
74006         Implement using diropen_fd, rather than open.
74007         (fts_open): Initialize new member, fts_cwd_fd.
74008         Remove fts_rft-setting code.
74009         (fts_close): Close fts_cwd_fd, if necessary.
74010         (__opendir2): Define in terms of opendir or opendirat,
74011         depending on whether the FST_NOCHDIR flag is set.
74012         (fts_build): Since fts_safe_changedir consumes its FD, and since
74013         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
74014         and close the dup'd file descriptor upon failure.
74015         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
74016         (fts_safe_changedir): Tweak semantics to reflect that this function
74017         now calls cwd_advance_fd and hence consumes its FD argument.
74018         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
74019         [struct FTS] (fts_rft): Remove now-unused member.
74020         [struct FTS] (fts_cycle.state): Improve comment.
74021
74022         * lib/openat.c (openat_needs_fchdir): New function.
74023         * lib/openat.h (openat_needs_fchdir): Declare it.
74024
74025 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
74026
74027         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
74028         Problem and fix reported by Pádraig Brady in
74029         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
74030
74031 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74032
74033         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
74034
74035 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74036
74037         * lib/memcoll.c (memcoll): Optimize for the common case where the
74038         arguments are bytewise equal.
74039
74040 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
74041
74042         * doc/regexprops-generic.texi: Add a copyright notice.
74043
74044 2006-08-15  Bruno Haible  <bruno@clisp.org>
74045
74046         * modules/tmpdir (License): Change to LGPL.
74047
74048 2006-08-15  Bruno Haible  <bruno@clisp.org>
74049
74050         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
74051         module.
74052
74053 2006-08-14  Simon Josefsson  <jas@extundo.com>
74054
74055         * config/srclist.txt: Add gnupload.
74056
74057 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74058
74059         Change copyright notice from LGPL 2 to GPL 2, since that's the
74060         standard form used in the gnulib repository.
74061         * tests/test-lock.c: Likewise.
74062         * tests/test-stdint.c: Likewise.
74063         * tests/test-tls.c: Likewise.
74064
74065         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
74066         prelude-manager.  User shorter URLs for GNU projects, without '?'.
74067         Add copyright notice.
74068
74069         * check-module: Add copyright notice.  Output a copyright
74070         notice if "--version" is specified.
74071         * modules/COPYING: New file.
74072         * tests/test-getaddrinfo.c: Add copyright notice.
74073         * tests/test-verify.c: Likewise.
74074
74075 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74076
74077         Change copyright notice from LGPL 2 to GPL 2, since that's the
74078         standard form used in the gnulib repository.
74079         * lib/lock.c: LGPL -> GPL.
74080         * lib/lock.h: Likewise.
74081         * lib/strnlen1.c: Likewise.
74082         * lib/strnlen1.h: Likewise.
74083         * lib/tls.c: Likewise.
74084         * lib/tls.h: Likewise.
74085         * lib/tmpdir.c: Likewise.
74086
74087         * lib/TODO: Remove; this belongs only in coreutils.
74088
74089 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74090
74091         Add copyright notices to long-enough files that lack them, since
74092         otherwise the files aren't clearly free.  Use the same notice that
74093         getdate.texi already uses.
74094         * doc/alloca-opt.texi: Add copyright notice.
74095         * doc/alloca.texi: Likewise.
74096         * doc/ctime.texi: Likewise.
74097         * doc/functions.texi: Likewise.
74098         * doc/gcd.texi: Likewise.
74099         * doc/gnulib-tool.texi: Likewise.
74100         * doc/inet_ntoa.texi: Likewise.
74101         * doc/visibility.texi: Likewise.
74102
74103         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
74104         * doc/quote.texi: Add copyright notice.
74105
74106         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
74107         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
74108         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
74109         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
74110         is now obsolete, and give a pointer to the Sun list.
74111         Add copyright notice.
74112
74113 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
74114
74115         * config/srclistvars.sh: Add copyright notice.
74116
74117 2006-08-14  Eric Blake  <ebb9@byu.net>
74118
74119         Import the following change from libc:
74120
74121         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
74122
74123         Upstream bug 2997.
74124         * lib/misc/error.c: Add space between program name and message if file
74125         name is missing.
74126
74127 2006-08-12  Karl Berry  <karl@gnu.org>
74128
74129         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
74130         remove, these originate in gnulib now.
74131
74132 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74133
74134         * doc/Makefile (standards.info standards.html standards.dvi):
74135         Also depend on make-stds.texi.
74136
74137 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
74138
74139         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
74140         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
74141
74142         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
74143         in wchar_t.  Problem reported by Eric Blake.
74144
74145         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
74146         LEN is smaller than SIZE.  Suggested by Bruno Haible.
74147         Also, help the compiler to keep LEN in a register.
74148
74149 2006-08-11  Eric Blake  <ebb9@byu.net>
74150
74151         * users.txt: Sort.  Add tar.
74152
74153 2006-08-11  Bruno Haible  <bruno@clisp.org>
74154
74155         * users.txt: New file.
74156
74157 2006-08-11  Bruno Haible  <bruno@clisp.org>
74158
74159         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
74160         before <wchar.h>. Needed for OSF/1 and BSD/OS.
74161
74162 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74163
74164         * modules/snprintf (Depends-on): Remove minmax.
74165         (Maintainer): Add self and Bruno.
74166
74167 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
74168
74169         * lib/.cppi-disable: Add snprintf.h, socket_.h.
74170         * lib/snprintf.c: Include <errno.h> and <limits.h>.
74171         (EOVERFLOW): Define if the system does not.
74172         Do not include "minmax.h"; it wasn't used.
74173         (snprintf): Don't assume size_t promotes to an unsigned type.
74174         Fix bug when generated string was too long for the buffer: the
74175         buffer's contents are supposed to be the initial prefix of the
74176         output.  Don't assume vasnprintf returns EOVERFLOW if the size
74177         exceeds INT_MAX; do the check ourselves.
74178
74179         Import the following changes from libc:
74180
74181         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
74182
74183         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
74184         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
74185         set wc to the byte which couldn't be converted.
74186         (re_string_reconstruct): Don't clear valid_raw_len before calling
74187         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
74188         tip_context using re_string_context_at.
74189
74190         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
74191
74192         * lib/posix/regex.h: g++ still cannot handled [restrict].
74193
74194         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
74195
74196         * lib/posix/regex.h: Remove special handling for VMS.
74197
74198 2006-08-10  Jim Meyering  <jim@meyering.net>
74199
74200         * modules/same-inode: New module.
74201         * modules/dev-ino: New module.
74202         * modules/cycle-check: Depend on these modules, rather than simply
74203         including their .h files.
74204         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
74205         required via m4/cycle-check.m4.
74206         * modules/same: Depend on new same-inode module, rather than
74207         including same-inode.h.
74208         * modules/chdir-safer: New file.
74209
74210         * modules/chown (Depends-on): Add stat-macros.
74211
74212 2006-08-10  Jim Meyering  <jim@meyering.net>
74213
74214         * m4/cycle-check.m4: New file.
74215         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
74216         * m4/dev-ino.m4, m4/same-inode.m4: New files.
74217
74218 2006-08-10  Eric Blake  <ebb9@byu.net>
74219
74220         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
74221         in from original proposal.
74222
74223 2006-08-10  Eric Blake  <ebb9@byu.net>
74224         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
74225
74226         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
74227         namespace.
74228
74229 2006-08-10  Bruno Haible  <bruno@clisp.org>
74230
74231         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
74232         as well.
74233
74234 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74235
74236         Sync from coreutils.
74237
74238         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
74239
74240         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
74241         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
74242
74243 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74244
74245         * modules/restrict: Remove; no longer needed now that we assume
74246         Autoconf 2.59 or later.
74247         * MODULES.html.sh: Remove 'restrict'.
74248         * modules/argp (Depends-on): Remove 'restrict'.
74249         * modules/base64 (Depends-on): Likewise.
74250         * modules/gc (Depends-on): Likewise.
74251         * modules/getaddrinfo (Depends-on): Likewise.
74252         * modules/glob (Depends-on): Likewise.
74253         * modules/inet_ntop (Depends-on): Likewise.
74254         * modules/inet_pton (Depends-on): Likewise.
74255         * modules/memxor (Depends-on): Likewise.
74256         * modules/regex (Depends-on): Likewise.
74257         * modules/strtok_r (Depends-on): Likewise.
74258         * modules/time_r (Depends-on): Likewise.
74259
74260 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
74261
74262         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
74263         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
74264         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74265         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
74266         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
74267         * m4/memxor.m4 (gl_MEMXOR): Likewise.
74268         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
74269         gl_C_RESTRICT replaced by AC_C_RESTRICT.
74270
74271         Merge from coreutils.
74272         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
74273         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
74274         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74275         * m4/time_r.m4 (gl_TIME_R): Likewise.
74276
74277 2006-08-09  Karl Berry  <karl@gnu.org>
74278
74279         * config/srclist.txt: no more gettext-tools, per Bruno.
74280
74281 2006-08-08  Eric Blake  <ebb9@byu.net>
74282
74283         * modules/verror: New module.
74284         * MODULES.html.sh: Document it.
74285
74286 2006-08-08  Eric Blake  <ebb9@byu.net>
74287
74288         * lib/verror.h, lib/verror.c: New files.
74289
74290 2006-08-08  Eric Blake  <ebb9@byu.net>
74291
74292         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
74293         verror_at_line output complies with GNU Coding Standards even when
74294         file is NULL.
74295
74296 2006-08-07  Bruno Haible  <bruno@clisp.org>
74297
74298         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
74299         versions of AIX.
74300         Reported by Ralf Wildenhues.
74301
74302 2006-08-07  Bruno Haible  <bruno@clisp.org>
74303
74304         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
74305         in an AC_DEFUN. Needed so that the autoconf snippets can use
74306         AC_REQUIRE.
74307
74308 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74309
74310         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74311         Initialize pkgdata_DATA.
74312         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
74313         overriding it.
74314
74315 2006-08-06  Eric Blake  <ebb9@byu.net>
74316
74317         * lib/error.h: Fold in some upstream changes from glibc.
74318         * lib/error.c: Likewise.
74319
74320 2006-08-04  Bruno Haible  <bruno@clisp.org>
74321
74322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74323         Make the mostlyclean-local rule depend on mostlyclean-generic.
74324         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
74325
74326 2006-07-31  Bruno Haible  <bruno@clisp.org>
74327
74328         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
74329         <stdlib.h>, <string.h>.
74330
74331 2006-07-30  Bruno Haible  <bruno@clisp.org>
74332
74333         * modules/readlink (License): Change to LGPL.
74334
74335 2006-07-30  Bruno Haible  <bruno@clisp.org>
74336
74337         * modules/javaversion (Makefile.am): Distribute javaversion.java and
74338         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
74339         set PKGDATADIR to point to it.
74340
74341 2006-07-30  Bruno Haible  <bruno@clisp.org>
74342
74343         * modules/csharpexec (configure.ac): Comment out macro invocation.
74344         * modules/javaexec (configure.ac): Likewise.
74345         * modules/javacomp-script (configure.ac): Likewise.
74346
74347         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
74348
74349 2006-07-30  Bruno Haible  <bruno@clisp.org>
74350
74351         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
74352         linked-list.
74353
74354 2006-07-30  Bruno Haible  <bruno@clisp.org>
74355
74356         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
74357
74358 2006-07-30  Bruno Haible  <bruno@clisp.org>
74359
74360         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74361         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
74362         get removed.
74363
74364 2006-07-29  Bruno Haible  <bruno@clisp.org>
74365
74366         Make it possible for gnulib-tool to work with locally modified or
74367         augmented gnulib repositories.
74368         * gnulib-tool (func_usage): Document --local-dir option.
74369         (local_gnulib_dir): New variable.
74370         Handle --local-dir option.
74371         (func_lookup_file): New function.
74372         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
74373         (func_get_description, func_get_filelist, func_get_description,
74374         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
74375         func_get_automake_snippet, func_get_include_directive,
74376         func_get_license, func_get_maintainer): Use func_lookup_file.
74377         (func_import, func_create_testdir): Use func_lookup_file.
74378
74379 2006-07-29  Bruno Haible  <bruno@clisp.org>
74380
74381         * modules/setenv (Depends-on): Add unistd.
74382
74383 2006-07-29  Bruno Haible  <bruno@clisp.org>
74384
74385         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
74386
74387 2006-07-29  Bruno Haible  <bruno@clisp.org>
74388
74389         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
74390
74391 2006-07-29  Bruno Haible  <bruno@clisp.org>
74392
74393         * gnulib-tool (import, update): If there is no Makefile.am, look at
74394         aclocal.m4, instead of bailing out.
74395
74396 2006-07-29  Bruno Haible  <bruno@clisp.org>
74397
74398         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
74399         Categorize the options by when they are useful.
74400
74401 2006-07-29  Bruno Haible  <bruno@clisp.org>
74402
74403         * gnulib-tool (func_usage): Document option --no-libtool.
74404         Handle option --no-libtool.
74405         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
74406         for changed semantics of $libtool variable.
74407         (func_import): Likewise. If libtool is not used, show this through
74408         an option --no-libtool.
74409         (func_create_testdir): Update.
74410
74411 2006-07-29  Bruno Haible  <bruno@clisp.org>
74412
74413         * gnulib-tool (func_import): Extend error message about missing
74414         --doc-base.
74415
74416 2006-07-29  Bruno Haible  <bruno@clisp.org>
74417
74418         * gnulib-tool (func_import): Don't create the $docbase directory if
74419         there is no file to store there.
74420
74421 2006-07-29  Bruno Haible  <bruno@clisp.org>
74422
74423         * gnulib-tool (autoconf_minversion): If a --dir option is given and
74424         relevant, look for configure.ac there, not in the current directory.
74425         Also use a simple search for AC_PREREQ, not "autoconf --trace".
74426
74427 2006-07-29  Bruno Haible  <bruno@clisp.org>
74428
74429         * gnulib-tool (SORT): New variable.
74430         (func_usage): Undocument --assume-autoconf option.
74431         Remove --assume-autoconf option handling.
74432         (autoconf_minversion): Determine from the contents of configure.ac.
74433         (func_import): Remove autoconf_minversion handling.
74434         Suggested by Eric Blake.
74435
74436 2006-07-29  Bruno Haible  <bruno@clisp.org>
74437
74438         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
74439
74440 2006-07-29  Bruno Haible  <bruno@clisp.org>
74441
74442         * config/srclist.txt (*setenv.[ch]): Remove rules.
74443
74444 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74445
74446         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74447
74448 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74449
74450         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74451         arpa/inet.h.
74452
74453 2006-07-28  Simon Josefsson  <jas@extundo.com>
74454
74455         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74456         * modules/inet_pton (Depends-on): Likewise.
74457
74458 2006-07-28  Simon Josefsson  <jas@extundo.com>
74459
74460         * m4/netinet_in_h.m4: New file.
74461
74462 2006-07-28  Simon Josefsson  <jas@extundo.com>
74463
74464         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74465         #include's.
74466
74467 2006-07-28  Simon Josefsson  <jas@extundo.com>
74468
74469         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74470         #include's.
74471
74472 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74475         setgid on directories only if they set these bits.
74476         * lib/modechange.h: Remove obsolete comment about masks.
74477
74478 2006-07-28  Eric Blake  <ebb9@byu.net>
74479
74480         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74481         macro expansion.
74482
74483 2006-07-28  Bruno Haible  <bruno@clisp.org>
74484
74485         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74486
74487 2006-07-28  Bruno Haible  <bruno@clisp.org>
74488
74489         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74490
74491 2006-07-28  Bruno Haible  <bruno@clisp.org>
74492
74493         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74494         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74495         Define fallbacks.
74496         Avoids link error on FreeBSD 4.x.
74497         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74498
74499         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74500         encoding.
74501         * lib/mbswidth.c (iswcntrl): Likewise.
74502
74503 2006-07-27  Bruno Haible  <bruno@clisp.org>
74504
74505         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74506         test.
74507
74508 2006-07-27  Bruno Haible  <bruno@clisp.org>
74509
74510         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74511         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74512         defined.
74513
74514 2006-07-26  Eric Blake  <ebb9@byu.net>
74515
74516         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74517
74518 2006-07-26  Eric Blake  <ebb9@byu.net>
74519
74520         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74521         like mingw that lack mkstemp.
74522         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74523         avoid compilation warning on mingw.
74524
74525 2006-07-26  Bruno Haible  <bruno@clisp.org>
74526
74527         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74528         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74529         INT_FAST*_MIN, INTPTR_MIN.
74530
74531 2006-07-25  Bruno Haible  <bruno@clisp.org>
74532
74533         * modules/version-etc (Depends-on): Add stdarg.
74534
74535 2006-07-25  Bruno Haible  <bruno@clisp.org>
74536
74537         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74538         complex commands.
74539
74540 2006-07-25  Bruno Haible  <bruno@clisp.org>
74541
74542         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74543         defined in <stdarg.h> or config.h.
74544
74545 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74546
74547         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74548         (gl_STDIO_SAFER): Remove.
74549
74550 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74551
74552         * MODULES.html.sh (File stream based Input/Output):
74553         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74554         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74555         * modules/fopen-safer, modules/tmpfile-safer: New files.
74556         * modules/stdio-safer: Remove.
74557
74558 2006-07-24  Bruno Haible  <bruno@clisp.org>
74559
74560         * modules/tmpdir: New file.
74561         * MODULES.html.sh (File system functions): Add it.
74562
74563 2006-07-24  Bruno Haible  <bruno@clisp.org>
74564
74565         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74566         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74567
74568 2006-07-24  Bruno Haible  <bruno@clisp.org>
74569
74570         * modules/clean-temp: New file.
74571
74572 2006-07-24  Bruno Haible  <bruno@clisp.org>
74573
74574         * m4/tmpdir.m4: New file, from GNU gettext.
74575
74576 2006-07-24  Bruno Haible  <bruno@clisp.org>
74577
74578         * lib/tmpdir.h: New file, from GNU gettext.
74579         * lib/tmpdir.c: New file, from GNU gettext.
74580
74581 2006-07-24  Bruno Haible  <bruno@clisp.org>
74582
74583         * lib/clean-temp.h: New file, from GNU gettext.
74584         * lib/clean-temp.c: New file, from GNU gettext.
74585
74586 2006-07-23  Eric Blake  <ebb9@byu.net>
74587
74588         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74589         (Depends-on): Add binary-io.
74590
74591 2006-07-23  Eric Blake  <ebb9@byu.net>
74592
74593         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74594
74595 2006-07-23  Eric Blake  <ebb9@byu.net>
74596
74597         * lib/tmpfile-safer.c: New file.
74598         * lib/stdio-safer.h (fopen_safer): Add prototype.
74599         * lib/stdio--.h (tmpfile): Make safer.
74600
74601 2006-07-23  Bruno Haible  <bruno@clisp.org>
74602
74603         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74604         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74605         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74606         gl_linked_remove_at): Use it.
74607
74608 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74609         and Simon Josefsson <jas@extundo.com>
74610
74611         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74612
74613         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74614
74615 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74616
74617         * modules/close-stream: New file.
74618         * modules/closeout (Description): Make it clear that it exits
74619         with a diagnostic on error.
74620         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74621         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74622
74623 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74624
74625         * m4/close-stream.m4: New file.
74626
74627 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74628
74629         * lib/close-stream.c, lib/close-stream.h: New files.
74630
74631 2006-07-22  Bruno Haible  <bruno@clisp.org>
74632
74633         Merge from GNU gettext 0.15.
74634
74635         2006-05-01  Bruno Haible  <bruno@clisp.org>
74636
74637                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74638
74639         2006-07-22  Bruno Haible  <bruno@clisp.org>
74640
74641                 * modules/javaversion: New file.
74642                 * MODULES.html.sh (Java): Add javaversion.
74643
74644         2006-03-12  Bruno Haible  <bruno@clisp.org>
74645
74646                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74647
74648         2005-12-04  Bruno Haible  <bruno@clisp.org>
74649
74650                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74651                 (untested).
74652
74653         2006-06-21  Bruno Haible  <bruno@clisp.org>
74654
74655                 Avoid warnings from recent versions of mcs.
74656                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74657                 -o, -L, -r any more. Use options documented since mcs-1.0
74658                 instead. Similarly for -g.
74659
74660         2005-12-04  Bruno Haible  <bruno@clisp.org>
74661
74662                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74663                 .resources, not .resource.
74664
74665         2005-07-09  Bruno Haible  <bruno@clisp.org>
74666
74667                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74668                 add a .dll suffix.
74669                 Reported by Mark Junker <mjscod@gmx.de>.
74670
74671         2006-07-22  Bruno Haible  <bruno@clisp.org>
74672
74673                 * modules/gettext: Upgrade to gettext-0.15.
74674                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74675                 m4/visibility.m4.
74676                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74677
74678 2006-07-22  Bruno Haible  <bruno@clisp.org>
74679
74680         Merge from GNU gettext 0.15.
74681
74682         2006-03-25  Bruno Haible  <bruno@clisp.org>
74683
74684                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74685
74686         2006-07-21  Bruno Haible  <bruno@clisp.org>
74687
74688                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74689                 "1.1".
74690
74691         2006-05-09  Bruno Haible  <bruno@clisp.org>
74692
74693                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74694                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74695                 for the conftestver execution.
74696
74697         2006-05-01  Bruno Haible  <bruno@clisp.org>
74698
74699                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74700                 optional target-version argument. Verify that the compiler
74701                 groks source of the specified source-version, or add -source
74702                 option as necessary. Verify that the compiler produces
74703                 bytecode in the specified target-version, or add -target and
74704                 -source options as necessary. Make the result of the test
74705                 available as variable CONF_JAVAC. Also log error output in
74706                 config.log.
74707
74708         2006-03-11  Bruno Haible  <bruno@clisp.org>
74709
74710                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74711
74712         2006-05-09  Bruno Haible  <bruno@clisp.org>
74713
74714                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74715                 CLASSPATH_SEPARATOR to a semicolon.
74716
74717         2006-03-12  Bruno Haible  <bruno@clisp.org>
74718
74719                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74720                 available as variable CONF_JAVA, for subsequent autoconf
74721                 tests. Also log error output in config.log.
74722
74723         2006-07-19  Bruno Haible  <bruno@clisp.org>
74724
74725                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74726                 that getline works on glibc2 systems. Needed to avoid trouble
74727                 in relocatable.c.
74728                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74729
74730         2005-12-04  Bruno Haible  <bruno@clisp.org>
74731
74732                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74733                 launcher (untested).
74734
74735         2005-12-04  Bruno Haible  <bruno@clisp.org>
74736
74737                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74738
74739         2006-07-22  Bruno Haible  <bruno@clisp.org>
74740
74741                 * gettext.m4: Update from GNU gettext-0.15.
74742                 * nls.m4: Likewise.
74743                 * po.m4: Likewise.
74744                 * inttypes-pri.m4: Likewise.
74745                 * inttypes-h.m4: Renamed from inttypes.m4.
74746                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74747
74748 2006-07-22  Bruno Haible  <bruno@clisp.org>
74749
74750         Merge from GNU gettext 0.15.
74751
74752         2005-07-05  Bruno Haible  <bruno@clisp.org>
74753
74754                 * printf-args.c (printf_fetchargs): Work around broken
74755                 definition of wint_t on mingw.
74756
74757         2005-02-12  Bruno Haible  <bruno@clisp.org>
74758
74759                 * xallocsa.h: Add extern "C" for C++.
74760
74761         2006-05-17  Bruno Haible  <bruno@clisp.org>
74762
74763                 Cygwin portability.
74764                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74765
74766         2006-04-30  Bruno Haible  <bruno@clisp.org>
74767
74768                 * progreloc.c: Include <mach-o/dyld.h> if available.
74769                 (find_executable): Use _NSGetExecutablePath when possible.
74770
74771         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74772
74773                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74774                 function.
74775
74776         2005-12-29  Bruno Haible  <bruno@clisp.org>
74777
74778                 * progreloc.c (set_program_name_and_installdir): Fix
74779                 compilation error.
74780
74781         2005-12-04  Bruno Haible  <bruno@clisp.org>
74782
74783                 Cygwin portability.
74784                 * progreloc.c: Include <windows.h> also on Cygwin.
74785                 (find_executable): Add support for Cygwin.
74786                 (set_program_name_and_installdir): Handle also platforms with
74787                 nonempty EXEEXT.
74788
74789         2006-07-11  Bruno Haible  <bruno@clisp.org>
74790
74791                 * javacomp.c: Fix a comment.
74792                 Reported by Jim Meyering.
74793
74794         2006-04-30  Bruno Haible  <bruno@clisp.org>
74795
74796                 * javacomp.h (compile_java_class): Add source_version,
74797                 target_version arguments.
74798                 * javacomp.c: Rewritten to choose only a compiler that
74799                 respects the specified source_version and target_version.
74800
74801         2006-06-27  Bruno Haible  <bruno@clisp.org>
74802
74803                 Assume correct S_ISDIR macro.
74804                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74805
74806         2006-07-22  Bruno Haible  <bruno@clisp.org>
74807
74808                 * javaversion.h: New file, from GNU gettext.
74809                 * javaversion.c: New file, from GNU gettext.
74810                 * javaversion.java: New file, from GNU gettext.
74811                 * javaversion.class: New file, from GNU gettext.
74812
74813         2006-05-17  Bruno Haible  <bruno@clisp.org>
74814
74815                 Cygwin portability.
74816                 * javaexec.c (execute_java_class): Test for jview program
74817                 also on Cygwin.
74818
74819         2006-04-09  Bruno Haible  <bruno@clisp.org>
74820
74821                 * fatal-signal.c: Don't include string.h.
74822                 (at_fatal_signal): Use a copying loop instead of memcpy.
74823
74824         2005-12-04  Bruno Haible  <bruno@clisp.org>
74825
74826                 * csharpexec.c: Add support for 'clix' launcher (untested).
74827                 (execute_csharp_using_sscli): New function.
74828                 (execute_csharp_program): Call it.
74829
74830         2006-06-21  Bruno Haible  <bruno@clisp.org>
74831
74832                 Avoid warnings from recent versions of mcs.
74833                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74834                 -o, -L, -r any more. Use options documented since mcs-1.0
74835                 instead. Similarly for -g.
74836
74837         2005-07-09  Bruno Haible  <bruno@clisp.org>
74838
74839                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74840                 add a .dll suffix.
74841                 Reported by Mark Junker <mjscod@gmx.de>.
74842
74843         2006-06-17  Bruno Haible  <bruno@clisp.org>
74844
74845                 * config.charset: Update for NetBSD 3.0.
74846
74847         2006-05-17  Bruno Haible  <bruno@clisp.org>
74848
74849                 Cygwin portability.
74850                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74851
74852         2006-05-16  Bruno Haible  <bruno@clisp.org>
74853
74854                 * localcharset.c [CYGWIN]: Include <windows.h>.
74855                 (get_charset_aliases): For Cygwin, return the same CPxxx
74856                 aliases list as under WIN32.
74857                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74858                 the environment variables. Fall back to GetACP().
74859
74860         2006-04-05  Bruno Haible  <bruno@clisp.org>
74861
74862                 * config.charset: Update Juan Manuel Guerrero's address.
74863
74864         2005-02-12  Bruno Haible  <bruno@clisp.org>
74865
74866                 * allocsa.h: Add extern "C" for C++.
74867
74868         2005-02-10  Bruno Haible  <bruno@clisp.org>
74869
74870                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74871                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74872
74873         2006-07-22  Bruno Haible  <bruno@clisp.org>
74874
74875                 * gettext.h: Update to GNU gettext-0.15.
74876
74877 2006-07-22  Bruno Haible  <bruno@clisp.org>
74878
74879         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74880         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74881         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74882
74883 2006-07-21  Eric Blake  <ebb9@byu.net>
74884
74885         * modules/stdlib-safer: New file.
74886         * MODULES.html.sh (File stream based Input/Output): Add
74887         stdlib-safer.
74888
74889 2006-07-21  Eric Blake  <ebb9@byu.net>
74890
74891         * lib/stdlib-safer.h: New file from coreutils, required by
74892         stdlib--.h.
74893
74894 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74895
74896         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74897
74898 2006-07-20  Bruno Haible  <bruno@clisp.org>
74899
74900         * gnulib-tool: Recognize new option --assume-autoconf.
74901         (autoconf_minversion): New variable.
74902         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74903
74904 2006-07-20  Bruno Haible  <bruno@clisp.org>
74905
74906         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74907
74908 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74909
74910         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74911         Reindent and repaginate.
74912
74913 2006-07-19  Derek Price  <derek@ximbiot.com>
74914
74915         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74916         Correct grammar.
74917
74918 2006-07-17  Bruno Haible  <bruno@clisp.org>
74919
74920         * modules/list: New file.
74921         * modules/array-list: New file.
74922         * modules/carray-list, modules/carray-list-tests: New files.
74923         * modules/linked-list, modules/linked-list-tests: New files.
74924         * modules/avltree-list, modules/avltree-list-tests: New files.
74925         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74926         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74927         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74928         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74929         * modules/oset: New file.
74930         * modules/array-oset: New file.
74931         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74932         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74933         * tests/test-carray_list.c: New file.
74934         * tests/test-linked_list.c: New file.
74935         * tests/test-avltree_list.c: New file.
74936         * tests/test-rbtree_list.c: New file.
74937         * tests/test-linkedhash_list.c: New file.
74938         * tests/test-avltreehash_list.c: New file.
74939         * tests/test-rbtreehash_list.c: New file.
74940         * tests/test-avltree_oset.c: New file.
74941         * tests/test-rbtree_oset.c: New file.
74942         * MODULES.html.sh (Container data structures): New section.
74943
74944 2006-07-17  Bruno Haible  <bruno@clisp.org>
74945
74946         * m4/gl_list.m4: New file.
74947
74948 2006-07-17  Bruno Haible  <bruno@clisp.org>
74949
74950         * lib/gl_list.h: New file.
74951         * lib/gl_list.c: New file.
74952         * lib/gl_array_list.h: New file.
74953         * lib/gl_array_list.c: New file.
74954         * lib/gl_carray_list.h: New file.
74955         * lib/gl_carray_list.c: New file.
74956         * lib/gl_linked_list.h: New file.
74957         * lib/gl_linked_list.c: New file.
74958         * lib/gl_anylinked_list1.h: New file.
74959         * lib/gl_anylinked_list2.h: New file.
74960         * lib/gl_avltree_list.h: New file.
74961         * lib/gl_avltree_list.c: New file.
74962         * lib/gl_anyavltree_list1.h: New file.
74963         * lib/gl_anyavltree_list2.h: New file.
74964         * lib/gl_rbtree_list.h: New file.
74965         * lib/gl_rbtree_list.c: New file.
74966         * lib/gl_anyrbtree_list1.h: New file.
74967         * lib/gl_anyrbtree_list2.h: New file.
74968         * lib/gl_anytree_list1.h: New file.
74969         * lib/gl_anytree_list2.h: New file.
74970         * lib/gl_linkedhash_list.h: New file.
74971         * lib/gl_linkedhash_list.c: New file.
74972         * lib/gl_anyhash_list1.h: New file.
74973         * lib/gl_anyhash_list2.h: New file.
74974         * lib/gl_avltreehash_list.h: New file.
74975         * lib/gl_avltreehash_list.c: New file.
74976         * lib/gl_rbtreehash_list.h: New file.
74977         * lib/gl_rbtreehash_list.c: New file.
74978         * lib/gl_anytreehash_list1.h: New file.
74979         * lib/gl_anytreehash_list2.h: New file.
74980
74981         * lib/gl_oset.h: New file.
74982         * lib/gl_oset.c: New file.
74983         * lib/gl_array_oset.h: New file.
74984         * lib/gl_array_oset.c: New file.
74985         * lib/gl_avltree_oset.h: New file.
74986         * lib/gl_avltree_oset.c: New file.
74987         * lib/gl_rbtree_oset.h: New file.
74988         * lib/gl_rbtree_oset.c: New file.
74989         * lib/gl_anytree_oset.h: New file.
74990
74991 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74992
74993         * m4/mkancesdirs.m4: New file.
74994         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74995         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74996         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74997         it.
74998
74999 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75000
75001         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
75002         * lib/mkancesdirs.h: New files.
75003         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
75004         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
75005         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
75006         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
75007         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
75008         callers changed.  Revamp internals significantly, by not
75009         attempting to create directories that are temporarily more
75010         permissive than the final results.  Do not attempt to use
75011         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
75012         This removes some race conditions, fixes some bugs, and simplifies
75013         things.  Use new dirchownmod function to do owner and mode changes.
75014         * lib/mkdir-p.h: Likewise.
75015         * lib/modechange.c (octal_to_mode): New function.
75016         (struct mode_change): New member mentioned.
75017         (make_node_op_equals): New arg mentioned.  All callers changed.
75018         (mode_compile): Keep track of which mode bits the user has explicitly
75019         mentioned.
75020         (mode_adjust): New arg DIR, so that we implement the X op correctly.
75021         New arg PMODE_BITS, to keep track of which mode bits the user
75022         mentioned; it treats S_ISUID and S_ISGID speciall.
75023         All callers changed.
75024         * lib/modechange.h: Likewise.
75025
75026 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
75027
75028         * MODULES.html.sh: Add mkancestors.
75029         * modules/mkancesdirs: New module.
75030         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
75031         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
75032         The chdir-safer and afs files are now orphans; I'll remove them
75033         unless someone speaks up.
75034         Add lib/dirchownmod.c, lib/dirchownmod.h.
75035         (Depends-on): Remove alloca, chown, save-cwd, dirname.
75036         Add lchown, mkancesdirs.
75037         (Maintainer): Add self.
75038
75039 2006-07-15  Karl Berry  <karl@gnu.org>
75040
75041         * gnulib-tool: help message wording/arrangement.
75042
75043 2006-07-14  Simon Josefsson  <jas@extundo.com>
75044
75045         * doc/gnulib.texi (Libtool and Windows): New section.
75046
75047 2006-07-12  Simon Josefsson  <jas@extundo.com>
75048
75049         * modules/gendocs (License): Fix license, approved by Karl.
75050
75051 2006-07-12  Eric Blake  <ebb9@byu.net>
75052
75053         * MODULES.html.sh: Add gendocs.
75054
75055 2006-07-11  Eric Blake  <ebb9@byu.net>
75056
75057         * modules/fdl: New module, to install doc/fdl.texi.
75058         * MODULES.html.sh: Add new section for documentation modules.
75059         * gnulib-tool: Avoid space-tab.
75060         (--doc-base): New option, to manage files from doc.
75061
75062 2006-07-11  Eric Blake  <ebb9@byu.net>
75063
75064         * m4/absolute-header.m4: Fix comments to match recent change.
75065
75066 2006-07-11  Eric Blake  <ebb9@byu.net>
75067
75068         * gnulib-tool: List --doc-base before --tests-base.
75069
75070 2006-07-11  Derek R. Price  <derek@ximbiot.com>
75071
75072         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
75073
75074 2006-07-11  Bruno Haible  <bruno@clisp.org>
75075
75076         * README: Mention where to put documentation.
75077
75078 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75079
75080         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
75081
75082 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75083
75084         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
75085         to stdint.m4.
75086
75087 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
75088
75089         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
75090         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
75091         "no/such/file/stdint.h" when there is no such file, so that
75092         the resulting C code can be parsed by dodgy compilers.
75093         Problems reported by Bob Proulx.
75094
75095 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75096
75097         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
75098         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75099         macros into the GNU _D_EXACT_NAMLEN.
75100         * lib/savedir.c:  Likewise.
75101         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
75102
75103 2006-07-10  Derek R. Price  <derek@ximbiot.com>
75104         and Paul Eggert  <eggert@cs.ucla.edu>
75105
75106         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
75107         * m4/savedir.m4:
75108         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
75109         macros into the GNU _D_EXACT_NAMLEN.
75110
75111 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75112
75113         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
75114         around the absolute name, to work around a problem with the HP-UX
75115         11.23 native C compiler, reported by Bob Proulx.
75116
75117 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75118
75119         * doc/maintain.texi, make-stds.texi: Sync from
75120         <http://savannah.gnu.org/projects/gnustandards>.
75121
75122 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75123
75124         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
75125
75126 2006-07-09  Jim Meyering  <jim@meyering.net>
75127
75128         * m4/glob.m4: Remove a doubled word in a comment.
75129
75130 2006-07-09  Jim Meyering  <jim@meyering.net>
75131
75132         * lib/argp-pv.c: Remove a doubled word in a comment.
75133         * lib/check-version.c (check_version): Likewise.
75134         * lib/javacomp.c (compile_java_class): Likewise.
75135
75136 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
75137
75138         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
75139         for the benefit of people using Autoconf 2.60.  If you want to
75140         support older Autoconf versions you can copy m4/onceonly_2_57.m4
75141         (or m4/onceonly.m4, if pre-2.57) manually.
75142
75143 2006-07-08  Jim Meyering  <jim@meyering.net>
75144
75145         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
75146         comment.
75147         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
75148         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
75149         comment.
75150
75151 2006-07-08  Jim Meyering  <jim@meyering.net>
75152
75153         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
75154
75155 2006-07-07  Simon Josefsson  <jas@extundo.com>
75156
75157         * tests/test-crc.c: Change expected crc value, the test vector
75158         were probably computed using the old broken crc.c?
75159
75160 2006-07-06  Simon Josefsson  <jas@extundo.com>
75161
75162         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
75163         now the canonical place for the M4 file).
75164
75165         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
75166         from the sys_socket dependency now.
75167
75168         * modules/inet_pton (Files): Ditto.
75169
75170         * modules/inet_ntop (Files): Ditto.
75171
75172 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
75173
75174         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
75175         not gl_PREREQ_GETUSERSHELL.
75176
75177 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75178
75179         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
75180         with only one argument, for Autoconf 2.60.
75181         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
75182         expand to nothing, so add a shell command to avoid syntax error.
75183         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75184
75185 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75186
75187         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
75188
75189 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75190
75191         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
75192         no longer needed.  Check for isblank decl.
75193         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
75194         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
75195         of existence.
75196
75197 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75198
75199         * lib/getloadavg.c: Use __VMS, not VMS.
75200         * lib/getopt.c: Likewise.
75201         * lib/getpagesize.h: Likewise.
75202         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
75203         and probably does not work.
75204
75205 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
75206
75207         * lib/.cppi-disable: Add wcwidth.
75208         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
75209         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
75210         (ISGRAPH): Remove.  All uses changed to isgraph.
75211         (FOLD) [!defined _LIBC]: Remove special case.
75212         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
75213         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
75214         HAVE_ISBLANK.
75215         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
75216         case.
75217
75218 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75219
75220         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
75221         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
75222         brackets.  Other minor changes to suppress some compiler
75223         warnings.
75224
75225 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75226         and Paul Eggert  <eggert@cs.ucla.edu>
75227
75228         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
75229         of invoking obsolescent AC_HEADER_DIRENT macro.
75230         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
75231         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
75232         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
75233         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
75234         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
75235         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
75236         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
75237         * m4/readdir.m4: Remove; no longer needed.
75238
75239 2006-07-06  Derek R. Price  <derek@ximbiot.com>
75240         and Paul Eggert  <eggert@cs.ucla.edu>
75241
75242         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
75243         Don't worry about this obsolete case any more.
75244         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
75245         directories.
75246         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
75247         worry about this obsolete case any more.
75248         * lib/fts.c: Likewise.
75249         * lib/getcwd.c: Likewise.
75250         * lib/glob.h: Likewise.
75251         * lib/savedir.c: Likewise.
75252
75253 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75254
75255         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
75256         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
75257         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
75258         needed.
75259         All uses removed.
75260         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75261         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75262         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
75263         needed.
75264         * m4/getdate.m4 (gl_GETDATE): Likewise.
75265         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75266         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75267         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75268         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75269         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
75270         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75271         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
75272         needed.
75273
75274 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
75275
75276         * lib/memcasecmp.c: Include <limits.h>.
75277         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
75278         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
75279         Don't assume isdigit succeeds only on '0' through '9'.
75280
75281 2006-07-05  Eric Blake  <ebb9@byu.net>
75282
75283         * modules/getaddrinfo (Depends-on): Add snprintf.
75284
75285 2006-07-05  Eric Blake  <ebb9@byu.net>
75286
75287         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
75288         to avoid 'header present but could not be compiled' on cygwin.
75289
75290 2006-07-05  Eric Blake  <ebb9@byu.net>
75291
75292         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
75293         missing from netdb.h.
75294         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
75295
75296 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75297
75298         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
75299         no longer needed.
75300         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
75301         * m4/getdate.m4 (gl_GETDATE): Likewise.
75302         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
75303         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
75304         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
75305         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
75306         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75307
75308 2006-07-05  Derek R. Price  <derek@ximbiot.com>
75309
75310         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
75311         All uses of is_space replaced by isspace.
75312         * lib/exit.h: Don't talk about STDC_HEADERS.
75313         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
75314         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
75315         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
75316         replaced by isprint etc.
75317         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
75318         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75319         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
75320         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
75321         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
75322         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
75323
75324 2006-07-05  Bruno Haible  <bruno@clisp.org>
75325
75326         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
75327         the function exists, before testing against AIX.
75328         Reported by Martin Lambers <marlam@marlam.de>.
75329
75330 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75331
75332         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
75333         From Mark D. Baushke.
75334
75335 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
75336
75337         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
75338         to the absolute name, not just one, to bypass Sun C 5.8's
75339         "warning: #include of /usr/include/... may be non-portable".
75340
75341 2006-07-04  Eric Blake  <ebb9@byu.net>
75342
75343         * modules/dirname-tests: New test module.
75344         * tests/test-dirname.c: New file, replacing dirname.c
75345         TEST_DIRNAME section that was recently deleted.
75346
75347 2006-07-04  Bruno Haible  <bruno@clisp.org>
75348
75349         Assume ANSI C header files and <ctype.h> functions.
75350         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
75351         (mbsnwidth): Use isprint, iscntrl instead.
75352
75353 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75354
75355         Merge from coreutils.
75356         * MODULES.html.sh: Add xstrtold.
75357         * modules/xstrtold: New file.
75358         * modules/cycle-check (Files): Add lib/same-inode.h.
75359         * modules/dirname (Files): Add m4/double-slash-root.m4.
75360         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
75361         * modules/mkdir-p (Files): Add lib/same-inode.h.
75362         * modules/same (Files): Add lib/same-inode.h.
75363
75364 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75365
75366         * m4/absolute-header.m4: Renamed from full-header-path.m4.
75367         This is to keep the terminology clean; POSIX talks about
75368         "absolute pathnames", not "full pathnames", but the GNU
75369         Coding Standards say to use "path" for something else;
75370         so use "absolute" to keep both sides happy.
75371         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
75372         Set gl_absolute_header, not gl_full_header_path.
75373         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
75374         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
75375         All uses changed.
75376
75377         Merge from coreutils.
75378
75379         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75380
75381         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
75382         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
75383         want to require the building of c-strtod.o.
75384         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
75385         needs -lm directly.
75386         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
75387
75388         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75389
75390         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
75391         --as-needed option if available.  Problem reported by Albert Chin in
75392         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
75393         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
75394         cc merely issues a bunch of annoying warnings for --as-needed
75395         (this problem was reported by Bob Proulx).  Also, try linking with
75396         -lm to detect a bug in binutils 2.16 (this problem was reported
75397         by Ralf Wildenhues).
75398
75399         2006-06-18  Jim Meyering  <jim@meyering.net>
75400
75401         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
75402         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
75403         macro.
75404         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
75405         also check for glibc-2.4's abort-inducing bug.
75406
75407         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
75408         Low-probability clean-up should be to use rmdir to get rid of
75409         the just-created directory, not unlink.
75410
75411         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
75412         configure fail, and request a bug report to inform us about it.
75413         Add a comment that, barring reports to the contrary, in 2007 we'll
75414         assume ftruncate is universally available.
75415
75416         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75417
75418         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
75419
75420         2006-03-12  Jim Meyering  <jim@meyering.net>
75421
75422         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
75423         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
75424         * m4/same.m4 (gl_SAME): Likewise.
75425         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
75426
75427         2006-03-11  Eric Blake  <ebb9@byu.net>
75428
75429         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
75430         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
75431         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
75432         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
75433
75434 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
75435
75436         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
75437         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
75438         reported by Mark D. Baushke, one in
75439         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
75440
75441         Merge from coreutils.
75442
75443         * lib/.cppi-disable: Add stdint_.h.
75444         * lib/.cvsignore: Add stdint.h.
75445
75446         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75447
75448         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75449         both double and long double versions.
75450         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75451         * lib/xstrtold.c: New file.
75452         * lib/xstrtod.h (xstrtold): New decl.
75453
75454         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75455
75456         * lib/filemode.c (setst): Remove.
75457         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75458         (arguably) clearer, and the generated code is a bit smaller on my
75459         Debian GNU/Linux stable x86 host.
75460
75461         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75462
75463         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75464         Assume that filemode.h includes sys/types.h and sys/stat.h.
75465         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75466         (ftypelet): Reorder to put common cases first, for efficiency.
75467         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75468         to do 'M'.
75469         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75470         of 10, for compatibility with FreeBSD.  All callers changed.
75471         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75472         types that can't be deduced solely from st_mode.  First arg is now a
75473         const pointer.
75474         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75475         (strmode): Renamed from mode_string.
75476         (filemodestring): New decl.
75477         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75478         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75479         needed.
75480         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75481
75482         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75483
75484         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75485         fsusage.h now does that.  Include fsusage.h first, to test interface.
75486         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75487         at most one method (the old code could have generated decls that
75488         didn't conform to C89, not that this was ever exercised).
75489         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75490
75491         2006-03-19  Jim Meyering  <jim@meyering.net>
75492
75493         Work even in a chroot where d_ino values for entries in "/"
75494         don't match the stat.st_ino values for the same names.
75495         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75496         number, iterate through all entries again, using lstat instead.
75497         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75498         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75499
75500         * lib/getcwd.c (__getcwd): Clarify a comment.
75501         Use memcpy in place of a call to strcpy.
75502
75503         2006-03-12  Jim Meyering  <jim@meyering.net>
75504
75505         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75506         matches that of the current directory (which we're about to chdir ".."
75507         out of), then save the dev-ino of the parent, instead.
75508
75509         * lib/same-inode.h (SAME_INODE): New file/macro.
75510         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75511         Include "same-inode.h", instead.
75512         * lib/same.c: Likewise.
75513         * lib/cycle-check.h: Include "same-inode.h".
75514         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75515         * lib/cycle-check.c (SAME_INODE): Remove definition.
75516         * lib/root-dev-ino.h: Include "same-inode.h".
75517
75518         2006-03-11  Eric Blake  <ebb9@byu.net>
75519
75520         * lib/same.c (same_name): s/base_name/last_component/
75521         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75522         * lib/filenamecat.c (file_name_concat): Likewise.
75523
75524         2006-03-11  Eric Blake  <ebb9@byu.net>,
75525                     Paul Eggert  <eggert@cs.ucla.edu>
75526
75527         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75528         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75529         drive prefix.
75530         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75531         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75532         (last_component): New method.
75533         * lib/dirname.c (dir_len): Determine when drive letters need a
75534         subsequent slash.  Preserve // when it is special.
75535         (dir_name): Don't append dot when drive letter is absolute.
75536         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75537         * lib/basename.c (base_name): New semantics - malloc the result.
75538         Preserve // when it is special.  Preserve relative files that look
75539         like drive letters.
75540         (base_len): Preserve // when it is special.
75541         (last_component): New method, similar to old base_name semantics.
75542         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75543         base_name.  Strip redundant slashes from ///.
75544
75545 2006-07-03  Jim Meyering  <jim@meyering.net>
75546
75547         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75548         macro is used before the first cycle_check call.
75549
75550 2006-07-03  Eric Blake  <ebb9@byu.net>
75551
75552         * modules/dirname (Depends-on): Add xstrndup.
75553
75554 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75555
75556         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75557         test cases, so that config.log is a bit easier to follow.
75558
75559 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75560
75561         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75562         both are 64 bits, since this seems to be the tradition, and this
75563         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75564         we ever run into a host that prefers long long to long in this
75565         case, we'll need another configure-time test.  Problem reported by
75566         Jim Meyering.
75567
75568 2006-07-02  Eric Blake  <ebb9@byu.net>
75569
75570         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75571
75572 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75573
75574         * modules/inttypes (Depends-on): No longer depends on stdint.
75575         * modules/stdint (Description): Say more about assumptions.
75576         Say that the fast types might differ.  Say macros are used.
75577         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75578         (Makefile.am): Revise list of substituted symbols to match
75579         new stdint.m4.
75580         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75581         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75582         * tests/test-stdint.c (verify_same_types)
75583         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75584         the code conforms to C99/C89.
75585         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75586         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75587
75588 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75591         but fix a bug, by requiring at least 64 bits.
75592         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75593         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75594         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75595         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75596
75597         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75598         changes.  Make 2.59 a prerequisite.  Check and substitute for
75599         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75600         inttypes.h.  Do not use special include files; just use the
75601         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75602         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75603         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75604         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75605         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75606         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75607         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75608         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75609         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75610         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75611         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75612         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75613         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75614         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75615         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75616         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75617         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75618         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75619         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75620         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75621         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75622         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75623         not check for things that C99 does not require, e.g., int8_t.  If
75624         a test isn't needed unless <stdint.h> isn't working, and is
75625         unlikely to be needed for any other reason, then don't do it
75626         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75627         size_t, since we assume C89 freestanding at least.  Do not check
75628         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75629         the right thing even if the types are not defined.  Instead use:
75630         (gl_STDINT_TYPE_PROPERTIES): New macro.
75631         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75632         testing whether <sys/types.h> clashes, as Autoconf does this for
75633         us now.  All uses removed.
75634         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75635         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75636         (gl_CHECK_TYPE_SAME):
75637         Remove; no longer needed.
75638         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75639         exists, since we'll return 0 anyway in that case.
75640         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75641
75642 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75643
75644         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75645         possible collision with system files.
75646         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75647         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75648         WCHAR_MIN and WCHAR_MAX in this case.
75649         (<stddef.h>): Do not include; no longer needed.
75650         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75651         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75652         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75653         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75654         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75655         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75656         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75657         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75658         !defined(__c99))]: Include in this case too, since it's harmless
75659         now.
75660         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75661         dangerous to do so.
75662         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75663         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75664         (_STDINT_MIN, _STDINT_MAX): New macros.
75665         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75666         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75667         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75668         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75669         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75670         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75671         macros, not typedefs; this simplifies things quite a bit.
75672         Use long int for all types narrower than int64_t.
75673         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75674         Define in terms of long long int or int64_t or long int,
75675         not int64_t or int32_t.  This saves some compile-time testing.
75676         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75677         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75678         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75679         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75680         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75681         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75682         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75683         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75684         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75685         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75686         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75687         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75688         undef any previous version and define our own version, for
75689         simplicity and consistency with the new macros for types.
75690         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75691         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75692         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75693         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75694         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75695         @WINT_T_SUFFIX@ to keep things simple here.
75696         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75697         Simplify by assuming typical 8/16/32/64 host, since we're
75698         already doing that elsewhere anyway.
75699         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75700         and assume long long int is 64 bits if available.  This
75701         speeds up 'configure'.
75702
75703 2006-07-01  Eric Blake  <ebb9@byu.net>
75704
75705         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75706         Reported by Andreas Buening.
75707
75708 2006-07-01  Eric Blake  <ebb9@byu.net>
75709
75710         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75711
75712 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75713
75714         * lib/getaddrinfo.c: fixed typo
75715
75716 2006-06-29  Jim Meyering  <jim@meyering.net>
75717
75718         * modules/strftime (Maintainer): Add my name, since with the
75719         FPRINTFTIME changes strftime.c has forked from glibc.
75720
75721 2006-06-29  Eric Blake  <ebb9@byu.net>
75722
75723         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75724
75725 2006-06-29  Eric Blake  <ebb9@byu.net>
75726
75727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75728
75729 2006-06-29  Eric Blake  <ebb9@byu.net>
75730
75731         * lib/stat_.h: New file.
75732
75733 2006-06-29  Eric Blake  <ebb9@byu.net>
75734
75735         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75736         unused static function.
75737
75738 2006-06-29  Eric Blake  <ebb9@byu.net>
75739
75740         * doc/functions.texi (Function Portability): Document missing lstat
75741         on mingw.
75742
75743 2006-06-29  Eric Blake  <ebb9@byu.net>
75744
75745         * MODULES.html.sh: Add sys_stat.
75746         * modules/sys_stat: New module.
75747         * modules/mkstemp (Depends-on): Add sys_stat.
75748
75749 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75750
75751         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75752
75753 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75754
75755         * m4/c-bs-a.m4: Removed.
75756
75757 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75758
75759         * lib/strftime.c: Assume strftime() exists.
75760
75761 2006-06-29  Derek Price  <derek@ximbiot.com>
75762
75763         * modules/c-bs-a: Removed - \a is C89.
75764         * MODULES.html.sh: Remove c-bs-a.
75765
75766 2006-06-29  Bruno Haible  <bruno@clisp.org>
75767
75768         * modules/wcwidth (License): Change to LGPL.
75769
75770 2006-06-28  Simon Josefsson  <jas@extundo.com>
75771
75772         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75773         on _WIN32.
75774
75775         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75776         getnameinfo.
75777
75778 2006-06-28  Simon Josefsson  <jas@extundo.com>
75779
75780         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75781
75782 2006-06-28  Simon Josefsson  <jas@extundo.com>
75783
75784         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75785         functions there.  It will succeed on Windows XP, but on Windows
75786         2000 and (presumably) earlier, it will fail, and use the internal
75787         re-implementation.
75788         (use_win32_p): New function.
75789         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75790         Support AI_NUMERICSERV to disable getservbyname.
75791         (getnameinfo): New function, only supports
75792         NI_NUMERICHOST|NI_NUMERICSERV for now.
75793
75794         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75795         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75796         getnameinfo.
75797
75798 2006-06-28  Eric Blake  <ebb9@byu.net>
75799
75800         * modules/wcwidth: New file.
75801         * modules/mbchar (Depends-on): Add wcwidth.
75802         * modules/mbswidth (Depends-on): Add wcwidth.
75803         * MODULES.html.sh: Add wcwidth.
75804
75805 2006-06-28  Eric Blake  <ebb9@byu.net>
75806
75807         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75808         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75809
75810 2006-06-28  Eric Blake  <ebb9@byu.net>
75811
75812         * lib/xvasprintf.h: Fix comments.
75813
75814 2006-06-28  Eric Blake  <ebb9@byu.net>
75815
75816         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75817         * lib/mbswidth.c (wcwidth): Move from here...
75818         * lib/wcwidth.h: ...to this new file.
75819
75820 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75821
75822         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75823
75824         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75825         it's obsolete.
75826         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75827
75828 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75829
75830         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75831         Autoconf 2.60 says this stuff was obsolete.
75832
75833 2006-06-28  Bruno Haible  <bruno@clisp.org>
75834
75835         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75836
75837 2006-06-28  Bruno Haible  <bruno@clisp.org>
75838
75839         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75840         gt_TYPE_WCHAR_T.
75841
75842 2006-06-28  Bruno Haible  <bruno@clisp.org>
75843
75844         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75845         declaration for wcwidth.
75846         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75847
75848 2006-06-28  Bruno Haible  <bruno@clisp.org>
75849
75850         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75851         (mkdir): Define using _mkdir.
75852
75853 2006-06-28  Bruno Haible  <bruno@clisp.org>
75854
75855         * lib/getaddrinfo.h: Fix POSIX URL.
75856         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75857         _WIN32.
75858         (use_win32_p): Make static.
75859         (getaddrinfo): Reject service name if it is empty or does not consist
75860         solely of decimal digits, or if its value is > 65535.
75861         (getnameinfo): Remove useless casts.
75862
75863 2006-06-27  Simon Josefsson  <jas@extundo.com>
75864
75865         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75866         Eggert and Martin Lambers.
75867
75868 2006-06-27  Simon Josefsson  <jas@extundo.com>
75869
75870         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75871         Eggert and Martin Lambers.
75872
75873 2006-06-27  Bruno Haible  <bruno@clisp.org>
75874
75875         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75876         result to 0, not to empty.
75877         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75878
75879 2006-06-27  Bruno Haible  <bruno@clisp.org>
75880
75881         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75882
75883 2006-06-26  Simon Josefsson  <jas@extundo.com>
75884
75885         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75886         present.
75887
75888 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75889
75890         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75891         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75892         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75893
75894 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75895
75896         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75897
75898 2006-06-26  Bruno Haible  <bruno@clisp.org>
75899
75900         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75901
75902 2006-06-26  Bruno Haible  <bruno@clisp.org>
75903
75904         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75905
75906 2006-06-26  Bruno Haible  <bruno@clisp.org>
75907
75908         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75909         SGI C compiler in pre-C99 mode.
75910         Suggested by Mark D. Baushke and Larry Jones.
75911
75912 2006-06-26  Bruno Haible  <bruno@clisp.org>
75913
75914         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75915         WCHAR_MAX.
75916         Reported by Mark D. Baushke and Larry Jones.
75917
75918 2006-06-26  Bruno Haible  <bruno@clisp.org>
75919
75920         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75921         in pre-C99 mode.
75922         Suggested by Mark D. Baushke and Larry Jones.
75923
75924 2006-06-23  Simon Josefsson  <jas@extundo.com>
75925             Bruno Haible  <bruno@clisp.org>
75926
75927         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75928         Emit mostlyclean-local rule.
75929         (func_emit_tests_Makefile_am): Likewise.
75930         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75931
75932 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75933
75934         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75935
75936 2006-06-23  Bruno Haible  <bruno@clisp.org>
75937
75938         * tests/test-stdint.c: Update to match ISO C 99 Technical
75939         Corrigendum 1.
75940
75941 2006-06-23  Bruno Haible  <bruno@clisp.org>
75942
75943         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75944
75945 2006-06-23  Bruno Haible  <bruno@clisp.org>
75946
75947         * lib/stdint_.h: Treat IRIX like OpenBSD.
75948
75949 2006-06-23  Bruno Haible  <bruno@clisp.org>
75950
75951         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75952         ISO C 99 Technical Corrigendum 1.
75953
75954 2006-06-22  Simon Josefsson  <jas@extundo.com>
75955
75956         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75957         MinGW.
75958
75959 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75960
75961         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75962         needed.  Some compiler complained about some of them.  Problem reported
75963         by Larry Jones in
75964         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75965
75966 2006-06-21  Simon Josefsson  <jas@extundo.com>
75967
75968         * tests/test-getaddrinfo.c: New file.
75969
75970         * modules/getaddrinfo-tests: New file.
75971
75972         * MODULES.html.sh: Add inet_pton.
75973
75974         * modules/inet_pton: New file.
75975
75976 2006-06-21  Simon Josefsson  <jas@extundo.com>
75977
75978         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75979         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75980         of using the (limited) gnulib implementation on Windows XP.
75981
75982         * m4/inet_pton.m4: New file.
75983
75984 2006-06-21  Simon Josefsson  <jas@extundo.com>
75985
75986         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75987         variable.
75988
75989         * lib/socket_.h: Don't define WINVER.
75990
75991         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75992         slightly modified to work in gnulib.
75993
75994 2006-06-21  Simon Josefsson  <jas@extundo.com>
75995
75996         * doc/gnulib.texi (Windows sockets): Add.
75997
75998 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75999
76000         * lib/read-file.c (fread_file): Start with buffer allocation of
76001         0 bytes rather than 1 byte; this simplifies the code.
76002         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
76003         code to free buffer and save/restore errno.
76004         (internal_read_file): Remove unused local.
76005
76006 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
76007
76008         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
76009         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
76010         Problem reported by Denis Excoffier in
76011         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
76012
76013 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76014
76015         * modules/sys_socket, modules/socklen: Include sys/types since
76016         FreeBSD 4.x's sys/socket.h needs it.
76017
76018 2006-06-19  Simon Josefsson  <jas@extundo.com>
76019
76020         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
76021
76022 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
76025
76026 2006-06-19  Bruno Haible  <bruno@clisp.org>
76027
76028         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
76029         and FULL_PATH_INTTYPES_H in angle brackets.
76030         Reported by Mark D. Baushke <mdb@gnu.org>.
76031
76032 2006-06-17  Eric Blake  <ebb9@byu.net>
76033
76034         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
76035         errno.
76036
76037 2006-06-17  Bruno Haible  <bruno@clisp.org>
76038
76039         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
76040         <sys/inttypes.h>.
76041
76042 2006-06-17  Bruno Haible  <bruno@clisp.org>
76043
76044         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
76045         whether errno is declared. Assume <errno.h> declares errno.
76046
76047 2006-06-17  Bruno Haible  <bruno@clisp.org>
76048
76049         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
76050
76051 2006-06-17  Bruno Haible  <bruno@clisp.org>
76052
76053         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
76054         problem on Solaris 2.5.1.
76055
76056 2006-06-16  Eric Blake  <ebb9@byu.net>
76057
76058         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
76059         * lib/unicodeio.c [!defined errno]: Likewise.
76060         * lib/strtol.c [!defined errno]: Likewise.
76061         * lib/strtod.c [!defined errno]: Likewise.
76062
76063 2006-06-15  Eric Blake  <ebb9@byu.net>
76064
76065         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
76066
76067 2006-06-15  Eric Blake  <ebb9@byu.net>
76068
76069         * config/srclist.txt (ssize_t.m4): Lose sync.
76070
76071 2006-06-15  Bruno Haible  <bruno@clisp.org>
76072
76073         * modules/stdint (Files): Include m4/full-header-path.m4,
76074         m4/size_max.m4, m4/wchar_t.m4.
76075         (Makefile.am): Many more substitutions.
76076         * modules/stdint-tests: New file.
76077         * tests/test-stdint.c: New file.
76078
76079 2006-06-15  Bruno Haible  <bruno@clisp.org>
76080
76081         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
76082         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
76083         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
76084         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
76085         gl_CHECK_TYPE_SAME): New macros.
76086
76087 2006-06-15  Bruno Haible  <bruno@clisp.org>
76088
76089         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
76090
76091 2006-06-15  Bruno Haible  <bruno@clisp.org>
76092
76093         * lib/stdint_.h: Rewritten to be fully auto-configured.
76094         Fixes bug on HP-UX/IA64.
76095
76096 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
76097
76098         * lib/getdate.y (__attribute__): Don't define if already defined.
76099         Problem reported by Larry Jones.
76100         * lib/utimens.c (__attribute__): Likewise.
76101
76102 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
76103
76104         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
76105         reported by Andreas Schwab.
76106
76107 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76108             Bruno Haible  <bruno@clisp.org>
76109
76110         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
76111         check for the declaration of strnlen and a run test that exposes the
76112         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
76113         rpl_strndup.
76114
76115 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76116             Bruno Haible  <bruno@clisp.org>
76117
76118         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
76119
76120 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76121
76122         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
76123         compile test, for Tru64 4.0D.
76124
76125 2006-05-28  Karl Berry  <karl@gnu.org>
76126
76127         * config/srclist.txt (printf-args.c): lose sync.
76128
76129 2006-05-26  Martin Lambers  <marlam@marlam.de>
76130
76131         * lib/getpass.c: Updates the test for the native W32 API, and adds
76132         missing includes, thus fixing compilation warnings.
76133
76134 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76135
76136         * lib/exclude.c (exclude_fnmatch): New function.
76137         (excluded_file_name): Call exclude_fnmatch.
76138         * lib/exclude.h (excluded_file_name): New prototype
76139
76140 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
76141
76142         * lib/tempname.c (small_open, large_open): New macros.
76143         (__open, __open64) [!_LIBC]: Remove.
76144         (__gen_tempname): Use small_open and large_open instead of __open
76145         and __open64.  This fixes a portability bug on HP-UX 11.11i
76146         reported by Simon Wing-Tang in
76147         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
76148
76149 2006-05-24  Bruno Haible  <bruno@clisp.org>
76150
76151         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
76152         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
76153         Reported by Thorsten Maerz <torte@netztorte.de> via
76154         Aaron Stone <aaron@serendipity.cx>.
76155
76156 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76157
76158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
76159         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
76160         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
76161         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
76162         not really conditional on the cache.
76163         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
76164
76165 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
76166
76167         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
76168         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
76169         (my_usleep): Don't mishandle maximum value.
76170
76171 2006-05-19  Jim Meyering  <jim@meyering.net>
76172
76173         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
76174
76175 2006-05-17  Bruno Haible  <bruno@clisp.org>
76176
76177         Cygwin portability.
76178         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
76179
76180 2006-05-17  Bruno Haible  <bruno@clisp.org>
76181
76182         * lib/stdint_.h: Fix recognition of Cygwin.
76183
76184 2006-05-15  Bruno Haible  <bruno@clisp.org>
76185
76186         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
76187         on libtool patch by Ralf Wildenhues.
76188
76189 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
76190
76191         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
76192         test for C99 conformance; (bool) 0.5 is an integer constant
76193         expression, but (bool) -0.5 is not.  Problem reported by Fedor
76194         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
76195
76196 2006-05-11  Simon Josefsson  <jas@extundo.com>
76197
76198         * m4/xvasprintf.m4: Fix obvious typo.
76199
76200 2006-05-11  Jim Meyering  <jim@meyering.net>
76201
76202         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
76203         James Lemley.
76204
76205 2006-05-10  Simon Josefsson  <jas@extundo.com>
76206
76207         * lib/md4.c: Typo fix, update copyright years.
76208         (K1, K2): Don't use L because it turn computations into 64-bit on
76209         64-bit platforms.
76210
76211 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
76212
76213         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
76214         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
76215         unwanted sign propagation, e.g., on hosts with 64-bit int.
76216         There still are some problems with reeelly weird theoretical hosts
76217         (e.g., 33-bit int) but it's not worth worrying about now.
76218         * lib/sha1.c (rol): Likewise.
76219         (K1, K2, K3, K4): Remove unnecessary L suffix.
76220
76221 2006-05-10  Bruno Haible  <bruno@clisp.org>
76222
76223         * lib/des.c: Cast to avoid warnings.
76224
76225 2006-05-09  Bruno Haible  <bruno@clisp.org>
76226
76227         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
76228         (Depends-on): Depend also on xsize, stdarg.
76229         (configure.ac): Add gl_XVASPRINTF.
76230
76231 2006-05-09  Bruno Haible  <bruno@clisp.org>
76232
76233         * m4/xvasprintf.m4: New file.
76234
76235 2006-05-09  Bruno Haible  <bruno@clisp.org>
76236
76237         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
76238         (EOVERFLOW): Define fallback value.
76239         (xstrcat): New function.
76240         (xvasprintf): Recognize the special case of a string concatenation.
76241
76242 2006-05-08  Eric Blake  <ebb9@byu.net>
76243
76244         * gnulib-tool (func_version): Base copyright year on CVS date.
76245         (func_emit_copyright_notice): New function.
76246         (func_emit_lib_Makefile_am): Use it.
76247         (func_emit_tests_Makefile_am): Likewise.
76248         (func_import): Likewise.
76249
76250 2006-05-08  Bruno Haible  <bruno@clisp.org>
76251
76252         * modules/stdarg: New file.
76253         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
76254
76255 2006-05-08  Bruno Haible  <bruno@clisp.org>
76256
76257         * m4/stdarg.m4: New file, from GNU gettext.
76258
76259 2006-05-08  Bruno Haible  <bruno@clisp.org>
76260
76261         * config/srclist.txt (build-aux/config.rpath): different from latest
76262         release.
76263
76264 2006-05-08  Bruno Haible  <bruno@clisp.org>
76265
76266         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
76267
76268 2006-05-05  Jim Meyering  <jim@meyering.net>
76269
76270         * m4/warning.m4: New file, derived from bison's file by the same name.
76271
76272 2006-05-03  Bruno Haible  <bruno@clisp.org>
76273
76274         * lib/stdint_.h: Shorter URL.
76275         * lib/inttypes.h: Likewise.
76276
76277 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76278
76279         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
76280
76281 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76282
76283         * lib/verify.h: Document the internals better.  Most of this change
76284         was written by Bruno Haible.
76285
76286 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
76287
76288         * doc/verify.texi: New file, partly based on a proposal by
76289         Bruno Haible.
76290
76291 2006-05-02  Bruno Haible  <bruno@clisp.org>
76292
76293         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
76294         test from here...
76295         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
76296
76297 2006-04-29  Bruno Haible  <bruno@clisp.org>
76298
76299         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
76300         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
76301
76302 2006-04-29  Bruno Haible  <bruno@clisp.org>
76303
76304         * gnulib-tool: Make --update option actually work.
76305
76306 2006-04-29  Bruno Haible  <bruno@clisp.org>
76307
76308         * doc/gcd.texi: New file.
76309         * doc/gnulib.texi: Include it.
76310
76311 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
76312
76313         * lib/getdate.y (get_date): When adding relative date, start with the
76314         initial time, not with the result of the first mktime call.
76315
76316 2006-04-25  Bruno Haible  <bruno@clisp.org>
76317
76318         * gnulib-tool (func_import): Output the include directives in three
76319         blocks, sorted separately.
76320         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76321
76322 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76323
76324         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
76325         to define main with arguments, for C++.  Reported by Eric Blake.
76326         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
76327         Prefer 'int main ()' to 'int main (void)', for C++.
76328         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
76329         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
76330         for 'main', for C99 and C++.
76331
76332 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
76333
76334         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
76335         Don't assume that exit status -1 is valid.
76336         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76337         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
76338         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
76339         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
76340         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
76341         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
76342         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
76343         functions can be used without declaring them, or that you can
76344         exit with status -1.
76345         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
76346
76347 2006-04-24  Karl Berry  <karl@gnu.org>
76348
76349         * config/srclist.txt (longdouble.m4): sync lost.
76350
76351 2006-04-24  Eric Blake  <ebb9@byu.net>
76352
76353         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
76354
76355 2006-04-24  Bruno Haible  <bruno@clisp.org>
76356
76357         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
76358         poll() implementation in AIX.
76359         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76360
76361 2006-04-24  Bruno Haible  <bruno@clisp.org>
76362
76363         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
76364         assigned exactly once.
76365
76366 2006-04-23  Claudio Fontana  <claudio@gnu.org>
76367             Bruno Haible  <bruno@clisp.org>
76368
76369         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
76370         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
76371         for AM_CPPFLAGS.
76372
76373 2006-04-23  Bruno Haible  <bruno@clisp.org>
76374
76375         * modules/copy-file: Depend on unistd.
76376         * modules/execute: Likewise.
76377         * modules/fatal-signal: Likewise.
76378         * modules/findprog: Likewise.
76379         * modules/mkdtemp : Likewise.
76380         * modules/pipe: Likewise.
76381         * modules/wait-process: Likewise.
76382
76383 2006-04-23  Bruno Haible  <bruno@clisp.org>
76384
76385         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
76386         condition was already detected.
76387         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76388
76389 2006-04-23  Bruno Haible  <bruno@clisp.org>
76390
76391         * lib/copy-file.c: Include <unistd.h> unconditionally.
76392         * lib/execute.c: Likewise.
76393         * lib/fatal-signal.c: Likewise.
76394         * lib/findprog.c: Likewise.
76395         * lib/mkdtemp.c: Likewise.
76396         * lib/pipe.h: Likewise.
76397         * lib/pipe.c: Likewise.
76398         * lib/wait-process.h: Likewise.
76399
76400 2006-04-23  Bruno Haible  <bruno@clisp.org>
76401
76402         * gnulib-tool (func_usage): Fix --import description. Document
76403         --update.
76404         (func_import): Create temporary file in a temporary directory, if
76405         --dry-run is specified. Silence errors from 'grep' when there are no
76406         m4 files in $m4dir.
76407         (func_create_testdir): Silence errors from 'grep' when there are no
76408         m4 files in $m4dir.
76409         Reported by Karl Berry <karl@freefriends.org>.
76410
76411 2006-04-20  Bruno Haible  <bruno@clisp.org>
76412
76413         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
76414         one argument, so that the code will be portable to Autoconf 2.60.
76415         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
76416         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
76417         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
76418
76419 2006-04-19  Derek Price  <derek@ximbiot.com>
76420             Eric Blake  <ebb9@byu.net>
76421
76422         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
76423         rather than "/full/path.h".  Update comment to match.  Shorten &
76424         generalize m4_translit call via AS_TR_CPP.
76425
76426 2006-04-19  Derek Price  <derek@ximbiot.com>
76427             Eric Blake  <ebb9@byu.net>
76428
76429         * lib/inttypes.h: Correct grammar in comment.
76430
76431 2006-04-18  Derek Price  <derek@ximbiot.com>
76432             Paul Eggert  <eggert@cs.ucla.edu>
76433
76434         * modules/inttypes: New file.
76435         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
76436
76437 2006-04-18  Derek Price  <derek@ximbiot.com>
76438             Paul Eggert  <eggert@cs.ucla.edu>
76439
76440         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76441         New files.
76442
76443 2006-04-18  Derek Price  <derek@ximbiot.com>
76444             Paul Eggert  <eggert@cs.ucla.edu>
76445
76446         * lib/inttypes.h: New file.
76447         * lib/strtoimax.c: Assume <inttypes.h>.
76448
76449 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76450
76451         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76452         isn't mounted.  Problem reported by Kir Kolyshkin.
76453
76454 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76455
76456         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76457         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76458         Derek R. Price.
76459         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76460         implementation.
76461
76462 2006-04-12  Eric Blake  <ebb9@byu.net>
76463
76464         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76465         is now done automatically by the corresponding Autoconf macro.
76466
76467 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76468
76469         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76470         time_r.h.
76471
76472 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76473
76474         Merge regex changes from libc, removing some of our
76475         POSIX-conformance changes that were rejected and redoing them in a
76476         less-intrusive way.
76477
76478         * lib/regcomp.c (re_compile_internal, init_dfa):
76479         Length arg is now size_t, not Idx.  All uses changed.
76480         (peek_token): Forward decl now says internal_function.
76481         (__re_error_msgid, __re_error_msgid_idx):
76482         Now static rather than extern with attribute_hidden.
76483         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76484         For some reason libc prefers K&R style defns for external functions.
76485         (regerror) [!defined _LIBC]: Likewise.
76486         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76487         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76488         (build_range_exp, build_collating_symbol):
76489         Use K&R-style defn.
76490         (re_compile_fastmap): Use '\0' to memset, not 0.
76491         (utf8_sb_map): Make the calculations more obvious.
76492         (init_dfa, parse_bracket_exp, build_charclass_op):
76493         Call calloc and cast result, as glibc does.
76494         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76495         (build_range_exp, build_collating_symbol):
76496         Now internal functions.
76497
76498         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76499
76500         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76501         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76502         Don't depend on VMS; depend on __VMS instead, for POSIX
76503         namespace cleanness.
76504         (regoff_t): Define to ssize_t, not long int.
76505
76506         Remove the REG_ macros named below.  Instead, make the old names
76507         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76508         __USE_GNU_REGEX.
76509         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76510         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76511         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76512         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76513         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76514         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76515         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76516         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76517         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76518         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76519         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76520         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76521         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76522         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76523         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76524         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76525         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76526         (REG_NREGS):
76527         Remove.  All uses replaced by the old RE_* names.
76528         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76529         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76530         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76531         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76532         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76533         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76534         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76535         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76536         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76537         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76538         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76539         Don't bother having these macros be independent of each others'
76540         values, since they no longer exist in the POSIX name space.
76541
76542         Rename the following member names back to their old names,
76543         unless !__USE_GNU_REGEX.  All uses changed back.
76544         (buffer): Renamed from re_buffer.
76545         (allocated): Renamed from re_allocated.
76546         (used): Renamed from re_used.
76547         (syntax): Renamed from re_syntax.
76548         (fastmap): Renamed from re_fastmap.
76549         (translate): Renamed from re_translate.
76550         (can_be_null): Renamed from re_can_be_null.
76551         (regs_allocated): Renamed from re_regs_allocated.
76552         (fastmap_accurate): Renamed from re_fastmap_accurate.
76553         (no_sub): Renamed from re_no_sub.
76554         (not_bol): Renamed from re_not_bol.
76555         (not_eol): Renamed from re_not_eol.
76556         (newline_anchor): Renamed from re_newline_anchor.
76557         (num_regs): Renamed from rm_num_regs.
76558         (start): Renamed from rm_start.
76559         (end): Renamed from rm_end.
76560
76561         (free_state): Move up a bit.
76562
76563         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76564         #define to be empty.
76565         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76566         when that is what is intended.
76567         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76568         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76569         (MAX): New macro.
76570         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76571         All uses changed back to re_malloc, etc.  It's now the caller's
76572         responsibility to check for overflow; all callers changed.
76573         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76574         (re_x2nrealloc): Remove.
76575         (free_state): Remove decl.
76576
76577         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76578         (re_set_registers, re_exec):
76579         Use K&R-style defn.
76580
76581         2006-01-31  Roland McGrath  <roland@redhat.com>
76582
76583         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76584         Reported by Mike Frysinger <vapier@gentoo.org>.
76585
76586         2006-01-15  Andreas Jaeger  <aj@suse.de>
76587
76588         [BZ #1950]
76589         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76590         build_wcs_upper_buffer change.
76591         (build_wcs_upper_buffer): Change return type.
76592
76593         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76594
76595         * lib/regex_internal.h: Include <stdint.h> if available.
76596
76597         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76598
76599         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76600
76601         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76602
76603         * lib/regcomp.c: Adjust for changed secondary hash function.
76604
76605         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76606
76607         * lib/regex.h: Pretty printing.
76608         Clean up namespace a bit.
76609
76610         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76611
76612         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76613         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76614
76615         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76616                     Ulrich Drepper  <drepper@redhat.com>
76617
76618         [BZ #1302]
76619         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76620         changed.
76621         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76622
76623         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76624
76625         [BZ #281]
76626         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76627         * lib/regcomp.c: Remove unnecessary uses of
76628         unsigned RE_TRANSLATE_TYPE.
76629         * lib/regex_internal.h: Likewise.
76630         * lib/regex_internal.c: Likewise.
76631         * lib/regexec.c: Likewise.
76632         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76633
76634         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76635
76636         * lib/regexec.c (find_recover_state): Remove unnecessary
76637         initialization.
76638         (transit_state_bkref): Make DFA a const pointer.
76639         (get_subexp): Likewise.
76640         (check_arrival): Likewise.
76641         (update_cur_sifted_state): Likewise.
76642         (re_search_internal): Likewise.
76643         (prune_impossible_nodes): Likewise.
76644         (acquire_init_state_context): Likewise.
76645         (proceed_next_node): Likewise.
76646         (set_regs): Likewise.
76647         (free_fail_stack_return): Likewise.
76648         (check_arrival_expand_ecl): Mark DFA parameter as const.
76649         (check_arrival_expand_ecl_sub): Likewise.
76650         (check_subexp_limits): Likewise.
76651         (sub_epsilon_src_nodes):  Likewise.
76652         (add_epsilon_src_nodes):  Likewise.
76653         (merge_state_array): Likewise.
76654         (update_regs): Likewise.
76655         (build_trtable): Likewise.
76656         (sift_states_backward): Mark MCTX parameter as const.
76657         (build_sifted_states): Likewise.
76658         (update_cur_sifted_state): Likewise.
76659         (sift_states_mkref): Likewise.
76660         (check_arrival_expand_ecl): Mark eclosure as const.
76661         (check_dst_limits_calc_pos_1): Likewise.
76662         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76663         pointer.
76664
76665         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76666
76667         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76668         (transit_state_sb): Likewise.
76669         (transit_state_mb): Likewise.
76670         (sift_states_iter_mb): Likewise.
76671         (check_arrival_add_next_nodes): Likewise.
76672         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76673         [_LIBC] (re_search_2_stub): Use mempcpy.
76674
76675         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76676         mbrtowc for very simple UTF-8 case.
76677
76678         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76679         a pointer-to-const.
76680         (re_acquire_state_context): Likewise.
76681         * lib/regex_internal.h: Adjust prototypes.
76682
76683         * lib/regex.c: Prevent using C++ compilers.
76684
76685         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76686         (re_acquire_state_context): Likewise.
76687
76688 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76689
76690         * modules/regex (Depends-on): Add ssize_t.
76691
76692 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76693
76694         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76695         translation table.
76696
76697 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76698
76699         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76700
76701 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76702             Bruno Haible  <bruno@clisp.org>
76703
76704         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76705         <sys/types.h> and <inttypes.h>.
76706
76707 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76708
76709         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76710         `__error_t_defined', so argp.h will not typedef the former.
76711
76712 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76715         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76716         glibc names.  Even if glibc is changed to conform to POSIX, the
76717         traditional names will be available anyway, since regex depends on
76718         the extensions module.  Also, fix a longstanding typo in the
76719         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76720         reported by Emanuele Giaquinta.  Also, change sense of cached
76721         variable, so that the message makes sense.
76722
76723 2006-03-24  Simon Josefsson  <jas@extundo.com>
76724
76725         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76726         including some doc fixes.
76727         (base64_encode_alloc): Fix +1 bug on allocation failures.
76728
76729 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76730
76731         * lib/base64.c (base64_encode): Do not read past end of array with
76732         unsanitized input on systems with CHAR_BIT > 8.
76733
76734 2006-03-24  Eric Blake  <ebb9@byu.net>
76735
76736         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76737
76738 2006-03-22  Karl Berry  <karl@gnu.org>
76739
76740         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76741         * config/srclistvars.sh (COREUTILS): new var.
76742
76743 2006-03-17  Jim Meyering  <jim@meyering.net>
76744
76745         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76746         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76747
76748 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76749
76750         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76751         no longer needs it.  Instead, check that regoff_t is as least
76752         as wide as ptrdiff_t.
76753
76754         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76755         so that our regex.h stays compatible with the installed regex.
76756         This is helpful for installers who configure --without-included-regex.
76757         Problem reported by Emanuele Giaquinta.
76758
76759 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76762         Typedef to long int, not to off_, as POSIX will likely change
76763         in that direction.
76764
76765 2006-03-15  Eric Blake  <ebb9@byu.net>
76766
76767         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76768
76769 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76770
76771         * lib/argp-help.c (validate_uparams): Fix typo
76772         * lib/argp-parse.c (argp_default_options): Consistently begin help
76773         messages with a lowercase letter.
76774
76775 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76776
76777         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76778         overrun buffers and shouldn't be used (much as gets shouldn't be
76779         used).
76780         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76781
76782 2006-03-08  Simon Josefsson  <jas@extundo.com>
76783
76784         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76785         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76786
76787 2006-03-08  Simon Josefsson  <jas@extundo.com>
76788
76789         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76790         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76791
76792 2006-03-08  Simon Josefsson  <jas@extundo.com>
76793
76794         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76795         signal that configure disabled the device.
76796
76797 2006-03-08  Simon Josefsson  <jas@extundo.com>
76798
76799         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76800         languages.
76801
76802 2006-03-07  Simon Josefsson  <jas@extundo.com>
76803
76804         * modules/getopt (Depends-on): Add unistd.
76805
76806         * modules/unistd: New file.
76807
76808 2006-03-07  Simon Josefsson  <jas@extundo.com>
76809
76810         * modules/gc-random: New file.
76811
76812 2006-03-07  Simon Josefsson  <jas@extundo.com>
76813
76814         * m4/unistd_h.m4: New file.
76815
76816 2006-03-07  Simon Josefsson  <jas@extundo.com>
76817
76818         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76819         test to be side-effect free by storing the result in the cache
76820         variable gl_cv_lib_readline, and moving the assignment of
76821         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76822         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76823
76824 2006-03-07  Simon Josefsson  <jas@extundo.com>
76825
76826         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76827         error on missing devices (the functions will return an error).
76828
76829         * m4/gc.m4: Move random stuff to gc-random.m4
76830
76831 2006-03-07  Simon Josefsson  <jas@extundo.com>
76832
76833         * lib/unistd_.h: New file.
76834
76835 2006-03-07  Simon Josefsson  <jas@extundo.com>
76836
76837         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76838
76839 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76842         Problem reported by Juan Manuel Guerrero.
76843
76844 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76845
76846         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76847         the unistd module.
76848         * lib/getlogin_r.c: Likewise.
76849         * lib/getlogin_r.h: Likewise.
76850         * lib/glob.c: Likewise.
76851         * lib/pagealign_alloc.c: Likewise.
76852         * lib/unistd_.h: Remove; no longer needed.
76853
76854 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76855
76856         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76857         Add unistd.
76858         * modules/c-stack (Depends-on): Add unistd.
76859         * modules/getlogin_r: Likewise.
76860         * modules/glob: Likewise.
76861         * modules/pagealign_alloc: Likewise.
76862         * modules/unistd (Files): Remove lib/unistd_.h.
76863         (EXTRA_DIST): Remove.
76864         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76865         need unistd_.h.
76866         (MOSTLYCLEANFILES): Remove unistd.h-t.
76867
76868 2006-03-03  Simon Josefsson  <jas@extundo.com>
76869
76870         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76871
76872 2006-03-03  Simon Josefsson  <jas@extundo.com>
76873
76874         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76875         libidn and bison.
76876
76877 2006-03-03  Simon Josefsson  <jas@extundo.com>
76878
76879         * build-aux/maint.mk: Add indent target.
76880
76881 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76882
76883         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76884         our replacement poll.h in any case, to avoid a differing
76885         declaration from a system header.  Seen on AIX.
76886
76887 2006-03-01  Simon Josefsson  <jas@extundo.com>
76888
76889         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76890         <kasal@ucw.cz>.
76891
76892 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76893
76894         * modules/gettime (Depends-on): Add extensions module.
76895         * modules/nanosleep (Depends-on): Likewise.
76896         * modules/settime (Depends-on): Likewise.
76897
76898 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76899
76900         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76901         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76902         pedantically.
76903         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76904         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76905
76906         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76907         not "==".  Reported by Ralf Wildenhues.
76908
76909 2006-03-01  Karl Berry  <karl@gnu.org>
76910
76911         * doc/Copyright/request-*: new files, synced from gnuorg.
76912
76913 2006-03-01  Karl Berry  <karl@gnu.org>
76914
76915         * config/srclist.txt (Copyright/*): new entries.
76916
76917 2006-02-28  Simon Josefsson  <jas@extundo.com>
76918
76919         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76920
76921 2006-02-27  Simon Josefsson  <jas@extundo.com>
76922
76923         * lib/base64.h: Indent #define's.  From Jim Meyering
76924         <jim@meyering.net>.
76925
76926 2006-02-27  Jim Meyering  <jim@meyering.net>
76927
76928         Revert the change of 2006-02-24, so these files can continue
76929         to be sync'd from gettext.
76930         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76931         of `config.h'.
76932
76933 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76934
76935         * modules/intprops: New file.
76936         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76937         Add intprops.
76938         * modules/getloadavg (Files): Remove lib/intprops.h.
76939         (Depends-on): Add intprops.
76940         * modules/human: Likewise.
76941         * modules/inttostr: Likewise.
76942         * modules/openat: Likewise.
76943         * modules/sig2str: Likewise.
76944         * modules/userspec: Likewise.
76945         * modules/utimecmp: Likewise.
76946         * modules/xnanosleep: Likewise.
76947         * modules/xstrtol: Likewise.
76948
76949 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76950
76951         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76952         * modules/lock-tests (TESTS): Use $(EXEEXT).
76953         * modules/tls-tests: Likewise.
76954         * modules/argp-tests: Likewise.
76955         (check_PROGRAMS): New var, replacing...
76956         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76957
76958 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76959
76960         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76961         `config.h'.
76962
76963 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76964
76965         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76966
76967 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76968
76969         Sync from coreutils.
76970         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76971         gl_CHDIR_SAFER.
76972
76973 2006-02-22  Jim Meyering  <jim@meyering.net>
76974
76975         Sync from coreutils.
76976         * m4/chdir-safer.m4: New file.
76977
76978 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76979
76980         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76981         AT_FDCWD exceeds INT_MAX.
76982         * lib/openat.h (AT_FDCWD): Likewise.
76983
76984 2006-02-17  Eric Blake  <address@hidden>
76985
76986         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76987
76988 2006-02-16  Simon Josefsson  <jas@extundo.com>
76989
76990         * modules/getaddrinfo (Depends-on): Add sys_socket.
76991
76992 2006-02-15  Simon Josefsson  <jas@extundo.com>
76993
76994         * build-aux/maint.mk: Add dsyntax-check rule.
76995
76996 2006-02-15  Eric Blake  <ebb9@byu.net>
76997
76998         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76999         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
77000         'present but cannot compile' warnings on cygwin.
77001         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
77002         use ws2tcpip.h if sys/socket.h works.
77003         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
77004         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
77005
77006 2006-02-14  Simon Josefsson  <jas@extundo.com>
77007
77008         * modules/maintainer-makefile (Files): Rename.
77009
77010         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
77011         and (the local) Makefile.cfg to maint-cfg.mk.
77012
77013         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
77014         to the latter.
77015
77016         * modules/maintainer-makefile: New module.
77017
77018         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
77019         severaly stripped to make it possible to build it up from scratch
77020         with reliable tests.
77021
77022         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
77023         fixes to permit overriding the default actions when configure and
77024         makefile are not available.
77025
77026 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
77027
77028         Sync from coreutils.
77029         * modules/lstat (Depends-on): Don't depend on xalloc.
77030         (License): Change from GPL to LGPL, since this is now simply a
77031         replacement for a libc function.
77032
77033 2006-02-14  Jim Meyering  <jim@meyering.net>
77034
77035         Sync from coreutils.
77036
77037         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
77038         failure on deficient systems, and simplify gnulib lgpl dependencies.
77039         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
77040         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
77041
77042         * lib/xalloc-die.c: Remove unused definition of N_.
77043
77044 2006-02-14  Jim Meyering  <jim@meyering.net>
77045
77046         Sync from coreutils.
77047         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
77048         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
77049         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
77050         double-quote uses of that variable, to accommodate the rare case in
77051         which getmntent is available in none of the libraries checked.  This
77052         happens at least on FreeBSD 5.0.
77053
77054 2006-02-13  Simon Josefsson  <jas@extundo.com>
77055
77056         * gnulib-tool (Usage): Fix --import, from
77057         karl@freefriends.org (Karl Berry).
77058
77059 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
77060
77061         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
77062
77063 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
77064
77065         * lib/argp-namefrob.h: Restore changes accidentally lost during the
77066         "autoupdate" on 2005-12-12.
77067
77068 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77069
77070         * modules/closeout (Depends-on): Remove atexit.
77071
77072 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
77073
77074         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
77075         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
77076
77077 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
77078
77079         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
77080         __EXTENSIONS__ if this causes compilation to fail.  Problem
77081         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
77082         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
77083
77084 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
77085
77086         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
77087         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
77088         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
77089         All uses changed.
77090
77091 2006-01-26  Simon Josefsson  <jas@extundo.com>
77092
77093         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
77094         prototype is visible on mingw32.
77095
77096         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
77097         for mingw32.
77098
77099         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
77100         mingw32).
77101
77102 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
77103
77104         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
77105         attempt to open for write; this always fails, at least on POSIX
77106         hosts.  This reinstates the 2006-01-09 change, which was
77107         inadvertently removed.
77108
77109 2006-01-26  Bruno Haible  <bruno@clisp.org>
77110
77111         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
77112         Reported by Paul Eggert.
77113
77114 2006-01-26  Bruno Haible  <bruno@clisp.org>
77115             Paul Eggert  <eggert@cs.ucla.edu>
77116
77117         * lib/stdbool_.h (_Bool)
77118         [(! (defined __cplusplus || defined __BEOS__)
77119           && !defined __GNUC__
77120           && !(defined __HP_cc || defined __xlc__
77121                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
77122                || defined __sgi))]:
77123         #define to signed char in these cases too; this simplifies
77124         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
77125         etc., separately) and makes it more conservative.
77126
77127 2006-01-25  Simon Josefsson  <jas@extundo.com>
77128
77129         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
77130         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
77131         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
77132
77133 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
77134
77135         * lib/argp-namefrob.h: Bugfix. Remove stray #
77136
77137 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
77138
77139         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
77140         so that we test the test.
77141         Check for yet another HP-UX cc bug involving *bool |= bool.
77142
77143 2006-01-25  Karl Berry  <karl@gnu.org>
77144
77145         * config/srclist.txt (vasnprintf.c): sync lost.
77146
77147 2006-01-25  Jim Meyering  <jim@meyering.net>
77148
77149         Sync from the stable (b5) branch of coreutils:
77150
77151         * lib/fts.c (fts_children): Don't let close() clobber errno from
77152         failed fchdir().
77153
77154         * lib/fts.c (fts_stat): When following a symlink-to-directory,
77155         don't necessarily interpret stat-fails+lstat-succeeds as indicating
77156         a dangling symlink.  That can also happen at least for ELOOP.
77157         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
77158         FYI, this bug predates the inclusion of fts.c in coreutils.
77159
77160         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
77161         in their own block, so pre-c99 compilers don't object.
77162
77163         Avoid the double-free (first in fts_read, second in fts_close) that
77164         would occur when an `active' directory is made inaccessible (e.g.,
77165         via chmod a-x) during a traversal.
77166         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77167         before returning.  Reproduce this failure by
77168         mkdir -p a/b; cd a; chmod a-x . b
77169         Reported by Stavros Passas.
77170
77171 2006-01-25  Jim Meyering  <jim@meyering.net>
77172
77173         * lib/fileblocks.c: Remove more useless parentheses.
77174         * lib/readutmp.h: Likewise.
77175
77176 2006-01-25  Bruno Haible  <bruno@clisp.org>
77177
77178         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
77179         warnings.
77180         Reported by Paul Eggert.
77181
77182 2006-01-25  Bruno Haible  <bruno@clisp.org>
77183
77184         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
77185         rid of a trap command. For Solaris sh.
77186         Reported by Mark D. Baushke <mdb@gnu.org>.
77187
77188 2006-01-24  Simon Josefsson  <jas@extundo.com>
77189
77190         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
77191         Bruno.
77192
77193 2006-01-24  Karl Berry  <karl@gnu.org>
77194
77195         * config/srclist.txt (argp-namefrob.h): sync lost.
77196
77197 2006-01-24  Jim Meyering  <jim@meyering.net>
77198
77199         * modules/openat (Files): Add lib/intprops.h.
77200         From Mark D. Baushke.
77201
77202 2006-01-24  Jim Meyering  <jim@meyering.net>
77203
77204         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
77205         Reported by Mark D. Baushke.
77206
77207 2006-01-24  Jim Meyering  <jim@meyering.net>
77208
77209         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
77210
77211 2006-01-24  Bruno Haible  <bruno@clisp.org>
77212
77213         * modules/strnlen (Maintainer): Change from glibc to all.
77214
77215 2006-01-24  Bruno Haible  <bruno@clisp.org>
77216
77217         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
77218         Patch by Paul Eggert.
77219
77220 2006-01-24  Bruno Haible  <bruno@clisp.org>
77221
77222         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
77223         already has it.
77224         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
77225         2005-11-26.
77226
77227         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
77228         'signed char' to avoid problems with the built-in _Bool type.
77229         Reported by Paul Eggert on 2005-11-26.
77230
77231 2006-01-24  Bruno Haible  <bruno@clisp.org>
77232
77233         * gnulib-tool (func_import): Avoid constructing complicated sed
77234         expressions inside backquote.
77235         Report and solution by Mark D. Baushke <mdb@gnu.org>.
77236
77237 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
77238
77239         These changes imported from libc.
77240         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
77241         test and two separate function calls.
77242         * lib/strndup.c (__strndup): Add libc_hidden_def.
77243
77244 2006-01-23  Simon Josefsson  <jas@extundo.com>
77245
77246         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
77247         Remove the test_*_SOURCES variable: automake infers it by default.
77248         * modules/tls-tests: Likewise.
77249
77250 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77251
77252         Work around porting bugs reported by Dieter in
77253         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
77254         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
77255         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
77256         Include "getopt.h" first, to check interface.
77257         (getenv): Declare only if defined HAVE_DECL_GETENV &&
77258         !HAVE_DECL_GETENV.
77259         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
77260         (__strndup): Revert to K&R-style function dfns, the glibc style.
77261         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
77262         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
77263         Include strnlen.h first, to get prototype properly.
77264         (strnlen): Renamed from __strnlen.
77265         Remove weak alias.
77266
77267 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77268
77269         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
77270
77271 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
77272
77273         * config/srclist.txt: Adjust to reflect glibc reorganization.
77274         This affects only comments.
77275
77276 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77277
77278          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
77279          Reported by Bruce Korb <bkorb@gnu.org>.
77280
77281 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
77282
77283         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
77284         to pacify gcc -Wswitch-default.
77285
77286 2006-01-22  Bruno Haible  <bruno@clisp.org>
77287
77288         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
77289         temporary buffer for sprintf, take into account the precision also
77290         for 'd', 'i', 'u', 'o', 'x', 'X'.
77291
77292 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77293
77294         * modules/argp-tests: New module
77295         * tests/test-argp.c: New file
77296         * tests/test-argp-2.sh: New file
77297
77298 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
77299
77300         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
77301         (__argp_base_name): Removed
77302         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
77303         typo.
77304         (__argp_base_name): Provide macro definition or extern declaration
77305         depending on the configuration
77306
77307 2006-01-20  Simon Josefsson  <jas@extundo.com>
77308
77309         * modules/inet_ntop (Depends-on): Depend on sys_socket.
77310
77311 2006-01-20  Simon Josefsson  <jas@extundo.com>
77312
77313         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
77314
77315 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
77316
77317         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
77318         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
77319         Suggested by Bruno Haible.
77320
77321 2006-01-20  Karl Berry  <karl@gnu.org>
77322
77323         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
77324         until changes propagate, I guess.
77325
77326 2006-01-19  Simon Josefsson  <jas@extundo.com>
77327
77328         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
77329
77330 2006-01-19  Simon Josefsson  <jas@extundo.com>
77331
77332         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
77333
77334 2006-01-19  Simon Josefsson  <jas@extundo.com>
77335
77336         * gnulib-tool: Set check_PROGRAMS.
77337
77338         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77339         modules/des-tests, modules/gc-arcfour-tests,
77340         modules/gc-arctwo-tests, modules/gc-des-tests,
77341         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77342         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77343         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77344         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77345         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77346         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
77347         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
77348         test_*_SOURCES.
77349
77350 2006-01-18  Simon Josefsson  <jas@extundo.com>
77351
77352         * modules/socklen (Depends-on): Depend on sys_socket.
77353
77354 2006-01-18  Simon Josefsson  <jas@extundo.com>
77355
77356         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
77357         modules/des-tests, modules/gc-arcfour-tests,
77358         modules/gc-arctwo-tests, modules/gc-des-tests,
77359         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
77360         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
77361         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
77362         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
77363         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
77364         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
77365         $(EXEEXT) to automake TESTS variable, for mingw32.
77366
77367 2006-01-17  Simon Josefsson  <jas@extundo.com>
77368
77369         * modules/socklen (Include): Need sys/socket.h.
77370
77371 2006-01-17  Bruno Haible  <bruno@clisp.org>
77372
77373         * modules/ssize_t (Include): Add <sys/types.h>.
77374
77375 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
77376
77377         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
77378         it's not portable and it doesn't work with cross-compiles.
77379         Problem reported by Bruno Haible.  Fix missing-$ typo in
77380         'test "gl_cv_ignore_unused_libraries" ...' that prevented
77381         -zignore from being used with Sun's C compiler.
77382
77383 2006-01-12  Simon Josefsson  <jas@extundo.com>
77384
77385         * lib/base64.c: Fix warning, reported by Bruno Haible
77386         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
77387
77388 2006-01-12  Bruno Haible  <bruno@clisp.org>
77389
77390         * modules/ldd: New file.
77391         * build-aux/ldd.sh.in: New file.
77392         * MODULES.html.sh (Support for building libraries and executables): Add
77393         ldd.
77394
77395 2006-01-12  Bruno Haible  <bruno@clisp.org>
77396
77397         * m4/ldd.m4: New file.
77398
77399 2006-01-12  Bruno Haible  <bruno@clisp.org>
77400
77401         * gnulib-tool (func_import, func_create_testdir): Don't go into an
77402         endless loop while replacing $auxdir with build-aux.
77403
77404 2006-01-11  Simon Josefsson  <jas@extundo.com>
77405
77406         * lib/stdint_.h (SIZE_MAX): Add missing (.
77407
77408 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
77409
77410         Sync from coreutils.
77411         * lib/md5.c: Fix commentary typos.
77412         (alignof, UNALIGNED_P): No need for a GCC-specific version.
77413         * lib/md5.h (__attribute__): Remove; unused.
77414         * lib/sha1.c: Fix commentary to match md5 better.
77415         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
77416         so that we don't need to worry about alignment.  All uses changed.
77417         This merges the 2005-10-28 md5 change into sha1.
77418
77419 2006-01-11  Jim Meyering  <jim@meyering.net>
77420
77421         Sync from coreutils.
77422         * lib/md5.c (OP): Fix spacing.
77423
77424 2006-01-11  Bruno Haible  <bruno@clisp.org>
77425
77426         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77427         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
77428         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
77429
77430 2006-01-11  Bruno Haible  <bruno@clisp.org>
77431
77432         Ensure automatic ordering between gl_LOCK and gl_ARGP.
77433         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
77434         the "early" section as well.
77435
77436 2006-01-11  Bruno Haible  <bruno@clisp.org>
77437
77438         Avoid "ar: no archive members specified" error on MacOS X.
77439         * gnulib-tool (func_modules_add_dummy): New function.
77440         (func_import, func_create_testdir): Invoke it.
77441
77442 2006-01-11  Bruno Haible  <bruno@clisp.org>
77443
77444         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77445         with $auxdir in AC_CONFIG_FILES statements.
77446
77447 2006-01-11  Bruno Haible  <bruno@clisp.org>
77448
77449         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77450         Initialize also noinst_HEADERS to empty.
77451
77452 2006-01-11  Bruno Haible  <bruno@clisp.org>
77453
77454         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77455         variables.
77456         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77457         autoreconf.
77458
77459 2006-01-11  Bruno Haible  <bruno@clisp.org>
77460
77461         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77462         overridable by the user.
77463         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77464
77465 2006-01-10  Simon Josefsson  <jas@extundo.com>
77466
77467         * modules/sys_socket: New file.
77468
77469 2006-01-10  Simon Josefsson  <jas@extundo.com>
77470
77471         * m4/sys_socket_h.m4: New file.
77472
77473 2006-01-10  Simon Josefsson  <jas@extundo.com>
77474
77475         * lib/socket_.h: New file.
77476
77477 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77478
77479         * modules/readutmp (Maintainer): Add myself.
77480
77481 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77482
77483         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77484         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77485         People who are still concerned with buggy memcmp implementations
77486         can invoke gl_FUNC_MEMCMP themselves.
77487
77488 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * lib/regex_internal.h (BITSET_WORD_BITS):
77491         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77492         preprocessor mishandles large unsigned values as if they were signed.
77493         Problem reported by Claudio Fontana in
77494         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77495
77496 2006-01-10  Jim Meyering  <jim@meyering.net>
77497
77498         Avoid the double-free (first in fts_read, second in fts_close) that
77499         would occur when an `active' directory is made inaccessible (e.g.,
77500         via chmod a-x) during a traversal.
77501         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77502         before returning.  Reproduce this failure by
77503         mkdir -p a/b; cd a; chmod a-x . b
77504         Reported by Stavros Passas.
77505
77506         Sync from coreutils.
77507         * lib/sha1.c: Tweak grammar in a comment.
77508
77509 2006-01-10  Jim Meyering  <jim@meyering.net>
77510
77511         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77512         Patch by Joerg Sonnenberger.
77513
77514 2006-01-10  Bruno Haible  <bruno@clisp.org>
77515
77516         * modules/readutmp: Depend on module free.
77517         * modules/strtok_r: Depend on module restrict.
77518
77519 2006-01-10  Bruno Haible  <bruno@clisp.org>
77520
77521         * modules/gettext (configure.ac): Add an invocation of
77522         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77523
77524 2006-01-10  Bruno Haible  <bruno@clisp.org>
77525
77526         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77527         Reported by Werner Lemberg <wl@gnu.org>.
77528
77529 2006-01-10  Bruno Haible  <bruno@clisp.org>
77530
77531         * lib/localcharset.c: Update from GNU gettext.
77532
77533 2006-01-10  Bruno Haible  <bruno@clisp.org>
77534
77535         * lib/argp.h (__const): Remove macro. Use const instead.
77536         * lib/argp-fmtstream.h (__const): Likewise.
77537         * lib/glob_.h (__const): Remove macro.
77538         * lib/glob-libc.h: Use const instead of __const.
77539
77540 2006-01-10  Bruno Haible  <bruno@clisp.org>
77541
77542         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77543         variable.
77544         Needed to avoid an automake error regarding the 'gettext' module.
77545
77546 2006-01-09  Simon Josefsson  <jas@extundo.com>
77547
77548         * modules/inet_ntop (Depends-on): Add restrict.
77549
77550 2006-01-09  Simon Josefsson  <jas@extundo.com>
77551
77552         * modules/gc-rijndael-tests (License): Put under LGPL.
77553
77554         * modules/gc-des-tests (License): Likewise.
77555
77556         * modules/gc-arcfour-tests (License): Likewise.
77557
77558         * modules/gc-arctwo-tests (License): Likewise.
77559
77560         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77561
77562         * modules/gc-hmac-sha1-tests (Files): Likewise.
77563
77564         * modules/gc-hmac-md5-tests (License): Likewise.
77565
77566         * modules/gc-sha1-tests (License): Likewise.
77567
77568         * modules/gc-md5-tests (License): Likewise.
77569
77570         * modules/gc-md4-tests (License): Likewise.
77571
77572         * modules/gc-md2-tests (License): Likewise.
77573
77574         * modules/gc-tests (License): Likewise.
77575
77576         * modules/des-tests (License): Likewise.
77577
77578         * modules/md4-tests (License): Likewise.
77579
77580         * modules/md2-tests (License): Likewise.
77581
77582 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         Sync from coreutils:
77585
77586         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77587         * modules/lib-ignore: New file.
77588         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77589         chdir-safer.m4, lchmod.m4.
77590         * modules/openat: Add mkdirat.c, openat-priv.h.
77591
77592 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77593
77594         Sync from coreutils.
77595         * m4/lib-ignore.m4: New file.
77596         * m4/lchmod.m4: New file.
77597
77598 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77599
77600         Sync from coreutils.
77601         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77602         for write access: POSIX says that must fail.
77603         * lib/fts.c (diropen): Likewise.
77604         * lib/save-cwd.c (save_cwd): Likewise.
77605         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77606         well, for minor improvements on hosts that lack O_DIRECTORY.
77607         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77608         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77609         Fall back on chown if open failed with EACCES.
77610
77611         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77612         Report an error at compile-time if only a 1-second nominal clock
77613         resolution is found.
77614
77615         * lib/lchmod.h: New file.
77616         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77617         (make_dir_parents): Use lchown rather than chown, and
77618         lchmod rather than chmod.
77619
77620         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77621         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77622         "proc" reported by n0dalus.
77623
77624         * lib/mountlist.c: Include <limits.h>.
77625         (dev_from_mount_options)
77626         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77627         New function.  It no longer assumes "dev=" has the System V meaning
77628         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77629         (read_file_system_list)
77630         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77631         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77632         dev= in that case.
77633
77634         * lib/posixtm.h (PDS_PRE_2000): New macro.
77635         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77636         allow_century.  All usages changed.  Reject dates outside the range
77637         1969-1999 if PDS_PRE_2000 is used.
77638
77639 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77640
77641         Sync from coreutils.
77642         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77643         (Time of day items): Mention the possibility of leap seconds.
77644         Problem reported by Dr. David Alan Gilbert.
77645
77646 2006-01-09  Jim Meyering  <jim@meyering.net>
77647
77648         Sync from coreutils.
77649
77650         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77651
77652         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77653
77654         * lib/modechange.c (mode_compile): Reject an invalid mode string
77655         that starts with an octal digit.  From Andreas Gruenbacher.
77656
77657         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77658         and dup to open_safer and dup_safer, respectively.
77659         (openat_permissive): Fix typo in comment.
77660
77661         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77662         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77663         (_): Remove; no longer needed.
77664         (openat): Renamed from rpl_openat; no need for rpl_openat
77665         since openat.h renames openat for us.
77666         Replace most of the body with a call to openat_permissive,
77667         to avoid duplicate code.
77668         Port to (probably hypothetical) environments were mode_t is
77669         wider than int.
77670         (openat_permissive): Require mode arg, so that we can check
77671         types better.  Put it just after flags.  Change cwd failure
77672         indicator from pointer-to-bool to pointer-to-errno-value.
77673         All callers changed.
77674         Invoke openat_save_fail and/or openat_restore_fail if
77675         cwd_errno is null, so that openat can call us.
77676         (openat_permissive, fdopendir, fstatat, unlinkat):
77677         Simplify errno handling to avoid some duplicate code,
77678         as it's OK to set errno on success.
77679         * lib/openat.h: Revamp code so that function macros depend on
77680         __OPENAT_PREFIX only, not also on AT_FDCWD.
77681         (openat_ro): Remove.  Caller changed to use openat_permissive.
77682         (openat_permissive): Now a macro, if not a function.
77683         (openat_restore_fail, openat_save_fail): Now always functions,
77684         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77685
77686         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77687         and openat.c.
77688         * lib/mkdirat.c: Include openat-priv.h.
77689         Remove definitions of macros defined therein.
77690         * lib/openat.c: Likewise.
77691
77692         * lib/mkdirat.c (mkdirat): New file and function.
77693         * lib/openat.h (mkdirat): Declare.
77694
77695         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77696
77697         * lib/openat.h (openat_permissive): Declare.
77698         (openat_ro): Define.
77699
77700         * lib/openat.c (EXPECTED_ERRNO): New macro.
77701         (openat_permissive): New function -- used in remove.c rewrite.
77702         (all functions): Set errno just before returning, only if there
77703         was an actual failure.
77704         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77705
77706         Emulate openat-family functions using Linux's procfs, if possible.
77707         Idea and some code based on Ulrich Drepper's glibc changes.
77708
77709         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77710         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77711         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77712         before falling back on save_cwd and restore_cwd.
77713         (fdopendir, fstatat, unlinkat): Likewise.
77714
77715         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77716         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77717
77718         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77719         as second argument to va_arg.  Otherwise, some versions of gcc
77720         warn that `if this code is reached, the program will abort'.
77721
77722 2006-01-09  Jim Meyering  <jim@meyering.net>
77723
77724         Sync from coreutils.
77725         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77726         Require openat-priv.h.
77727
77728 2006-01-09  Bruno Haible  <bruno@clisp.org>
77729
77730         * modules/strnlen (Include): Use strnlen.h.
77731
77732 2006-01-09  Bruno Haible  <bruno@clisp.org>
77733
77734         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77735
77736 2006-01-09  Bruno Haible  <bruno@clisp.org>
77737
77738         * lib/sysexit_.h (EX_OK): New macro.
77739         Suggested by Martin Lambers <marlam@marlam.de>.
77740
77741 2006-01-09  Bruno Haible  <bruno@clisp.org>
77742
77743         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77744         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77745
77746 2006-01-09  Bruno Haible  <bruno@clisp.org>
77747
77748         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77749         numbers.
77750
77751 2006-01-09  Bruno Haible  <bruno@clisp.org>
77752
77753         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77754         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77755         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77756         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77757
77758 2006-01-09  Bruno Haible  <bruno@clisp.org>
77759
77760         * build-aux/javacomp.sh.in: New file, moved from lib/.
77761         * modules/javacomp-script (Files): Update.
77762         (configure.ac): Add AC_CONFIG_FILES invocation.
77763         (EXTRA_DIST): Remove variable.
77764
77765         * build-aux/javaexec.sh.in: New file, moved from lib/.
77766         * modules/javaexec (Files): Update.
77767         (configure.ac): Add AC_CONFIG_FILES invocation.
77768         (EXTRA_DIST): Remove javaexec.sh.in.
77769
77770         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77771         * modules/csharpcomp-script (Files): Update.
77772         (configure.ac): Add AC_CONFIG_FILES invocation.
77773         (EXTRA_DIST): Remove variable.
77774
77775         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77776         * modules/csharpexec (Files): Update.
77777         (configure.ac): Add AC_CONFIG_FILES invocation.
77778         (EXTRA_DIST): Remove csharpexec.sh.in.
77779
77780 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77781
77782         Sync from coreutils.
77783
77784         Add POSIX ACL support
77785         * lib/acl.h (copy_acl, set_acl): Add declarations.
77786         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77787         systems other than Linux.
77788         (chmod_or_fchmod): New function: use fchmod when possible,
77789         and chmod otherwise.
77790         (file_has_acl): Add a POSIX ACL implementation, with a
77791         Linux-specific subcase.
77792         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77793         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77794         acls are unsupported.
77795         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77796         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77797         are unsupported.
77798
77799 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77800
77801         Sync from coreutils.
77802         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77803
77804 2006-01-07  Bruno Haible  <bruno@clisp.org>
77805
77806         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77807         gl_EARLY.
77808
77809 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77810
77811         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77812         Problem reported for Mingw by Mark Junker.
77813
77814 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77815
77816         * README: Gnulib normally doesn't generate a tarball.
77817
77818 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77819
77820         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77821         long int, not int, for nanosecond counts, so that people who are
77822         used to POSIX struct timespec won't be surprised.  Reported by Jim
77823         Meyering.
77824
77825 2005-12-28  Bruno Haible  <bruno@clisp.org>
77826
77827         * build-aux/config.rpath: Update from GNU gettext.
77828
77829 2005-12-16  Jim Meyering  <jim@meyering.net>
77830
77831         * modules/fprintftime: New module.
77832         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77833
77834 2005-12-16  Jim Meyering  <jim@meyering.net>
77835
77836         * m4/fprintftime.m4: New file.
77837
77838 2005-12-16  Jim Meyering  <jim@meyering.net>
77839
77840         * lib/fprintftime.c, lib/fprintftime.h: New files.
77841
77842 2005-12-15  Simon Josefsson  <jas@extundo.com>
77843
77844         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77845         new m4/socklen.m4.
77846
77847 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77848
77849         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77850         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77851
77852 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77853
77854         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77855         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77856         struct uparams is valid. Fall back to the default values if it is
77857         not.
77858
77859 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77860
77861         * modules/argp (Files): Add argp-pin.c
77862         (Depends-on): dirname
77863         (lib_SOURCES): Add argp-pin.c
77864
77865 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77866
77867         * m4/argp.m4:  Check if program_invocation_name and
77868         program_invocation_short_name are declared and define appropriate
77869         macros if they are not.
77870
77871 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77872
77873         * lib/argp-help.c (__argp_base_name): New function
77874         (__argp_short_program_name): Rewrite using __argp_base_name
77875         * lib/argp-namefrob.h: Define program_invocation_name and
77876         program_invocation_short_name if requested
77877         (__argp_base_name): Add prototype
77878         * lib/argp-parse.c (argp_def): Use gettext wrappers
77879         (argp_default_parser): Use __argp_base_name
77880         * lib/argp-pin.c: New file. Defines program_invocation_name and
77881         program_invocation_short_name on systems that lack them.
77882
77883 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77884
77885         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77886         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77887         porting problem reported by Georg Schwarz in
77888         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77889
77890 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77891
77892         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77893         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77894         porting problem reported by Georg Schwarz in
77895         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77896
77897 2005-12-05  Bruno Haible  <bruno@clisp.org>
77898
77899         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77900         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77901         Reported by Mark Junker <mjscod@gmx.de>.
77902
77903 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77904
77905         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77906         Use implementation from Albert Chin, with some
77907         comments/corrections by Stepan Kasal and myself.
77908
77909 2005-12-02  Bruno Haible  <bruno@clisp.org>
77910
77911         * gnulib-tool (func_import): Accept GPLed build tool modules when
77912         --lgpl is given.
77913         * modules/csharpcomp-script: New file.
77914         * modules/csharpcomp: Depend on it.
77915         * modules/javacomp-script: New file.
77916         * modules/javacomp: Depend on it.
77917         Suggested by Simon Josefsson.
77918
77919 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77920
77921         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77922         statement, to work around an HP-UX 10.20 compiler bug reported by
77923         Peter O'Gorman.
77924
77925 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77926
77927         * modules/savedir (Depends-on): Add openat.
77928
77929 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77930
77931         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77932         (uintmax_t) [defined uintmax_t]: Do not declare.
77933         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77934         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77935         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77936         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77937         sake of portability to weird hosts that C allows (though we don't
77938         know of any practical examples).
77939
77940         * lib/savedir.h (fdsavedir): New decl.
77941         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77942         contains most of the former guts of savedir.
77943         (savedir): Use savedirstream.
77944         Include "openat.h".
77945
77946 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77947
77948         * modules/obstack (Files): Add m4/ulonglong.m4.
77949         Problem reported by Davide Angelocola.
77950
77951 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77952
77953         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77954         coreutils no longer futzes with rounding modes.
77955
77956 2005-11-14  Jim Meyering  <jim@meyering.net>
77957
77958         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77959         replacement of mkstemp.
77960
77961 2005-11-10  Simon Josefsson  <jas@extundo.com>
77962
77963         * lib/readline.c: Remove EOL.
77964
77965 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77966
77967         * modules/gethrxtime (Depends-on): Add gettime.
77968
77969 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77970
77971         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77972         or gettimeofday; no longer needed.
77973
77974 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77975
77976         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77977         time business.
77978         (gethrxtime) [! (HAVE_NANOUPTIME
77979         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77980         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77981         our own approximation.
77982
77983 2005-11-08  Eric Blake  <ebb9@byu.net>
77984
77985         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77986
77987 2005-11-08  Eric Blake  <ebb9@byu.net>
77988
77989         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77990
77991 2005-11-04  Bruno Haible  <bruno@clisp.org>
77992
77993         * gnulib-tool: Implement --update mode.
77994
77995 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77996
77997         Fix porting problem reported by Theodoros V. Kalamatianos.
77998         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77999         Don't assume that futimes failing means we must fail.
78000
78001 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
78002
78003         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
78004         variables to suggest the intended function of the PATH_MAX check.
78005
78006 2005-10-30  Kean Johnston  <jkj@sco.com>
78007
78008         Trivial changes to support SCO systems.
78009         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
78010         as PATH_MAX.
78011         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
78012         where __ptr is null when no I/O is pending.
78013
78014 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
78015
78016         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
78017         leave errno alone.  Problem reported by Dmitry V. Levin.
78018
78019 2005-10-28  Simon Josefsson  <jas@extundo.com>
78020
78021         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
78022         Test more.
78023
78024         * tests/test-gc-md2.c, tests/test-md2.c: New files.
78025
78026         * modules/md2, modules/md2-tests: New files.
78027
78028 2005-10-28  Simon Josefsson  <jas@extundo.com>
78029
78030         * m4/inet_ntop.m4: More tests.
78031
78032         * m4/gc-md2.m4, md2.m4: New file.
78033
78034 2005-10-28  Simon Josefsson  <jas@extundo.com>
78035
78036         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
78037         "restrict" keywords, as per POSIX.  Protect the function
78038         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
78039         Don't use K&R prototypes.  Check the sprintf return values.
78040         Re-define EAFNOSUPPORT if not present.  Indent.
78041
78042         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
78043         suggested by Bruno Haible <bruno@clisp.org>.
78044
78045         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
78046
78047         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
78048
78049         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
78050         libgcrypt).
78051
78052         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
78053
78054         * lib/md2.h, lib/md2.c: New files.
78055
78056 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
78057
78058         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
78059         errno alone.  Problem reported by Frederic Jolliton.
78060
78061 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
78062
78063         * modules/verify (License): Change from GPL to LGPL.  This is a
78064         tiny module and there are apparently near-equivalents that are
78065         under the BSD license.
78066
78067 2005-10-24  Simon Josefsson  <jas@extundo.com>
78068
78069         * modules/sha1: Relicense to LGPL.
78070
78071 2005-10-24  Simon Josefsson  <jas@extundo.com>
78072
78073         * lib/md4.h: Shrink buffer size, now that we changed the type.
78074
78075 2005-10-23  Simon Josefsson  <jas@extundo.com>
78076
78077         * gnulib-tool (func_import): Fix --tests-base.
78078
78079 2005-10-22  Simon Josefsson  <jas@extundo.com>
78080
78081         * modules/arcfour (Depends-on): Need stdint.
78082
78083 2005-10-22  Simon Josefsson  <jas@extundo.com>
78084
78085         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
78086         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
78087
78088 2005-10-22  Simon Josefsson  <jas@extundo.com>
78089
78090         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
78091         suggested by Bruno Haible <bruno@clisp.org>.
78092
78093 2005-10-22  Simon Josefsson  <jas@extundo.com>
78094
78095         * lib/crc.h: Include stddef.h, for size_t.
78096
78097 2005-10-22  Simon Josefsson  <jas@extundo.com>
78098
78099         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
78100         arcfour_context struct (simplify test vector testing in GNU
78101         Shishi).
78102
78103 2005-10-21  Simon Josefsson  <jas@extundo.com>
78104
78105         * modules/des, modules/des-tests: New files.
78106
78107         * modules/gc-des, modules/gc-des-tests: New files.
78108
78109         * tests/test-des.c, tests/test-gc-des.c: New file.
78110
78111 2005-10-21  Simon Josefsson  <jas@extundo.com>
78112
78113         * modules/arctwo, modules/arctwo-tests: New files.
78114
78115         * tests/test-arctwo.c: New file.
78116
78117         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
78118
78119         * tests/test-gc-arctwo.c: New file.
78120
78121 2005-10-21  Simon Josefsson  <jas@extundo.com>
78122
78123         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
78124         Bruno Haible <bruno@clisp.org>.
78125
78126         * m4/gc-des.m4: New file.
78127
78128 2005-10-21  Simon Josefsson  <jas@extundo.com>
78129
78130         * m4/arctwo.m4: New file.
78131
78132         * m4/gc-arctwo.m4: New file.
78133
78134 2005-10-21  Simon Josefsson  <jas@extundo.com>
78135
78136         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
78137         block.
78138
78139 2005-10-21  Simon Josefsson  <jas@extundo.com>
78140
78141         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
78142         <bruno@clisp.org>.
78143
78144         * lib/hmac-sha1.c (hmac_sha1): Likewise.
78145
78146         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
78147         Bruno Haible <bruno@clisp.org>.
78148
78149         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
78150         <bruno@clisp.org>.
78151
78152 2005-10-21  Simon Josefsson  <jas@extundo.com>
78153
78154         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
78155
78156 2005-10-21  Simon Josefsson  <jas@extundo.com>
78157
78158         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
78159
78160 2005-10-21  Simon Josefsson  <jas@extundo.com>
78161
78162         * lib/des.h, lib/des.c: New files.
78163
78164         * lib/gc-gnulib.c: Support DES.c
78165
78166 2005-10-21  Simon Josefsson  <jas@extundo.com>
78167
78168         * lib/arctwo.h, lib/arctwo.c: New files.
78169
78170         * lib/gc-gnulib.c: Support ARCTWO.
78171
78172 2005-10-21  Simon Josefsson  <jas@extundo.com>
78173
78174         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
78175         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78176
78177 2005-10-21  Simon Josefsson  <jas@extundo.com>
78178
78179         * gnulib-tool (func_import, func_create_testdir): Define automake
78180         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
78181         Makefile.am snippet),
78182         suggested by Bruno Haible <bruno@clisp.org>.
78183
78184         * modules/gc (Makefile.am): Use it.
78185
78186 2005-10-21  Bruno Haible  <bruno@clisp.org>
78187
78188         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
78189         patch.
78190
78191 2005-10-19  Simon Josefsson  <jas@extundo.com>
78192
78193         * tests/test-gc-rijndael.c: New file.
78194
78195         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
78196
78197 2005-10-19  Simon Josefsson  <jas@extundo.com>
78198
78199         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
78200         interface too.
78201
78202 2005-10-19  Simon Josefsson  <jas@extundo.com>
78203
78204         * tests/test-gc-arcfour.c: New file.
78205
78206         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
78207
78208 2005-10-19  Simon Josefsson  <jas@extundo.com>
78209
78210         * modules/gc-md4, modules/gc-md4-tests: New file.
78211
78212         * tests/test-gc-md4.c: New file.
78213
78214 2005-10-19  Simon Josefsson  <jas@extundo.com>
78215
78216         * m4/gc-md4.m4: New file.
78217
78218 2005-10-19  Simon Josefsson  <jas@extundo.com>
78219
78220         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
78221         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
78222         <kasal@ucw.cz>.
78223
78224 2005-10-19  Simon Josefsson  <jas@extundo.com>
78225
78226         * m4/gc-arcfour.m4: New file.
78227
78228         * m4/gc-rijndael.m4: New file.
78229
78230 2005-10-19  Simon Josefsson  <jas@extundo.com>
78231
78232         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
78233
78234 2005-10-19  Simon Josefsson  <jas@extundo.com>
78235
78236         * lib/gc-gnulib.c: Support ARCFOUR.
78237
78238 2005-10-19  Simon Josefsson  <jas@extundo.com>
78239
78240         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
78241         support.
78242
78243         * lib/gc.h: Add ECB enum type.
78244
78245         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
78246
78247 2005-10-18  Simon Josefsson  <jas@extundo.com>
78248
78249         * tests/test-md5.c: New file.
78250
78251         * modules/md5-tests: New file.
78252
78253 2005-10-18  Simon Josefsson  <jas@extundo.com>
78254
78255         * tests/test-md4.c: New file.
78256
78257         * modules/md4, modules/md4-tests: New files.
78258
78259 2005-10-18  Simon Josefsson  <jas@extundo.com>
78260
78261         * m4/md4.m4: New file.
78262
78263 2005-10-18  Simon Josefsson  <jas@extundo.com>
78264
78265         * lib/md4.h, lib/md4.c: New files, based on md5.?.
78266
78267 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
78268
78269         * gnulib-tool (func_create_testdir): Omit the second check whether
78270         BUILT_SOURCES in nonempty.
78271
78272 2005-10-17  Simon Josefsson  <jas@extundo.com>
78273
78274         * tests/test-rijndael.c: New file.
78275
78276 2005-10-17  Simon Josefsson  <jas@extundo.com>
78277
78278         * modules/sha1: Depend on stdint instead of md5.
78279
78280         * modules/md5: Depend on stdint, remove uint32_t.
78281
78282 2005-10-17  Simon Josefsson  <jas@extundo.com>
78283
78284         * modules/gc-sha1-tests: New file.
78285
78286         * tests/test-gc-sha1.c: New file.
78287
78288 2005-10-17  Simon Josefsson  <jas@extundo.com>
78289
78290         * m4/md5.m4: Remove call to uint32_t.m4.
78291
78292 2005-10-17  Simon Josefsson  <jas@extundo.com>
78293
78294         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
78295
78296         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
78297         md5.h.
78298
78299         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
78300
78301         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
78302
78303 2005-10-17  Simon Josefsson  <jas@extundo.com>
78304
78305         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
78306
78307 2005-10-17  Simon Josefsson  <jas@extundo.com>
78308
78309         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
78310
78311 2005-10-17  Simon Josefsson  <jas@extundo.com>
78312
78313         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
78314
78315         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
78316
78317 2005-10-17  Bruno Haible  <bruno@clisp.org>
78318
78319         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
78320         that it can also be used in a test.
78321
78322 2005-10-16  Bruno Haible  <bruno@clisp.org>
78323
78324         * gnulib-tool (func_emit_tests_Makefile_am): Also define
78325         TESTS_ENVIRONMENT, so that individual tests can augment it.
78326
78327         * gnulib-tool (func_create_testdir): Use an intermediate target for
78328         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
78329         macros, like $(ALLOCA_H), which cannot be passed through the command
78330         line.
78331
78332 2005-10-15  Simon Josefsson  <jas@extundo.com>
78333
78334         * modules/rijndael-tests: New file.
78335
78336         * modules/rijndael: New file.
78337
78338 2005-10-15  Simon Josefsson  <jas@extundo.com>
78339
78340         * m4/rijndael.m4: New file.
78341
78342 2005-10-15  Simon Josefsson  <jas@extundo.com>
78343
78344         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
78345
78346         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
78347
78348 2005-10-14  Simon Josefsson  <jas@extundo.com>
78349
78350         * tests/test-arcfour.c: New file.
78351
78352         * modules/arcfour, modules/arcfour-tests: New files.
78353
78354 2005-10-14  Simon Josefsson  <jas@extundo.com>
78355
78356         * m4/arcfour.m4: New file.
78357
78358 2005-10-14  Simon Josefsson  <jas@extundo.com>
78359
78360         * lib/arcfour.h, lib/arcfour.c: New files.
78361
78362 2005-10-14  Roland McGrath  <roland@redhat.com>
78363
78364         Import from libc.  [BZ #1331]
78365         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
78366         macro argument.
78367         Reported by Matej Vela <vela@debian.org>.
78368
78369 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78370
78371         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
78372         include <wchar.h>; no longer needed.
78373
78374 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
78375
78376         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
78377
78378 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
78379         and  Ulrich Drepper  <drepper@redhat.com>
78380
78381         Import from libc.
78382         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
78383         instead of inline stream orientation test and two separate
78384         function calls.  Pay no attention to USE_IN_LIBIO.
78385
78386 2005-10-13  Simon Josefsson  <jas@extundo.com>
78387
78388         * modules/gc-hmac-md5-tests: New file.
78389
78390         * tests/test-gc-hmac-sha1.c: New file.
78391
78392         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
78393
78394         * modules/gc-hmac-md5-tests: New file.
78395
78396         * tests/test-gc-md5.c: New file.
78397
78398         * modules/gc-md5-tests: New file.
78399
78400 2005-10-13  Simon Josefsson  <jas@extundo.com>
78401
78402         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
78403         Move memory allocation outside of loop.
78404
78405 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
78406
78407         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
78408         intermediate directory is in a read-only file system.  Problem
78409         reported by Eric Blake.
78410
78411 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
78412
78413         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
78414
78415 2005-10-12  Simon Josefsson  <jas@extundo.com>
78416
78417         * tests/test-hmac-sha1.c: New file.
78418
78419         * modules/hmac-sha1-tests: New file.
78420
78421         * modules/hmac-sha1: New file.
78422
78423 2005-10-12  Simon Josefsson  <jas@extundo.com>
78424
78425         * modules/gc-sha1: New file.
78426
78427 2005-10-12  Simon Josefsson  <jas@extundo.com>
78428
78429         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
78430
78431         * tests/test-gc-pbkdf2-sha1.c: New file.
78432
78433 2005-10-12  Simon Josefsson  <jas@extundo.com>
78434
78435         * modules/gc-md5, modules/gc-hmac-md5: New files.
78436
78437         * modules/gc (Files): Remove md5, memxor and hmac files.
78438
78439 2005-10-12  Simon Josefsson  <jas@extundo.com>
78440
78441         * m4/gc-pbkdf2-sha1.m4: New file.
78442
78443         * m4/gc-hmac-sha1.m4: New file.
78444
78445         * m4/gc-sha1: New file.
78446
78447         * m4/hmac-sha1.m4: New file.
78448
78449 2005-10-12  Simon Josefsson  <jas@extundo.com>
78450
78451         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78452
78453         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78454
78455 2005-10-12  Simon Josefsson  <jas@extundo.com>
78456
78457         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78458         suggested by Bruno Haible <bruno@clisp.org>.
78459
78460 2005-10-12  Simon Josefsson  <jas@extundo.com>
78461
78462         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78463
78464 2005-10-12  Simon Josefsson  <jas@extundo.com>
78465
78466         * lib/gc-pbkdf2-sha1.c: New file.
78467
78468         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78469
78470 2005-10-12  Simon Josefsson  <jas@extundo.com>
78471
78472         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78473
78474         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78475
78476 2005-10-12  Simon Josefsson  <jas@extundo.com>
78477
78478         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78479         GC_USE_HMAC_MD5, respectively.
78480
78481         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78482         (gc_md5): Fix typo.
78483
78484         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78485
78486         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78487
78488         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78489
78490 2005-10-12  Bruno Haible  <bruno@clisp.org>
78491
78492         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78493         Reported by Stepan Kasal <kasal@ucw.cz>.
78494
78495 2005-10-11  Simon Josefsson  <jas@extundo.com>
78496
78497         * tests/test-crc.c: New file.
78498
78499         * modules/crc, modules/crc-tests: New files.
78500
78501 2005-10-11  Simon Josefsson  <jas@extundo.com>
78502
78503         * m4/crc.m4: New file.
78504
78505 2005-10-11  Simon Josefsson  <jas@extundo.com>
78506
78507         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78508
78509         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78510
78511         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78512
78513 2005-10-11  Simon Josefsson  <jas@extundo.com>
78514
78515         * lib/crc.h, lib/crc.c: New files.
78516
78517         * lib/gc.h (gc_hash_buffer): Add doc.
78518
78519 2005-10-11  Bruno Haible  <bruno@clisp.org>
78520
78521         * modules/c-strcasestr: New file.
78522         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78523
78524 2005-10-11  Bruno Haible  <bruno@clisp.org>
78525
78526         * modules/c-strcase: New file.
78527         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78528
78529 2005-10-11  Bruno Haible  <bruno@clisp.org>
78530
78531         * lib/strcasecmp.c: Include limits.h.
78532         (strcasecmp): Avoid integer overflow on exotic platforms.
78533         * lib/strncasecmp.c: Include limits.h.
78534         (strncasecmp): Avoid integer overflow on exotic platforms.
78535         Reported by Paul Eggert.
78536
78537 2005-10-11  Bruno Haible  <bruno@clisp.org>
78538
78539         * lib/c-strcasestr.h: New file, from GNU gettext.
78540         * lib/c-strcasestr.c: New file, from GNU gettext.
78541
78542 2005-10-11  Bruno Haible  <bruno@clisp.org>
78543
78544         * lib/c-strcase.h: New file, from GNU gettext.
78545         * lib/c-strcasecmp.c: New file, from GNU gettext.
78546         * lib/c-strncasecmp.c: New file, from GNU gettext.
78547
78548 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78549
78550         * modules/mempcpy (License): GPL -> LGPL.
78551         * modules/strchrnul (License): Likewise.
78552         * modules/sysexits (License): Likewise.
78553
78554 2005-10-08  Simon Josefsson  <jas@extundo.com>
78555
78556         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78557
78558 2005-10-07  Simon Josefsson  <jas@extundo.com>
78559
78560         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78561
78562 2005-10-06  Simon Josefsson  <jas@extundo.com>
78563
78564         * tests/test-hmac-md5.c: New file.
78565
78566         * modules/hmac-md5-tests: New file.
78567
78568         * modules/hmac-md5: New file.
78569
78570 2005-10-06  Simon Josefsson  <jas@extundo.com>
78571
78572         * m4/hmac-md5.m4: New file.
78573
78574         * m4/memxor.m4: Require gl_C_RESTRICT.
78575
78576 2005-10-06  Simon Josefsson  <jas@extundo.com>
78577
78578         * lib/memxor.c (memxor): Avoid casts and warnings.
78579
78580 2005-10-06  Simon Josefsson  <jas@extundo.com>
78581
78582         * lib/hmac-md5.c: New file.
78583
78584         * lib/hmac.h: New file.
78585
78586 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78587
78588         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78589         promotes to int, not unsigned int, to catch the AIX 5.3
78590         compiler bug.
78591
78592 2005-10-05  Simon Josefsson  <jas@extundo.com>
78593
78594         * modules/memxor: New file.
78595
78596         * modules/iconv (Files): Move config.rpath to havelib, it is used
78597         there.
78598
78599         * modules/havelib (Files): Add config.rpath.
78600
78601 2005-10-05  Simon Josefsson  <jas@extundo.com>
78602
78603         * m4/memxor.m4: New file.
78604
78605 2005-10-05  Simon Josefsson  <jas@extundo.com>
78606
78607         * lib/memxor.c (memxor): Fix compiler error.
78608
78609         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78610         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78611
78612         * lib/memxor.h, lib/memxor.c: New files.
78613
78614         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78615         we assume all systems have it, suggested by Jim Meyering
78616         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78617         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78618         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78619         same reasons.
78620
78621 2005-10-05  Simon Josefsson  <jas@extundo.com>
78622
78623         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78624
78625 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78626
78627         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78628         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78629         needed, since the source code now assumes these .h files.
78630
78631 2005-10-05  Derek Price  <derek@ximbiot.com>
78632
78633         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78634
78635 2005-10-05  Bruno Haible  <bruno@clisp.org>
78636
78637         * modules/stdint (License): Change to LGPL.
78638
78639 2005-10-04  Simon Josefsson  <jas@extundo.com>
78640
78641         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78642         D. Baushke" <mdb@gnu.org>.
78643
78644 2005-10-04  Bruno Haible  <bruno@clisp.org>
78645
78646         * lib/verify.h (verify_true): Provide alternative definition for C++.
78647
78648 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78649
78650         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78651         (SSIZE_MAX): New macro, if not already defined.
78652         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78653         than 2 GiB.
78654
78655 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78656
78657         Sync from coreutils.
78658         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78659         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78660         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78661         ULLONG_MAX doesn't work with 2.7.2.1.
78662
78663 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78664
78665         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78666         From Ben Pfaff.
78667
78668         * modules/exclude (Depends-on): Depend on verify.
78669         * modules/strtoimax (Depends-on): Likewise.
78670         * modules/utimecmp (Depends-on): Likewise.
78671
78672 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78673
78674         * lib/exclude.c: Include verify.h.
78675         (verify): Remove.  All callers changed to use verify.h's version.
78676         * lib/strtoimax.c: Likewise.
78677         * lib/utimecmp.c: Likewis.e
78678
78679         Sync from coreutils.
78680         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78681         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78682         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78683         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78684         bother returning ENOSYS if settimeofday or stime fails; just let
78685         them return whatever errno they want to return.
78686         * lib/utimens.c: Include unistd.h, for dup2.
78687         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78688         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78689
78690 2005-10-02  Jim Meyering  <jim@meyering.net>
78691
78692         Sync from coreutils.
78693         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78694         from glibc-2.2.5 that fails for read-only files.
78695
78696 2005-10-02  Jim Meyering  <jim@meyering.net>
78697
78698         Sync from coreutils.
78699         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78700         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78701         `#if HAVE_CONFIG_H'.
78702         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78703         Remove AT_FDCWD test.
78704         Do not consume the fd unless successful.
78705         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78706         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78707         block, so that we don't even try to compile it if settimeofday is
78708         available.  This works around a compilation failure on OSF1 V5.1,
78709         due to stime requiring a `long int*' while tv_sec is `int'.
78710
78711 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78712
78713         Sync from coreutils.
78714         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78715         against `yes', rather than just testing for nonempty.
78716
78717 2005-10-01  Simon Josefsson  <jas@extundo.com>
78718
78719         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78720         and Darwin.
78721
78722         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78723         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78724         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78725         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78726         Check if struct addrinfo is declared.
78727
78728 2005-10-01  Simon Josefsson  <jas@extundo.com>
78729
78730         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78731         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78732         AI_* and EAI_* definitions.  Protect function declarations.
78733
78734 2005-10-01  Jim Meyering  <jim@meyering.net>
78735
78736         Sync from coreutils.
78737
78738         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78739         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78740         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78741         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78742         in the inet and nsl libraries.  Required on Solaris 5.7.
78743
78744 2005-10-01  Jim Meyering  <jim@meyering.net>
78745
78746         Sync from coreutils.
78747         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78748         in the inet and nsl libraries.  Required on Solaris 5.7.
78749
78750 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78751
78752         * lib/getdelim.c (getdelim): Remove unused variables.
78753
78754 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78755
78756         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78757         so that the code works even with ancient cpp.  Portability problem
78758         with GCC 2.7.2.1 reported by Thomas M.Ott.
78759
78760 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78761
78762         * modules/regex (Depends-on): Add strcase.
78763
78764         * modules/gethostname (Licence): Change from GPL to LGPL, since
78765         gethostname.c is a trivial implementation of a standard library
78766         function.
78767         * modules/poll (License): Change from GPL to LGPL, since it's
78768         derived from LGPL code.
78769
78770 2005-09-27  Jim Meyering  <jim@meyering.net>
78771
78772         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78773         HAVE_CONFIG_H.
78774
78775         * lib/intprops.h (signed_type_or_expr__): Define.
78776         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78777         for unsigned types.
78778
78779 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78780
78781         * lib/verify.h (verify_expr): Remove, replacing with:
78782         (verify_true): New macro that returns true instead of void.
78783         (verify_type__): Remove.
78784         (verify): Use verify_true rather than verify_type__.
78785
78786 2005-09-26  Bruno Haible  <bruno@clisp.org>
78787
78788         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78789         is necessary.
78790         (lib_SOURCES): Remove mbchar.c.
78791         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78792         (Files): Add m4/mbrtowc.m4.
78793         * modules/mbiter: Likewise.
78794         * modules/mbuiter: Likewise.
78795
78796 2005-09-26  Bruno Haible  <bruno@clisp.org>
78797
78798         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78799         compile mbchar.c if they are not both present.
78800         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78801         * m4/mbiter.m4 (gl_MBITER): Likewise.
78802         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78803         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78804         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78805
78806 2005-09-25  Jim Meyering  <jim@meyering.net>
78807
78808         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78809         also uses socklen_t.
78810
78811 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78812
78813         * lib/utimens.c (ENOSYS): Define if not already defined.
78814         (futimens): Support having a null PATH if the file descriptor
78815         is nonnegative.
78816
78817         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78818         Remove.
78819         (__attribute): Define to empty unless GCC 3.1 or later.
78820         This works around a core dump on OpenBSD 3.4, which has GCC
78821         2.95.3, which dumps core when given __attribute__(()).  It also
78822         simplifies other tests, since we really don't want to bother with
78823         worrying about which ancient version of GCC supported what.
78824         Original problem reported by Yoann Vandoorselaere, with part of
78825         the fix suggested by Derek Price.
78826
78827 2005-09-24  Jim Meyering  <jim@meyering.net>
78828
78829         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78830         so we can once again use a positive bitfield width of 1 -- now we
78831         don't have to explain why we were using a bitfield width of 2.
78832
78833 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78834
78835         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78836         and similarly for the other external symbols.  Problem reported
78837         by James Gallager.
78838
78839         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78840         bug reported by Jim Meyering.
78841
78842         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78843         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78844         not needed, since socklen is a prerequisite module.
78845
78846 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78847
78848         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78849         Problem reported by Eric Blake.
78850         (getaddrinfo): Initialize se so that it's not garbage.
78851         Redo internal storage allocation so that it doesn't make unportable
78852         assumptions about alignment.
78853         Fix a memory leak.
78854
78855         * lib/utimens.c (futimens): Use futimesat if available.
78856         Prefer it to futimes since it doesn't have the futimes bug.
78857
78858         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78859         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78860         Instead, declare a function that returns a pointer to an array,
78861         and use verify_type__ to declare the size of the array.
78862         Problem and germ of a solution reported by Bruno Haible.
78863         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78864         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78865
78866 2005-09-23  Jim Meyering  <jim@meyering.net>
78867
78868         Sync from coreutils.
78869         Correct build failure (socklen_t not defined) on at least
78870         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78871         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78872
78873 2005-09-23  Jim Meyering  <jim@meyering.net>
78874
78875         * modules/getaddrinfo (Depends-on): Add socklen.
78876
78877 2005-09-23  Bruno Haible  <bruno@clisp.org>
78878
78879         * tests/test-verify.c: New file.
78880
78881 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78882
78883         Sync from coreutils.
78884
78885         * modules/argmatch (Depends-on): Add verify.
78886         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78887         unistd-safer.
78888         * modules/save-cwd (Depends-on): Likewise.
78889
78890         * modules/openat (Files): Add lib/openat-die.c.
78891         (Depends-on): Remove error, exitfail.
78892         Add dirname.
78893
78894         * modules/verify: New file.
78895         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78896         with "verify" module.
78897
78898 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78899
78900         Sync from coreutils.
78901
78902         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78903         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78904         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78905         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78906         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78907         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78908         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78909         Don't bother checking for string.h, stdlib.h, unistd.h.
78910         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78911         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78912         module's job.
78913         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78914         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78915
78916         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78917         (gl_GETDATE): Use it.
78918
78919         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78920
78921 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78922
78923         Sync from coreutils.
78924
78925         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78926         stat-time.h.
78927         * lib/argmatch.h: Include verify.h
78928         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78929         (ARGMATCH_ASSERT): Remove; unused.
78930         * lib/canonicalize.c: Assume STDC_HEADERS.
78931         * lib/exclude.c: Include "strcase.h".
78932         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78933         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78934         and stdio-safer.h.
78935         (getusershell): Call fopen, not fopen_safer.
78936         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78937         Do not include unistd-safer.h.
78938         (save_cwd): Don't call fd_safer; no longer needed
78939         now that we include fcntl--.h.
78940
78941         * lib/getdate.y (relative_time): New type.
78942         (RELATIVE_TIME_0): New constant.
78943         (parser_control): Use relative_time instead of doing it ourselves.
78944         (%union): Add new relative_time rel member.
78945         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78946         Now typeless.
78947         (relunit, relunit_snumber): Now of type rel.
78948         (zone, rel, relunit, get_date): Adjust to above changes.
78949
78950         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78951         Do not include unistd-safer.h.
78952         (getloadavg): Don't call fd_safer; no longer needed
78953         now that we include fcntl--.h.
78954
78955         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78956         (make_dir_parents): Treat ENOSYS like EEXIST.
78957
78958         Improve quality of diagnostics on restore_cwd failure.
78959         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78960         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78961         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78962         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78963         each time through the loop.  Do not diagnose restore_cwd failure;
78964         that is the caller's job (and perhaps the caller does not care).
78965
78966         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78967         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78968         If the file already exists but is not a directory, don't bother
78969         to try to make its parents.
78970         Close potential file descriptor leak if we can't chdir("/") (!).
78971         Don't always return true if chdir($PWD) fails; return true only
78972         if the requested action was done successfully (except for the
78973         chdir($PWD)).
78974         Don't log final directory unless we actually made it.
78975         Refactor to avoid duplicate code to fix up permissions.
78976         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78977
78978         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78979         to make it a bit faster and (I hope) clearer.
78980         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78981         Fix bug in formats like %2N.
78982
78983         * lib/verify.h: New file.
78984
78985 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78986
78987         Sync from coreutils.
78988         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78989
78990 2005-09-22  Jim Meyering  <jim@meyering.net>
78991
78992         Sync from coreutils.
78993
78994         * m4/lstat.m4 (gl_FUNC_LSTAT):
78995         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78996         Remove obsolete comment.
78997         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78998         * m4/xstrtod.m4: Likewise.
78999
79000         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
79001
79002 2005-09-22  Jim Meyering  <jim@meyering.net>
79003
79004         Sync from coreutils.
79005
79006         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
79007
79008         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
79009         the .tm_year member, since otherwise gcc-4.0 would now warn about
79010         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
79011
79012         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
79013         order to avoid an unsuppressible warning from gcc on 64-bit systems.
79014
79015         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
79016         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
79017         when run in a time zone for which daylight savings time is in effect
79018         for the starting date.
79019
79020         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
79021         stop us from restricting permissions of just-created absolute-named
79022         directories.
79023         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
79024         to restore initial working directory.
79025         * lib/mkdir-p.c (make_dir_parents): New parameter:
79026         different_working_dir, to tell caller if/when we change the working
79027         directory and are unable to return to the initial one.
79028         * lib/mkdir-p.h (make_dir_parents): Update prototype.
79029         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
79030         `return false'.  This fixes a bug introduced on 2004-07-30.
79031
79032         * lib/openat.c (fdopendir): Be sure to close the supplied
79033         file descriptor before returning.  This makes our replacement
79034         implementation a little closer to Solaris's, where fdopendir
79035         ties the file descriptor to the returned DIR* pointer.
79036         * lib/openat.c (unlinkat): New function.
79037         * lib/openat.h (unlinkat): Add prototype.
79038         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
79039         (openat_restore_fail): Rename from openat_restore_die.
79040         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
79041
79042         Provide an alternative to exiting immediately upon save_cwd or
79043         restore_cwd failure.  Now, an application can arrange e.g.,
79044         to perform a longjump in that case.
79045         * lib/openat.c: Include dirname.h.
79046         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
79047         (rpl_openat, fdopendir, fstatat): Call openat_save_die
79048         and openat_restore_die rather than calling error directly.
79049         Don't include "error.h" or "exitfail.h"; they're no longer needed.
79050
79051         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
79052         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
79053         define.
79054
79055         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
79056         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
79057                             int utc, int nanoseconds);
79058         Background:
79059         date should not have to allocate a megabyte of virtual memory to
79060         handle a format argument like +%1048575T.  When implemented with
79061         strftime, it must allocate such a buffer, use strftime to fill it
79062         in, print it, then free it.
79063         With fprintftime, it simply prints everything and exits.
79064         With no need for memory allocation, that's one fewer way to fail.
79065         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
79066         optional field width, not before, so we accept %9:z, not %:9z.
79067         (my_strftime): Be sure to use L_('x') for literals.
79068
79069         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
79070         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
79071         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
79072         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
79073         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
79074         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
79075         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
79076         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
79077         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
79078         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
79079         * lib/xgethostname.c, lib/xreadlink.c:
79080         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
79081
79082         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
79083         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
79084         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
79085         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
79086         and don't include <sys/file.h>).
79087
79088 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
79089
79090         Sync from coreutils.
79091
79092         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
79093         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
79094         [!LDAV_DONE]: Avoid unused variable warning.
79095
79096 2005-09-21  Bruno Haible  <bruno@clisp.org>
79097
79098         * lib/unicodeio.h (unicode_to_mb): New declaration.
79099
79100 2005-09-20  Derek Price  <derek@ximbiot.com>
79101
79102         * lib/getaddrinfo.c: Don't include <netdb.h> included from
79103         getaddrinfo.h.
79104
79105 2005-09-20  Bruno Haible  <bruno@clisp.org>
79106
79107         * gnulib-tool: Remove trailing slashes from the values specified for
79108         --source-base, --m4-base, --tests-base, --aux-dir.
79109         Suggested by Simon Josefsson <jas@extundo.com>.
79110
79111 2005-09-20  Bruno Haible  <bruno@clisp.org>
79112
79113         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
79114         func_modules_to_filelist, func_import, func_create_testdir): Make all
79115         sorting results locale-independent, so that gnulib-cache.m4 doesn't
79116         change when gnulib-tool is invoked in a different locale.
79117
79118 2005-09-19  Simon Josefsson  <jas@extundo.com>
79119
79120         * m4/socklen.m4: Fix typo.
79121
79122 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79123
79124         Use a consistent style for including <config.h>.
79125         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
79126         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
79127         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
79128         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
79129         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
79130         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
79131         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
79132         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
79133         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
79134         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
79135         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
79136         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
79137         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
79138         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
79139         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
79140         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
79141         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
79142         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
79143         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
79144         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
79145         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
79146         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
79147         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
79148         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
79149         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
79150         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
79151         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
79152         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
79153         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
79154         lib/xstrtoumax.c, lib/yesno.c:
79155         Standardize inclusion of config.h.
79156         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
79157         lib/inttostr.h:  Removed inclusion of config.h from header files.
79158         * lib/inttostr.c:  Adjusted in-tree users.
79159         * lib/timespec.h: Remove superfluous warning to include config.h.
79160         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
79161         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
79162         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
79163         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
79164         config.h with HAVE_CONFIG_H.
79165
79166 2005-09-19  Jim Meyering  <jim@meyering.net>
79167
79168         * modules/pathmax (License): Change to LGPL.
79169
79170 2005-09-19  Derek Price  <derek@ximbiot.com>
79171
79172         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
79173
79174 2005-09-19  Bruno Haible  <bruno@clisp.org>
79175
79176         * gnulib-tool (import): Provide default for --tests-base.
79177
79178 2005-09-19  Bruno Haible  <bruno@clisp.org>
79179
79180         * doc/quote.texi: New file, extracted from gnulib.texi.
79181         * doc/ctime.texi: New file, extracted from gnulib.texi.
79182         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
79183         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
79184         * doc/gnulib.texi: Include them.
79185
79186 2005-09-18  Bruno Haible  <bruno@clisp.org>
79187
79188         Portability fix.
79189         * gnulib-tool (func_readlink): New function.
79190         (func_ln_if_changed): Use it.
79191
79192 2005-09-18  Bruno Haible  <bruno@clisp.org>
79193
79194         * gnulib-tool: Support --with-tests also with --import.
79195         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
79196         (func_import): Use variables $testsbase and $inctests. Emit a
79197         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
79198         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
79199         SUBDIRS += $testsdir.
79200         (func_create_testdir): Update.
79201
79202 2005-09-18  Bruno Haible  <bruno@clisp.org>
79203
79204         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
79205         instead of $dry_run.
79206         (func_cp_if_changed, func_mv_if_changed): Remove functions.
79207         (func_ln_if_changed): Don't handle dry-run here.
79208         (func_import): In dry-run mode, detect more precisely which actions
79209         would be performed, and don't use "...ing" verbs.
79210
79211 2005-09-18  Bruno Haible  <bruno@clisp.org>
79212
79213         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
79214         (func_import): Use join on two temporary files instead of three nested
79215         loops, in order to determine which files are new or old.
79216
79217 2005-09-18  Bruno Haible  <bruno@clisp.org>
79218
79219         * gnulib-tool (func_import): Comment out code that spits out the
79220         new files with --dry-run.
79221
79222 2005-09-18  Bruno Haible  <bruno@clisp.org>
79223
79224         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
79225
79226 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79227
79228         * lib/stat-time.h: New file.
79229         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
79230         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
79231         in a different way.
79232         (timespec_cmp): New function.
79233         * lib/utimecmp.c: Include stat-time.h.
79234         (SYSCALL_RESOLUTION): Depend on whether various struct stat
79235         members exist, not on the obsolescent ST_MTIM_NSEC.
79236         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
79237
79238 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79239
79240         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
79241
79242 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
79243
79244         * MODULES.html.sh (File system functions): Add stat-time.
79245         * modules/stat-time: New file.
79246         * modules/timespec (Files): Remove m4/st_mtim.m4; this
79247         is now done in a different way, by the stat-time module.
79248         * modules/utimecmp (Depends-on): Add stat-time.
79249
79250 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
79251
79252         * m4/st_mtim.m4: Remove.  Superseded by...
79253         * m4/stat-time.m4: New file.
79254         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
79255         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
79256
79257 2005-09-15  Derek Price  <derek@ximbiot.com>
79258
79259         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
79260
79261 2005-09-15  Derek Price  <derek@ximbiot.com>
79262
79263         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
79264         * lib/regex_internal.c: Ditto, using this...
79265         (__GNUC_PREREQ): ...new macro.
79266         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
79267         using...
79268         (__GNUC_PREREQ): ...this new macro.
79269
79270         * lib/strstr.h: Include string.h. Define strstr as a macro here.
79271
79272 2005-09-15  Derek Price  <derek@ximbiot.com>
79273             Paul Eggert  <eggert@cs.ucla.edu>
79274
79275         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
79276         changes, consolidating in...
79277         * lib/regex_internal.h: ...this file.
79278
79279 2005-09-13  Jim Meyering  <jim@meyering.net>
79280
79281         * lib/canon-host.c: Filter through gnu indent and reword comments
79282         slightly.
79283         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
79284
79285 2005-09-13  Derek Price  <derek@ximbiot.com>
79286
79287         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
79288         failure.
79289         Reported by Jim Meyering  <jim@meyering.net>.
79290
79291 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79292
79293         * lib/base64.c: Typo.
79294         (base64_encode): Put b64str in initialized data section.
79295
79296 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
79297
79298         Merge glibc and coreutils changes into gnulib, plus a few
79299         extra fixes.
79300         * lib/md5.c: Use #error rather than a string.
79301         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
79302         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
79303         (__attribute__): Define to empty for non recent-GCC.
79304         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
79305         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
79306         Renamed from their non-__ counterparts, with new macros replacing
79307         them if not _LIBC.  Add __THROW attribute.
79308         (rol): Remove.
79309         (struct md5_ctx): Align buffer if using GCC.
79310         * lib/sha1.h (struct sha1_ctx): Likewise.
79311         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
79312         The old name was backwards.
79313         (NOTSWAP): Remove; not used.
79314         (rol): New macro, moved here from md5.h.
79315         (sha1_process_block): Remove a FIXME that doesn't make sense.
79316
79317 2005-09-12  Derek Price  <derek@ximbiot.com>
79318
79319         Return usable errors from canon-host.
79320         * lib/canon-host.h: New file.
79321         * lib/canon-host.c (canon_host): Wrap...
79322         (canon_host_r): ...this new function, which now relies exclusively on
79323         getaddrinfo.
79324         (ch_strerror): New function.
79325         (last_cherror): New global.
79326         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
79327         interface.
79328         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
79329         void *.
79330         (freeaddrinfo): Free ai->ai_canonname when set.
79331
79332 2005-09-12  Derek Price  <derek@ximbiot.com>
79333
79334         Make canon-host require getaddrinfo.
79335         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
79336         AC_LIBSOURCE canon-host.h.  Call...
79337         (gl_PREREQ_CANON_HOST): ...this new function, which requires
79338         gl_GETADDRINFO.
79339         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
79340
79341 2005-09-12  Derek Price  <derek@ximbiot.com>
79342
79343         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
79344         LGPL.
79345         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
79346
79347 2005-09-12  Derek Price  <derek@ximbiot.com>
79348
79349         * lib/gai_strerror.c: Include config.h when available.  Include
79350         getaddrinfo.h before other headers to test interface.
79351         Reported by Larry Jones <lawrence.jones@ugs.com>.
79352
79353 2005-09-12  Derek Price  <derek@ximbiot.com>
79354             Paul Eggert  <eggert@cs.ucla.edu>
79355
79356         * modules/glob (Files): Add glob-libc.h.
79357
79358 2005-09-12  Derek Price  <derek@ximbiot.com>
79359             Paul Eggert  <eggert@cs.ucla.edu>
79360
79361         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
79362         glob_.h, glob-libc.h.
79363         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
79364
79365 2005-09-12  Derek Price  <derek@ximbiot.com>
79366             Paul Eggert  <eggert@cs.ucla.edu>
79367
79368         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
79369         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
79370         protecting things that should be done only in gnulib contexts.
79371         * lib/glob_.h: New file, containing only the glob things needed for
79372         gnulib.
79373         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
79374         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
79375         (glob, globfree, glob_pattern_p): Now defined simply in terms of
79376         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
79377         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
79378         and to respect the namespace rules better.
79379
79380 2005-09-08  Simon Josefsson  <jas@extundo.com>
79381
79382         * modules/socklen: New file.
79383
79384 2005-09-08  Simon Josefsson  <jas@extundo.com>
79385
79386         * m4/socklen.m4: New file.
79387
79388 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         * modules/utimens (Files): Add m4/utimbuf.m4, since
79391         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
79392         Reported by Sergey Poznyakoff.
79393
79394 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79395
79396         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
79397         definitions, since that's the preferred style in glibc.
79398         Fix a minor spacing issue, and update copyright notice to match
79399         glibc's.
79400
79401 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
79402
79403         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
79404
79405 2005-09-06  Simon Josefsson  <jas@extundo.com>
79406
79407         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
79408         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
79409
79410 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79411
79412         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
79413         warning.
79414
79415 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79416
79417         * config/srclist.txt: Add glibc bug 1302.
79418
79419 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
79420
79421         Change bitset word type from unsigned int to unsigned long int,
79422         as this has better performance on typical 64-bit hosts.
79423         Port bitset code to hosts with unusual word sizes.
79424         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
79425         (build_collating_symbol):
79426         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
79427         argument is a bitset.  This is merely a style issue, but it makes
79428         it clearer that an entire array is expected.
79429         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
79430         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
79431         Port to the case where bitset_word is not the same as unsigned int.
79432         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79433         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
79434         Likewise.
79435         * lib/regexec.c (check_dst_limits_calc_pos_1,
79436         check_subexp_matching_top):
79437         (build_trtable, group_nodes_into_DFAstates):
79438         Likewise.
79439         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
79440         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79441         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79442         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79443         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79444         * lib/regcomp.c (optimize_subexps, lower_subexp):
79445         Work even if bitset_word has holes in its bitwise representation.
79446         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79447         * lib/regexec.c (check_dst_limits_calc_pos_1,
79448         check_subexp_matching_top):
79449         Likewise.
79450         * lib/regex_internal.c (re_string_reconstruct):
79451         Don't assume UCHAR_MAX == 255.
79452         * lib/regex_internal.h (bitset_set_all): Likewise.
79453         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79454         All uses changed.
79455         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79456         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79457         All uses changed.
79458         (BITSET_WORD_MAX): New macro.
79459         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79460         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79461         (bitset_empty, bitset_copy):
79462         Prefer sizeof (bitset) to multiplying it out ourselves.
79463         (bitset_not_merge): Remove; unused.
79464         (bitset_contain): Return bool, not unsigned int with one bit on.
79465         All callers changed.
79466         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79467         alignment than re_node_set; do this by defining a new internal
79468         type struct dests_alloc and using it to allocate memory.
79469
79470 2005-09-05  Bruno Haible  <bruno@clisp.org>
79471
79472         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79473         links.
79474
79475 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79476
79477         * modules/size_max (Makefile.am): Add size_max.h
79478
79479 2005-09-04  Derek Price  <derek@ximbiot.com>
79480
79481         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79482
79483 2005-09-03  Simon Josefsson  <jas@extundo.com>
79484
79485         * gnulib-tool: Fix typo.
79486
79487 2005-09-03  Simon Josefsson  <jas@extundo.com>
79488
79489         * config/srclist.txt: Add glibc bug 1293.
79490
79491 2005-09-03  Derek Price  <derek@ximbiot.com>
79492
79493         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79494         From Larry Jones <lawrence.jones@ugs.com>.
79495
79496 2005-09-02  Simon Josefsson  <jas@extundo.com>
79497
79498         * modules/socklen: New file.
79499
79500 2005-09-02  Simon Josefsson  <jas@extundo.com>
79501
79502         * modules/havelib: New module.
79503
79504         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79505         Use havelib.
79506
79507 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79508
79509         Check for arithmetic overflow when calculating sizes, to prevent
79510         some buffer-overflow issues.  These patches are conservative, in the
79511         sense that when I couldn't determine whether an overflow was possible,
79512         I inserted a run-time check.
79513         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79514         macros.
79515         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79516         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79517         (re_xnrealloc, re_x2nrealloc): New inline functions.
79518         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79519         parse_bracket_exp):
79520         (build_equiv_class, build_charclass): Check for arithmetic overflow
79521         in size expression calculations.
79522         * lib/regex_internal.c (re_string_realloc_buffers):
79523         (build_wcs_upper_buffer, re_node_set_add_intersect):
79524         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79525         (re_dfa_add_node, register_state): Likewise.
79526         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79527         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79528         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79529         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79530
79531 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79532
79533         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79534         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79535
79536 2005-09-02  Bruno Haible  <bruno@clisp.org>
79537
79538         Support for lib vs. lib64 distinction on biarch platforms.
79539         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79540         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79541         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79542
79543 2005-09-02  Bruno Haible  <bruno@clisp.org>
79544
79545         * gnulib-tool (import): In the other first-use case, provide defaults
79546         as well.
79547
79548 2005-09-02  Bruno Haible  <bruno@clisp.org>
79549
79550         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79551         patches not yet found in the latest gettext release.
79552
79553 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79554
79555         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79556         to avoid a collision with bits/local_lim.h in glibc.
79557         All uses changed.  Problem reported by Dmitry V. Levin in
79558         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79559
79560         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79561         bugs in int versus size_t comparisons.
79562         (re_string_context_at): Fix bug where the code assumed that
79563         Idx is signed.
79564
79565         Use bool where appropriate.
79566         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79567         All callers changed.
79568         (calc_eclosure_iter): Likewise, for ROOT arg.
79569         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79570         (build_charclass_op): Likewise, for NON_MATCH arg.
79571         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79572         (re_string_construct_common): Likewise, for ICASE arg.
79573         * lib/regexec.c (re_search_2_stub, re_search_stub):
79574         Likewise, for RET_LEN arg.
79575         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79576         (set_regs): Likewise, for FL_BACKTRACK arg.
79577         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79578         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79579         (calc_eclosure_iter, parse_bracket_exp):
79580         Use bool for internal variables that are booleans.
79581         * lib/regexec.c (re_search_internal, check_matching,
79582         proceed_next_node):
79583         (set_regs, build_sifted_states, sift_states_bkref):
79584         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79585         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79586         (find_collation_sequence_value):
79587         Likewise.
79588         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79589         (re_node_set_compare):
79590         Return bool, not int. All callers changed.
79591         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79592         (build_trtable, check_node_accept): Likewise.
79593         * lib/regex_internal.h: Include stdbool.h.
79594
79595         Fix bugs uncovered when converting to bool.
79596         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79597         failure instead of charging ahead blindly.
79598         * lib/regex_internal.c (register_state): Likewise.
79599         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79600         for freeing internal storage.
79601         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79602         bitset pieces used as boolean, to avoid undefined behavior
79603         on hosts that do int overflow checking.
79604
79605 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79606
79607         * config/srclist.txt: Add glibc bugs 1285-1287.
79608
79609 2005-09-01  Jim Meyering  <jim@meyering.net>
79610
79611         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79612         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79613         Require gl_STAT_MACROS, too.
79614
79615 2005-09-01  Bruno Haible  <bruno@clisp.org>
79616
79617         * gnulib-tool (import): In the first-use case, provide defaults.
79618
79619 2005-09-01  Bruno Haible  <bruno@clisp.org>
79620
79621         * gnulib-tool (func_import): Remove the .tmp files.
79622
79623 2005-09-01  Bruno Haible  <bruno@clisp.org>
79624
79625         * gnulib-tool (func_import): Fix handling of symbolic links.
79626
79627 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79628
79629         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79630         old glibc regex code mishandles strings longer than 2**31 bytes.
79631         This patch fixes this when the regex code is used in gnulib
79632         (i.e., outside glibc).
79633
79634         This patch should not affect the use of the regex code inside
79635         glibc.  No doubt this problem also needs to be handled for glibc
79636         as well, but the result will be an incompatible change to the
79637         glibc ABI, and the old ABI will have to be supported too.  That
79638         can be the the subject for another patch.
79639
79640         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79641         governing whether the rest of this patch is active.  By default,
79642         the macro is disabled and the patch has no effect.
79643         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79644         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79645         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79646         (re_match_2, re_set_registers): Use the new types.
79647         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79648         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79649         New macros.
79650         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79651         (re_string_context_at, bin_tree_t, re_dfastate_t):
79652         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79653         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79654         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79655         (re_string_char_size_at, re_string_wchar_at):
79656         (re_string_elem_size_at):
79657         Use the new types and macros to port to 64-bit hosts.
79658         Use unsigned types for internal values, so that the code
79659         mostly works even for arrays larger than SSIZE_MAX.
79660         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79661         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79662         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79663         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79664         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79665         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79666         (calc_inveclosure, parse_dup_op, build_range_exp):
79667         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79668         (fetch_number, create_token_tree, mark_opt_subexp):
79669         Likewise.
79670         * lib/regex_internal.c (re_string_construct_common,
79671         create_ci_newstate):
79672         (create_cd_newstate, re_string_allocate, re_string_construct):
79673         (re_string_realloc_buffers, build_wcs_upper_buffer):
79674         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79675         (re_string_reconstruct, re_string_peek_byte_case):
79676         (re_string_fetch_byte_case, re_string_context_at):
79677         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79678         (re_node_set_init_copy, re_node_set_add_intersect):
79679         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79680         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79681         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79682         (re_acquire_state, re_acquire_state_context, register_state):
79683         Likewise.
79684         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79685         search_cur_bkref_entry):
79686         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79687         (re_search_internal, re_search_2_stub, re_search_stub)
79688         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79689         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79690         (update_cur_sifted_state, check_dst_limits):
79691         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79692         (check_subexp_limits, sift_states_bkref, merge_state_array):
79693         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79694         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79695         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79696         (expand_bkref_cache, check_node_accept_bytes):
79697         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79698         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79699         (acquire_init_state_context, check_halt_node_context):
79700         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79701         (sift_states_backward, clean_state_log_if_needed):
79702         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79703         (find_recover_state, transit_state_sb, transit_state_mb):
79704         (transit_state_bkref, build_trtable, match_ctx_clean):
79705         Likewise.
79706         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79707         to work around an assumption that REG_MISSING is negative.
79708
79709         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79710         (seek_collating_symbol_entry) [defined _LIBC]:
79711         (lookup_collation_sequence_value) [defined _LIBC]:
79712         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79713         Use prototypes rather than old-style function definitions.
79714         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79715         (transit_state_sb) [0]:
79716         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79717
79718         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79719         rm_eo.
79720
79721         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79722         (optimize_subexps, lower_subexp):
79723         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79724         since the signed shift might overflow.  Use 1u<<31 instead.
79725         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79726         Likewise.
79727         * lib/regexec.c (check_dst_limits_calc_pos_1,
79728         check_subexp_matching_top): Likewise.
79729
79730         * lib/regcomp.c (optimize_subexps, lower_subexp):
79731         Use CHAR_BIT rather than 8, for clarity.
79732         * lib/regexec.c (check_dst_limits_calc_pos_1):
79733         (check_subexp_matching_top): Likewise.
79734         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79735         have to worry about portability issues when shifting it left.
79736         Remove no-longer-needed test for table_size > 0.
79737         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79738         in a word, as the resulting behavior is undefined.
79739         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79740         in one case, a <= should have been an <, and in another case the
79741         whole test was missing.
79742         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79743         the standard name CHAR_BIT.
79744         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79745         this is not true on one's complement and signed-magnitude hosts.
79746
79747         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79748         next_last_offset.
79749         (struct re_dfa_t): Remove unused member states_alloc.
79750         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79751
79752 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79753
79754         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79755         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79756         and large-file glibc and in 32-bit large-file Solaris.
79757
79758 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79759
79760         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79761         lengths fit in regoff_t; this isn't true if regoff_t is the same
79762         width as size_t.
79763         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79764         (= START + RANGE) instead of RANGE.  This avoids overflow
79765         problems when regoff_t is the same width as size_t.
79766         All callers changed.
79767         (re_search_2_stub): Check for overflow when adding the
79768         sizes of the two strings.
79769         (re_search_stub): Check for overflow when adding START
79770         to RANGE; if it occurs, substitute the extreme value.
79771
79772 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79773
79774         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79775
79776 2005-08-31  Jim Meyering  <jim@meyering.net>
79777
79778         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79779         a pointer-to-const.
79780         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79781         (register_state): Likewise.
79782         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79783         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79784         (group_nodes_into_DFAstates): Likewise.
79785
79786 2005-08-31  Jim Meyering  <jim@meyering.net>
79787
79788         * check-module: Add a FIXME comment.
79789
79790 2005-08-31  Eric Blake  <ebb9@byu.net>
79791
79792         * modules/unistd-safer (Files): Add unistd--.h.
79793         * modules/stdio-safer (Files): Add stdio--.h.
79794
79795 2005-08-31  Derek Price  <derek@ximbiot.com>
79796
79797         * lib/getdelim.c (getdelim): Return EOF on EOF.
79798         Reported by Larry Jones <lawrence.jones@ugs.com>.
79799
79800 2005-08-31  Bruno Haible  <bruno@clisp.org>
79801
79802         Avoid unnecessary diffs in the generated lib/Makefile.am.
79803         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79804         the generated files.
79805         (func_import): Don't set cmd.
79806
79807 2005-08-31  Bruno Haible  <bruno@clisp.org>
79808
79809         * lib/strstr.c: Include <stddef.h>, for NULL.
79810         * lib/strcasestr.c: Likewise.
79811         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79812
79813 2005-08-31  Bruno Haible  <bruno@clisp.org>
79814
79815         * gnulib-tool: New option --macro-prefix.
79816         (func_import): Use macro_prefix.
79817         (import): Handle option --macro-prefix.
79818
79819 2005-08-31  Bruno Haible  <bruno@clisp.org>
79820
79821         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79822         Also use new variables cached_lgpl, cached_libtool.
79823
79824 2005-08-31  Bruno Haible  <bruno@clisp.org>
79825
79826         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79827         always instantiating them.
79828
79829 2005-08-31  Bruno Haible  <bruno@clisp.org>
79830
79831         * gnulib-tool (func_import): Read the previous cached settings
79832         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79833         earlier added by gnulib but are now dropped. Warn when a gnulib file
79834         overwrites a non-gnulib file.
79835
79836 2005-08-31  Bruno Haible  <bruno@clisp.org>
79837
79838         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79839         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79840         projects that don't keep autogenerated files in CVS. Put into
79841         actioncmd only the specified modules, not the transitive closure.
79842
79843 2005-08-31  Bruno Haible  <bruno@clisp.org>
79844
79845         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79846         Create directories that shall be filled.
79847         (import): Don't look for gl_* macros in configure.ac. Recurse across
79848         all directories containing a gnulib-cache.m4 files, if meaningful.
79849
79850 2005-08-31  Bruno Haible  <bruno@clisp.org>
79851
79852         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79853         (import): Set seen_libtool when we see gl_LIBTOOL.
79854
79855 2005-08-31  Bruno Haible  <bruno@clisp.org>
79856
79857         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79858         declaration macro definitions from generated gnulib.m4.
79859
79860 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79861
79862         * lib/iconvme.h: Add prototype for iconv_alloc.
79863
79864 2005-08-29  Simon Josefsson  <jas@extundo.com>
79865
79866         * lib/iconvme.c: Fix errno.
79867
79868 2005-08-29  Bruno Haible  <bruno@clisp.org>
79869
79870         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79871         that it works when the directory contains spaces.
79872
79873 2005-08-29  Bruno Haible  <bruno@clisp.org>
79874
79875         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79876
79877 2005-08-29  Bruno Haible  <bruno@clisp.org>
79878
79879         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79880         Emit more advice.
79881
79882 2005-08-29  Bruno Haible  <bruno@clisp.org>
79883         and Stepan Kasal  <kasal@ucw.cz>
79884
79885         * check-module: If more parameters are given, check each of them
79886         separately; add more exceptions, as noted by Jim Meyering.
79887         (check_module): New procedure.
79888         (%exempt_header): Now contains all exceptions.
79889
79890 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79891
79892         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79893
79894 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79895
79896         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79897
79898 2005-08-28  Bruno Haible  <bruno@clisp.org>
79899
79900         * m4/gnulib-tool.m4: New file.
79901
79902 2005-08-27  Jim Meyering  <jim@meyering.net>
79903
79904         * modules/unistd-safer (Files): Add pipe-safer.c.
79905         * modules/fcntl-safer (Files): Add creat-safer.c.
79906
79907 2005-08-27  Jim Meyering  <jim@meyering.net>
79908
79909         * m4/stdlib-safer.m4: New file.  From coreutils.
79910         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79911         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79912         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79913         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79914         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79915
79916 2005-08-27  Jim Meyering  <jim@meyering.net>
79917
79918         * lib/fopen-safer.c: Merge minor changes from coreutils.
79919         * lib/dup-safer.c: Likewise.
79920         * lib/fd-safer.c: Likewise.
79921
79922         Merge from coreutils.
79923         * lib/stdio--.h: New file.
79924         * lib/stdlib--.h: New file.
79925         * lib/mkstemp-safer.c: New file.
79926
79927         GNU tar needs these.
79928         * lib/pipe-safer.c: New file.
79929         * lib/creat-safer.c: New file.
79930         * lib/fcntl--.h (creat): Define to creat_safer.
79931         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79932         * lib/unistd--.h (pipe): Define to pipe_safer.
79933         * lib/unistd-safer.h: Declare pipe_safer.
79934
79935 2005-08-26  Simon Josefsson  <jas@extundo.com>
79936
79937         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79938         Haible <bruno@clisp.org>.
79939
79940 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79941
79942         * lib/regex_internal.h: Remove all references to
79943         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79944         or better.
79945         (bitset_not, bitset_merge, bitset_not_merge):
79946         (bitset_mask, re_string_allocate, re_string_construct):
79947         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79948         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79949         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79950         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79951         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79952         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79953         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79954         (re_acquire_state_context):
79955         Remove unnecessary forward decls.
79956         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79957         Put __attribute at function definition,
79958         now that the function decl has been removed.
79959         * lib/regex_internal.c (re_string_peek_byte_case):
79960         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79961         Likewise.
79962
79963 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79964
79965         * m4/regex.m4: Add AC_PREREQ(2.50).
79966         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79967
79968 2005-08-25  Simon Josefsson  <jas@extundo.com>
79969
79970         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79971         __fsetlocking.
79972
79973 2005-08-25  Simon Josefsson  <jas@extundo.com>
79974
79975         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79976         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79977         GLIBC specific code.
79978
79979 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79980
79981         Make regex safe for g++.  This fixes one real bug (an "err"
79982         that should have been "*err").  g++ problem reported by
79983         Sam Steingold.
79984         * lib/regex_internal.h (re_calloc): New macro, consistent with
79985         re_malloc etc.  All callers of calloc changed to use re_calloc.
79986         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79987         not int.  All callers changed.
79988         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79989         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79990         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79991         (find_recover_state): Change "err" to "*err"; this fixes what
79992         appears to be a real bug.
79993         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79994         versus int.
79995
79996 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79997
79998         * modules/regex (Depends-on): Add malloc, since the code
79999         assumes that !malloc(0) means failure.
80000
80001 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80002
80003         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
80004
80005         alloca modernization/simplification for regex.
80006         * lib/regex.c: Remove portability cruft for alloca.  This no longer
80007         needs to be at the start of the file, and can be moved into
80008         regex_internal.h and simplified.
80009         * lib/regex_internal.h: Include <alloca.h>.
80010         (__libc_use_alloca) [!defined _LIBC]: New macro.
80011         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
80012         now works outside glibc.
80013
80014 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
80015
80016         * config/srclist.txt: Add glibc bugs 1241, 1245.
80017
80018 2005-08-25  Jim Meyering  <jim@meyering.net>
80019
80020         * lib/open-safer.c: Include <config.h>.
80021         Otherwise, we'd lose LARGEFILE support in any file using
80022         e.g. "fcntl--.h"
80023
80024 2005-08-25  Bruno Haible  <bruno@clisp.org>
80025
80026         * m4/minmax.m4: Require autoconf 2.52.
80027         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
80028         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
80029         alternatives of translit over the alphabet.
80030         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
80031
80032 2005-08-24  Simon Josefsson  <jas@extundo.com>
80033
80034         * tests/test-getpass.c: New file.
80035
80036 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80037
80038         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
80039         for GNU regex features.
80040
80041 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80042
80043         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
80044         * lib/regex.h (regerror): Likewise.
80045
80046         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
80047         requires this.  (The code never needed it.)
80048
80049         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
80050         All uses of recently-renamed identifiers changed to use the new,
80051         POSIX-compliant names.  The code will build and run just fine
80052         without these changes, but it's better to eat our own dog food
80053         and use the standard-conforming names.
80054
80055         * lib/regex.h: Fix a multitude of POSIX name space violations.
80056         These changes have an effect only for programs that define
80057         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
80058         do not change anything for programs compiled in the normal way.
80059         Also, there is no effect on the ABI.
80060
80061         (_REGEX_SOURCE): New macro.
80062         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
80063         defined and _GNU_SOURCE is not; this fixes a name space violation.
80064
80065         Rename the following macros to obey POSIX requirements.
80066         The old names are still visible as macros if _REGEX_SOURCE is defined.
80067         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
80068         RE_BACKSLASH_ESCAPE_IN_LISTS.
80069         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
80070         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
80071         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
80072         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
80073         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
80074         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
80075         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
80076         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
80077         (REG_INTERVALS): renamed from RE_INTERVALS.
80078         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
80079         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
80080         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
80081         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
80082         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
80083         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
80084         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
80085         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
80086         RE_UNMATCHED_RIGHT_PAREN_ORD.
80087         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
80088         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
80089         (REG_DEBUG): renamed from RE_DEBUG.
80090         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
80091         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
80092         unusual, since we can't clash with the POSIX REG_ICASE.
80093         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
80094         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
80095         (REG_NO_SUB): renamed from RE_NO_SUB.
80096         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
80097         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
80098         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
80099         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
80100         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
80101         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
80102         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
80103         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
80104         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
80105         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
80106         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
80107         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
80108         RE_SYNTAX_POSIX_MINIMAL_BASIC.
80109         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
80110         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
80111         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
80112         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
80113         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
80114         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
80115         (REG_FIXED): Renamed from REGS_FIXED.
80116         (REG_NREGS): Renamed from RE_NREGS.
80117
80118         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
80119         of other REG_* macros, since POSIX says the user is allowed to
80120         #undef these macros selectively.
80121
80122         (reg_errcode_t): Update comment stating what other tables need
80123         to be consistent.
80124
80125         Rename the following enum values to obey POSIX requirements.
80126         The old names are still visible as macros.
80127         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
80128         is not defined, since GNU is supposed to be a superset of POSIX as
80129         much as possible, and since we want reg_errcode_t to be a signed
80130         type for implementation consistency.
80131         (_REG_NOERROR): Renamed from REG_NOERROR.
80132         (_REG_NOMATCH): Renamed from REG_NOMATCH.
80133         (_REG_BADPAT): Renamed from REG_BADPAT.
80134         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
80135         (_REG_ECTYPE): Renamed from REG_ECTYPE.
80136         (_REG_EESCAPE): Renamed from REG_EESCAPE.
80137         (_REG_ESUBREG): Renamed from REG_ESUBREG.
80138         (_REG_EBRACK): Renamed from REG_EBRACK.
80139         (_REG_EPAREN): Renamed from REG_EPAREN.
80140         (_REG_EBRACE): Renamed from REG_EBRACE.
80141         (_REG_BADBR): Renamed from REG_BADBR.
80142         (_REG_ERANGE): Renamed from REG_ERANGE.
80143         (_REG_ESPACE): Renamed from REG_ESPACE.
80144         (_REG_BADRPT): Renamed from REG_BADRPT.
80145         (_REG_EEND): Renamed from REG_EEND.
80146         (_REG_ESIZE): Renamed from REG_ESIZE.
80147         (_REG_ERPAREN): Renamed from REG_ERPAREN.
80148         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
80149         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
80150         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
80151         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
80152
80153         (_REG_RE_NAME, _REG_RM_NAME): New macros.
80154         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
80155         changed.  But support the old name if the new one is not defined
80156         and if _REGEX_SOURCE.
80157
80158         Change the following member names in struct re_pattern_buffer.
80159         The old names are still supported if !_REGEX_SOURCE.
80160         The new names are always supported, regardless of _REGEX_SOURCE.
80161         (re_buffer): Renamed from buffer.
80162         (re_allocated): Renamed from allocated.
80163         (re_used): Renamed from used.
80164         (re_syntax): Renamed from syntax.
80165         (re_fastmap): Renamed from fastmap.
80166         (re_translate): Renamed from translate.
80167         (re_can_be_null): Renamed from can_be_null.
80168         (re_regs_allocated): Renamed from regs_allocated.
80169         (re_fastmap_accurate): Renamed from fastmap_accurate.
80170         (re_no_sub): Renamed from no_sub.
80171         (re_not_bol): Renamed from not_bol.
80172         (re_not_eol): Renamed from not_eol.
80173         (re_newline_anchor): Renamed from newline_anchor.
80174
80175         Change the following member names in struct re_registers.
80176         The old names are still supported if !_REGEX_SOURCE.
80177         The new names are always supported, regardless of _REGEX_SOURCE.
80178         (rm_num_regs): Renamed from num_regs.
80179         (rm_start): Renamed from start.
80180         (rm_end): Renamed from end.
80181
80182         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
80183         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
80184         Prepend __ to parameter names.
80185
80186         Undo yesterday's changes.
80187
80188 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
80189
80190         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
80191         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
80192         lib/regex.c.
80193
80194 2005-08-24  Jim Meyering  <jim@meyering.net>
80195
80196         Sync from coreutils.
80197         * m4/fcntl-safer.m4: New file.
80198
80199         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
80200         and object files for this module.
80201
80202 2005-08-24  Jim Meyering  <jim@meyering.net>
80203
80204         Sync from coreutils.
80205         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
80206
80207 2005-08-24  Jim Meyering  <jim@meyering.net>
80208
80209         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
80210         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
80211
80212 2005-08-24  Jim Meyering  <jim@meyering.net>
80213
80214         * modules/fcntl-safer: New module.
80215         * modules/fts (Depends-on): Add fcntl-safer.
80216         * MODULES.html.sh (File descriptor based Input/Output):
80217         Add fcntl-safer.
80218
80219 2005-08-24  Bruno Haible  <bruno@clisp.org>
80220
80221         Support for unit test modules.
80222         * modules/README: Mention tests modules.
80223         * modules/TEMPLATE-TESTS: New file.
80224         * gnulib-tool: New options --extract-tests-module, --with-tests and
80225         --tests-base (unused for the moment).
80226         (testsbase, inctests): New variables.
80227         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
80228         (func_verify_module): Exclude TEMPLATE-TESTS.
80229         (func_verify_nontests_module, func_verify_tests_module): New functions.
80230         (func_get_dependencies): Add implicit dependency for tests modules.
80231         (func_get_tests_module): New function.
80232         (func_modules_transitive_closure): When --with-tests was specified,
80233         include the unit tests as well, unless explicitly avoided.
80234         (func_emit_lib_Makefile_am): Ignore the tests modules here.
80235         (func_emit_tests_Makefile_am): New function.
80236         (func_create_testdir): When --with-tests was specified, emit a
80237         tests/ directory.
80238         * MODULES.html.sh (Future developments): Update.
80239
80240 2005-08-24  Bruno Haible  <bruno@clisp.org>
80241
80242         * modules/tls-tests: New file.
80243         * tests/test-tls.c: New file, from GNU gettext.
80244
80245 2005-08-24  Bruno Haible  <bruno@clisp.org>
80246
80247         * modules/lock-tests: New file.
80248         * tests/test-lock.c: New file, from GNU gettext.
80249
80250 2005-08-24  Bruno Haible  <bruno@clisp.org>
80251
80252         * lib/lock.h: Add multiple inclusion guard.
80253         * lib/tls.h: Add multiple inclusion guard.
80254
80255 2005-08-24  Bruno Haible  <bruno@clisp.org>
80256
80257         * gnulib-tool: Add support for the --aux-dir option to
80258         --create-testdir, --create-megatestdir, --test, --megatest.
80259         (func_create_testdir, func_create_megatestdir): Optionally emit a
80260         AC_CONFIG_AUX_DIR directive.
80261         (create-testdir, create-megatestdir, test, megatest): Provide a
80262         default value for $auxdir.
80263
80264 2005-08-24  Bruno Haible  <bruno@clisp.org>
80265
80266         * gnulib-tool (import): Use compound statement instead of subshell
80267         where possible.
80268
80269 2005-08-24  Bruno Haible  <bruno@clisp.org>
80270
80271         * gnulib-tool (import): Change --aux-dir default to "build-aux".
80272
80273 2005-08-24  Bruno Haible  <bruno@clisp.org>
80274
80275         * gnulib-tool (func_version): Update.
80276
80277 2005-08-24  Bruno Haible  <bruno@clisp.org>
80278
80279         * gnulib-tool (func_import, func_create_testdir,
80280         func_create_megatestdir): Quote all autoconf macro arguments.
80281
80282 2005-08-24  Bruno Haible  <bruno@clisp.org>
80283
80284         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
80285         option --force, because --force causes the aclocal.m4 of each
80286         subdirectory to be newer than the corresponding config.h.in.
80287
80288 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80289
80290         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
80291         All contents moved to gl_REGEX.
80292         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
80293         assume that it does.
80294
80295 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80296
80297         * lib/regex.h (REG_NOSYS)
80298         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
80299         Define, since POSIX requires it as of 2001.
80300         (_REG_ENOSYS)
80301         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
80302         New private symbol, used to keep the enum signed in all cases.
80303         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
80304         Youngman in
80305         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
80306
80307         * lib/regex_internal.c (re_string_skip_chars, register_state):
80308         (calc_state_hash):
80309         Remove forward decls; no longer needed now that we use prototypes.
80310         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
80311         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
80312         (clean_state_log_if_needed): Likewise.
80313
80314 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
80315
80316         * config/srclist.txt: Add glibc bugs 1231-1233.
80317
80318 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80319
80320         Fix problems reported by Sam Steingold in
80321         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
80322         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
80323         assumed that reg_errcode_t is a signed type, which is not
80324         necessarily true if _XOPEN_SOURCE is not defined.
80325         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
80326         since some compilers warn about it otherwise.
80327
80328 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80329
80330         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
80331         (init_word_char, create_initial_state, duplicate_node_closure):
80332         (fetch_token, peek_token_bracket, build_range_exp):
80333         (build_collating_symbol): Remove forward decls; no longer needed
80334         now that we use prototypes.
80335
80336         * lib/regcomp.c:
80337         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
80338         (re_compile_fastmap_iter, regcomp, regerror, regfree):
80339         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
80340         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
80341         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
80342         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
80343         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
80344         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
80345         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
80346         (build_range_exp, build_collating_symbol, parse_bracket_exp):
80347         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
80348         (build_charclass, build_charclass_op, fetch_number, create_tree):
80349         (create_token_tree, mark_opt_subexp, duplicate_tree):
80350         Use prototypes rather than old-style definitions.
80351
80352         * lib/regex_internal.c:
80353         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
80354         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
80355         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
80356         (re_string_reconstruct, re_string_peek_byte_case):
80357         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
80358         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
80359         (re_node_set_init_copy, re_node_set_add_intersect):
80360         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
80361         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
80362         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
80363         (re_acquire_state, re_acquire_state_context, register_state):
80364         (create_ci_newstate, create_cd_newstate, free_state):
80365         Likewise.
80366         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
80367         re_search_2):
80368         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
80369         (re_search_internal, prune_impossible_nodes):
80370         (acquire_init_state_context, check_matching, static):
80371         (check_halt_node_context, check_halt_state_context, proceed_next_node):
80372         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
80373         (update_regs, sift_states_backward, build_sifted_states):
80374         (clean_state_log_if_needed, merge_state_array):
80375         (update_cur_sifted_state, add_epsilon_src_nodes):
80376         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
80377         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
80378         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
80379         (find_recover_state, check_subexp_matching_top, transit_state_mb):
80380         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
80381         (check_arrival, check_arrival_add_next_nodes):
80382         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
80383         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
80384         (check_node_accept_bytes, check_node_accept, extend_buffers):
80385         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
80386         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
80387         (sift_ctx_init):
80388         Likewise.
80389
80390         * lib/regex_internal.h:
80391         (re_string_allocate, re_string_construct, re_string_reconstruct):
80392         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
80393         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
80394         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
80395         (re_string_context_at, re_string_peek_byte_case):
80396         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
80397         is defined, since we now use prototypes always.
80398
80399         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
80400         C89 or better.  All uses removed.
80401
80402 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
80403
80404         * config/srclist.txt: Add glibc bugs 1220-1227.
80405
80406 2005-08-20  Jim Meyering  <jim@meyering.net>
80407
80408         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
80409         of unused local, dfa.
80410
80411 2005-08-20  Bruno Haible  <bruno@clisp.org>
80412
80413         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
80414
80415 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80416
80417         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
80418         (re_node_set_insert_last, re_dfa_add_node):
80419         Rename local variables to avoid GCC shadowing warnings.
80420
80421 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80422
80423         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
80424         [defined lint]: Suppress bogus uninitialized-variable warnings.
80425
80426         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
80427         and let the caller return REG_ESPACE if out of space.  This
80428         removes an uninitialied-variable warning with GCC 4.0.1, and also
80429         avoids taking the address of a local variable.  All callers
80430         changed.
80431
80432 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80433
80434         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
80435         $LIBCSRC/posix/regexec.c.
80436         Add glibc bug 1217 for regcomp.c.
80437
80438 2005-08-19  Jim Meyering  <jim@meyering.net>
80439
80440         * lib/regexec.c (proceed_next_node): Redo local variables to
80441         avoid GCC shadowing warnings.
80442
80443 2005-08-18  Bruno Haible  <bruno@clisp.org>
80444
80445         * lib/strstr.c (strstr): Fix return value in multibyte case.
80446         * lib/strcasestr.c (strcasestr): Likewise.
80447
80448 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80449
80450         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80451
80452 2005-08-17  Jim Meyering  <jim@meyering.net>
80453
80454         Make the %s format (seconds since the epoch) work for a negative
80455         number and when used with a zero-padded field width, e.g. %015s.
80456
80457         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80458         label so that it precedes the code to set `digits'.  Otherwise,
80459         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80460         print `00-22'.  Now, it prints `-0022', as it should.
80461
80462 2005-08-17  Bruno Haible  <bruno@clisp.org>
80463
80464         * modules/strstr (Files): Add m4/mbrtowc.m4.
80465         (Depends-on): Add mbuiter.
80466
80467 2005-08-17  Bruno Haible  <bruno@clisp.org>
80468
80469         * modules/strcasestr: New file.
80470         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80471         strcasestr.
80472
80473 2005-08-17  Bruno Haible  <bruno@clisp.org>
80474
80475         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80476
80477 2005-08-17  Bruno Haible  <bruno@clisp.org>
80478
80479         * modules/mbuiter: New file.
80480         * MODULES.html.sh (Extended multibyte and wide character utilities):
80481         Add mbuiter.
80482
80483 2005-08-17  Bruno Haible  <bruno@clisp.org>
80484
80485         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80486         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80487
80488 2005-08-17  Bruno Haible  <bruno@clisp.org>
80489
80490         * m4/strcasestr.m4: New file.
80491
80492 2005-08-17  Bruno Haible  <bruno@clisp.org>
80493
80494         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80495         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80496
80497 2005-08-17  Bruno Haible  <bruno@clisp.org>
80498
80499         * lib/strcasestr.h: New file.
80500         * lib/strcasestr.c: New file.
80501
80502 2005-08-17  Bruno Haible  <bruno@clisp.org>
80503
80504         * lib/strcasecmp.c: Use mbuiter.h.
80505
80506 2005-08-17  Bruno Haible  <bruno@clisp.org>
80507
80508         * lib/mbuiter.h: New file.
80509
80510 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80511
80512         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80513         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80514         and gl_GETOPT are both invoked via different paths (as happens
80515         with GNU tar CVS because it uses both argp and getopt), the former
80516         wins.
80517
80518 2005-08-16  Bruno Haible  <bruno@clisp.org>
80519
80520         * modules/tls: New file.
80521         * MODULES.html.sh (Multithreading): Add tls.
80522
80523 2005-08-16  Bruno Haible  <bruno@clisp.org>
80524
80525         * modules/strnlen1: New file.
80526         * MODULES.html.sh (String handling): Add strnlen1.
80527
80528 2005-08-16  Bruno Haible  <bruno@clisp.org>
80529
80530         * modules/strcase (Files): Add m4/mbrtowc.m4.
80531         (Depends-on): Add strnlen1, mbchar.
80532
80533 2005-08-16  Bruno Haible  <bruno@clisp.org>
80534
80535         * modules/mbiter: New file.
80536         * MODULES.html.sh (Extended multibyte and wide character utilities):
80537         Add mbiter.
80538
80539 2005-08-16  Bruno Haible  <bruno@clisp.org>
80540
80541         * modules/mbfile: New file.
80542         * MODULES.html.sh (Extended multibyte and wide character utilities):
80543         Add mbfile.
80544
80545 2005-08-16  Bruno Haible  <bruno@clisp.org>
80546
80547         * modules/mbchar: New file.
80548         * MODULES.html.sh (Extended multibyte and wide character utilities):
80549         New section.
80550
80551 2005-08-16  Bruno Haible  <bruno@clisp.org>
80552
80553         * m4/tls.m4: New file, from GNU gettext.
80554
80555 2005-08-16  Bruno Haible  <bruno@clisp.org>
80556
80557         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80558         always.
80559         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80560
80561 2005-08-16  Bruno Haible  <bruno@clisp.org>
80562
80563         * m4/mbiter.m4: New file.
80564
80565 2005-08-16  Bruno Haible  <bruno@clisp.org>
80566
80567         * m4/mbfile.m4: New file.
80568
80569 2005-08-16  Bruno Haible  <bruno@clisp.org>
80570
80571         * m4/mbchar.m4: New file.
80572
80573 2005-08-16  Bruno Haible  <bruno@clisp.org>
80574
80575         * lib/tls.h: New file, from GNU gettext.
80576         * lib/tls.c: New file, from GNU gettext.
80577
80578 2005-08-16  Bruno Haible  <bruno@clisp.org>
80579
80580         * lib/strnlen1.h: New file.
80581         * lib/strnlen1.c: New file.
80582
80583 2005-08-16  Bruno Haible  <bruno@clisp.org>
80584
80585         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80586         (mbi_init): Update.
80587         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80588         NUL byte, not after it.
80589
80590 2005-08-16  Bruno Haible  <bruno@clisp.org>
80591
80592         * lib/strcase.h (strcasecmp): Add note in comments.
80593         * lib/strncasecmp.c: Use code from strcasecmp.c.
80594         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80595         (strcasecmp): Work correctly in multibyte locales.
80596
80597 2005-08-16  Bruno Haible  <bruno@clisp.org>
80598
80599         * lib/mbiter.h: New file.
80600
80601 2005-08-16  Bruno Haible  <bruno@clisp.org>
80602
80603         * lib/mbfile.h: New file.
80604
80605 2005-08-16  Bruno Haible  <bruno@clisp.org>
80606
80607         * lib/mbchar.h: New file.
80608         * lib/mbchar.c: New file.
80609
80610 2005-08-16  Bruno Haible  <bruno@clisp.org>
80611
80612         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80613         the valid ones. Makes the comparison operations transitive:
80614         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80615         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80616
80617 2005-08-15  Simon Josefsson  <jas@extundo.com>
80618
80619         * modules/ssize_t (License): Change to 'unlimited'.
80620
80621         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80622
80623 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80624
80625         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80626         Add comments for each pending glibc patch.
80627
80628 2005-08-15  Bruno Haible  <bruno@clisp.org>
80629
80630         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80631         __cplusplus is defined.
80632
80633 2005-08-14  Jim Meyering  <jim@meyering.net>
80634
80635         Sync from coreutils.
80636
80637         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80638         Use the hash-table-based cycle-detection code not just when
80639         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80640         Reported by James Youngman in
80641         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80642         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80643         FTS_TIGHT_CYCLE_CHECK.
80644         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80645         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80646         once again.
80647         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80648         * lib/fts.c (fd_safer): Remove decl.
80649         Include fcntl--.h rather than unistd-safer.h
80650         (fts_safe_changedir): Don't call fd_safer; no longer needed
80651         now that we include fcntl--.h.
80652
80653 2005-08-12  Simon Josefsson  <jas@extundo.com>
80654
80655         * modules/getndelim2: Use ssize_t module.
80656         * modules/getnline: Likewise.
80657         * modules/safe-read: Likewise.
80658         * modules/xreadlink: Likewise.
80659
80660         * modules/ssize_t: New file.
80661
80662 2005-08-12  Simon Josefsson  <jas@extundo.com>
80663
80664         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80665
80666 2005-08-12  Simon Josefsson  <jas@extundo.com>
80667
80668         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80669         ssize_t.
80670
80671 2005-08-12  Simon Josefsson  <jas@extundo.com>
80672
80673         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80674         readline, getdelim and check_version.
80675         (Support for systems lacking ISO C 99: Sizes of integer types):
80676         Add size_max.
80677
80678 2005-08-12  Bruno Haible  <bruno@clisp.org>
80679
80680         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80681
80682 2005-08-11  Simon Josefsson  <jas@extundo.com>
80683
80684         * modules/readline: New file.
80685
80686         * modules/strnlen (Files): Add strnlen.h.
80687
80688 2005-08-11  Simon Josefsson  <jas@extundo.com>
80689
80690         * m4/readline.m4: New file.
80691
80692 2005-08-11  Simon Josefsson  <jas@extundo.com>
80693
80694         * lib/readline.h, readline.c: New file.
80695
80696 2005-08-11  Simon Josefsson  <jas@extundo.com>
80697
80698         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80699         gl_AVOID.
80700
80701 2005-08-11  Bruno Haible  <bruno@clisp.org>
80702
80703         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80704
80705 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80706
80707         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80708
80709 2005-08-10  Simon Josefsson  <jas@extundo.com>
80710
80711         * tests/test-iconvme.c: New file.
80712
80713 2005-08-10  Simon Josefsson  <jas@extundo.com>
80714
80715         * m4/strnlen.m4: New file.
80716
80717         * m4/strndup.m4: Don't check for strnlen declaration, done in
80718         strnlen.m4.
80719
80720 2005-08-10  Simon Josefsson  <jas@extundo.com>
80721
80722         * lib/strndup.c: Use strnlen.h.
80723
80724         * lib/strnlen.h: New file.
80725
80726 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80727
80728         * README: Typos.
80729
80730 2005-08-02  Simon Josefsson  <jas@extundo.com>
80731
80732         * modules/readline: New file.
80733
80734 2005-08-02  Simon Josefsson  <jas@extundo.com>
80735
80736         * modules/getdelim: New file.
80737
80738         * modules/getline: Rewrite, don't use getndelim2.
80739
80740 2005-08-02  Simon Josefsson  <jas@extundo.com>
80741
80742         * m4/getline.m4: Separate out getdelim stuff into separate module.
80743
80744         * m4/getdelim.m4: New file.
80745
80746 2005-08-02  Simon Josefsson  <jas@extundo.com>
80747
80748         * lib/getline.h, getline.c: Rewrite.
80749
80750         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80751
80752 2005-07-31  Bruno Haible  <bruno@clisp.org>
80753
80754         * lib/lock.h (gl_lock_initializer): New macro.
80755         (gl_lock_define_initialized): Use it.
80756         (gl_rwlock_initializer): New macro.
80757         (gl_rwlock_define_initialized): Use it.
80758         (gl_recursive_lock_initializer): New macro.
80759         (gl_recursive_lock_define_initialized): Use it.
80760
80761 2005-07-30  Karl Berry  <karl@gnu.org>
80762
80763         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80764         Report from Ben Pfaff, regarding getopt.
80765
80766 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80767
80768         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80769         normal way.
80770         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80771         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80772         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80773         (gl_GETOPT): Use the new macros.  Most of the implementation
80774         is moved to the new macros.  This is for programs like Emacs
80775         that don't want all the functionality of gl_GETOPT.
80776
80777 2005-07-26  Bruno Haible  <bruno@clisp.org>
80778
80779         * m4/lock.m4: Update from GNU gettext.
80780
80781 2005-07-26  Bruno Haible  <bruno@clisp.org>
80782
80783         * lib/lock.h: Update from GNU gettext.
80784         * lib/lock.c: Update from GNU gettext.
80785
80786 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80787
80788         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80789         obsolescent AC_TRY_RUN.  Include the default includes files, for
80790         'exit'.
80791
80792 2005-07-24  Bruno Haible  <bruno@clisp.org>
80793
80794         * modules/visibility: New file.
80795         * MODULES.html.sh (Misc): Add visibility.
80796
80797 2005-07-24  Bruno Haible  <bruno@clisp.org>
80798
80799         * m4/visibility.m4: New file.
80800
80801 2005-07-24  Bruno Haible  <bruno@clisp.org>
80802
80803         * doc/visibility.texi: New file.
80804
80805 2005-07-22  Bruno Haible  <bruno@clisp.org>
80806
80807         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80808         $(ALLOCA_H), redundant through BUILT_SOURCES.
80809         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80810         redundant through BUILT_SOURCES.
80811         * modules/byteswap (Makefile.am): Remove explicit dependency on
80812         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80813         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80814         $(FNMATCH_H), redundant through BUILT_SOURCES.
80815         * modules/getopt (Makefile.am): Remove explicit dependency on
80816         $(GETOPT_H), redundant through BUILT_SOURCES.
80817         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80818         redundant through BUILT_SOURCES.
80819         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80820         redundant through BUILT_SOURCES.
80821         * modules/stdbool (Makefile.am): Remove explicit dependency on
80822         $(STDBOOL_H), redundant through BUILT_SOURCES.
80823         * modules/stdint (Makefile.am): Remove explicit dependency on
80824         $(STDINT_H), redundant through BUILT_SOURCES.
80825         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80826         Remove explicit dependency on $(SYSEXITS_H).
80827         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80828
80829 2005-07-18  Simon Josefsson  <jas@extundo.com>
80830
80831         * lib/check-version.c (check_version): Accept identical versions too.
80832
80833 2005-07-18  Bruno Haible  <bruno@clisp.org>
80834
80835         * modules/lock: New file.
80836         * MODULES.html.sh (Multithreading): New section.
80837
80838 2005-07-18  Bruno Haible  <bruno@clisp.org>
80839
80840         * m4/lock.m4: New file, from GNU gettext.
80841
80842 2005-07-18  Bruno Haible  <bruno@clisp.org>
80843
80844         * lib/lock.h: New file, from GNU gettext.
80845         * lib/lock.c: New file, from GNU gettext.
80846
80847 2005-07-18  Bruno Haible  <bruno@clisp.org>
80848
80849         * lib/lock.h (gl_once_t): New type.
80850         (gl_once_define, gl_once): New macros.
80851         * lib/lock.c (fresh_once): New variable.
80852         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80853         functions.
80854
80855 2005-07-16  Simon Josefsson  <jas@extundo.com>
80856
80857         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80858         workaround, suggested by Bruno.
80859
80860 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80861
80862         * modules/xalloc (Depends-on): Add xalloc-die.
80863         * modules/xvasprintf (Depends-on): Add xalloc-die.
80864
80865 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80866
80867         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80868         with a minor change.
80869
80870 2005-07-15  Bruno Haible  <bruno@clisp.org>
80871
80872         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80873         When using lib/poll.c, define poll as rpl_poll.
80874
80875 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80876
80877         * modules/argp (Depends-on): Remove unlocked-io.
80878
80879 2005-07-14  Derek Price  <derek@ximbiot.com>
80880
80881         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80882         for glob symlink bug.
80883
80884 2005-07-14  Bruno Haible  <bruno@clisp.org>
80885
80886         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80887         Instead, test for *_unlocked function declarations directly.
80888
80889 2005-07-11  Simon Josefsson  <jas@extundo.com>
80890
80891         * modules/size_max: New file.
80892
80893         * modules/xsize: Depend on size_max module for size_max.m4.
80894
80895 2005-07-11  Simon Josefsson  <jas@extundo.com>
80896
80897         * lib/size_max.h: New file.
80898
80899 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80900
80901         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80902         copyright symbol and the year.
80903         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80904         (version_etc_va): Use parameterized copyright notice.
80905         Reword to conform to the current GNU coding standards.
80906
80907 2005-07-11  Karl Berry  <karl@gnu.org>
80908
80909         * doc/gnulib.texi (Quoting): new node.
80910         (Initial import): more info, from Patrice.
80911
80912 2005-07-11  Bruno Haible  <bruno@clisp.org>
80913
80914         * gnulib-tool (func_usage): Document option --avoid.
80915         (Command line options): Handle --avoid.
80916         (func_acceptable): New function.
80917         (func_modules_transitive_closure): Use it.
80918
80919 2005-07-11  Bruno Haible  <bruno@clisp.org>
80920
80921         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80922         Reported by Jim Meyering.
80923
80924 2005-07-10  Bruno Haible  <bruno@clisp.org>
80925
80926         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80927         Needed when size_t is smaller than 'unsigned int'.
80928         Reported by Paul Eggert.
80929
80930 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80931
80932         * modules/argp (Depends-on): Add unlocked-io
80933
80934 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80935
80936         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80937         block of defines.
80938
80939 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80940
80941         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80942         fix now.
80943
80944 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80945         and Paul Eggert  <eggert@cs.ucla.edu>
80946
80947         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80948         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80949
80950 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80951
80952         * modules/regex (Files): Add lib/regex_internal.c,
80953         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80954         (Depends-on): Add extensions.
80955         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80956
80957 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80958
80959         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80960         pathconf.
80961         * m4/same.m4 (gl_SAME): Likewise.
80962         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80963
80964         * m4/regex.m4: Adjust to new libc regex implementation.
80965         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80966         all the .c and .h parts of (the new) regex.
80967         Quote the m4 stuff better.
80968         Check for RE_ICASE bug of old gnulib.
80969         Check for REG_STARTEND of recent libc.
80970         Rename local variables from jm_* to gl_*.
80971         Quote operand of "test -f".
80972         Say "recent enough" version of libc, not "version 2".
80973         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80974         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80975         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80976         Remove check for btowc, isascii.
80977         Require AM_LANGINFO_CODESET.
80978
80979 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80980
80981         * lib/regex.c, regex.h: Sync from libc.
80982         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80983         * lib/regexec.c:
80984         New files, synced from libc, except that regex_internal.h
80985         currently has a small porting fix.
80986
80987 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80990         regex_internal.c, regexec.c.
80991         Add regex_internal.h too, but as a comment, since the libc version
80992         is currently broken in gnulib mode.
80993
80994 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80995
80996         Support programs like Emacs that use gnulib but not gettext.
80997         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80998         * modules/gettext-h: New file.
80999         * modules/gettext (Files): Remove lib/gettext.h.
81000         (Depends-on): Add gettext-h.
81001         (Makefile.am): Remove lib_SOURCES.
81002         * modules/argmatch, modules/c-stack, modules/closeout:
81003         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
81004         * modules/execute, modules/file-type, modules/getaddrinfo:
81005         * modules/getopt, modules/human, modules/javacomp:
81006         * modules/javaexec, modules/mkdir-p, modules/obstack:
81007         * modules/openat, modules/pagealign_alloc, modules/pipe:
81008         * modules/quotearg, modules/regex, modules/rpmatch:
81009         * modules/unicodeio, modules/userspec, modules/version-etc:
81010         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
81011         * modules/xsetenv:
81012         Depend on gettext-h, not gettext.
81013
81014 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81015
81016         * gnulib-tool (func_import): Add support for 'public domain' license.
81017         * modules/alloca, modules/atexit, modules/memmove:
81018         Now public domain, not GPL.
81019         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
81020         * modules/realloc, modules/strerror, modules/strtod:
81021         Now LGPL, not GPL.
81022
81023 2005-07-05  Bruno Haible  <bruno@clisp.org>
81024
81025         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
81026         autoconf CVS. Needed for mingw.
81027
81028 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81029
81030         Remove the dependency of the strftime module on the tzset module.
81031         * modules/strftime (Depends-on): Remove dependency on tzset.
81032
81033 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81034
81035         Remove the dependency of the strftime module on the tzset module.
81036         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
81037         gl_FUNC_TZSET_CLOBBER.
81038
81039 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         Remove the dependency of the strftime module on the tzset module.
81042         * lib/strftime.c (my_strftime)
81043         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
81044         Copy the input structure, to work around some of the bug with
81045         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
81046         Solaris releases, you should also use the tzset module, but we won't
81047         require it as a dependency any more since we don't want LGPLed code
81048         to depend on GPLed code.
81049
81050 2005-07-02  Jim Meyering  <jim@meyering.net>
81051
81052         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
81053         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
81054         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
81055         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
81056
81057 2005-07-02  Jim Meyering  <jim@meyering.net>
81058
81059         * lib/backupfile.c (backup_args): Change a `0' to NULL.
81060
81061 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81062
81063         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
81064         declares only 'struct timespec;' (!).
81065
81066 2005-07-01  Jim Meyering  <jim@meyering.net>
81067
81068         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
81069         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
81070         * lib/save-cwd.c, tempname.c:
81071         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81072         and don't include <sys/file.h>).
81073
81074 2005-06-29  Jim Meyering  <jim@meyering.net>
81075
81076         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
81077         type name.  Use the variable name instead.
81078         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
81079         Likewise.
81080
81081 2005-06-28  Simon Josefsson  <jas@extundo.com>
81082
81083         * modules/check-version (Files): Add check-version.m4.
81084
81085 2005-06-28  Simon Josefsson  <jas@extundo.com>
81086
81087         * m4/check-version.m4: New file, suggested by Jim Meyering
81088         <jim@meyering.net>.
81089
81090 2005-06-28  Simon Josefsson  <jas@extundo.com>
81091
81092         * lib/check-version.h, lib/check-version.c: New files.
81093
81094 2005-06-28  Simon Josefsson  <jas@extundo.com>
81095
81096         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
81097         collision with global variable.  Better indentation.  Don't
81098         increment buffer pointer beyond buffer end.  Based on comments
81099         from Paul Eggert <eggert@cs.ucla.edu>.
81100
81101         * lib/base64.h: Indent.
81102
81103 2005-06-28  Simon Josefsson  <jas@extundo.com>
81104
81105         * doc/gnulib.texi (Library version handling): New section.
81106
81107 2005-06-28  Jim Meyering  <jim@meyering.net>
81108
81109         * check-module (find_included_lib_files): Hard-code another
81110         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
81111         but modules/fts-lgpl (correctly) does not list those files.
81112
81113         * modules/canonicalize (Files): Add lib/pathmax.h.
81114
81115 2005-06-25  Simon Josefsson  <jas@extundo.com>
81116
81117         * modules/check-version: New file.
81118
81119 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
81120
81121         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
81122         initializer of struct addrinfo, as an indication that we don't
81123         care how many members the structure has.
81124
81125 2005-06-24  Derek Price  <derek@ximbiot.com>
81126         and Bruno Haible  <bruno@clisp.org>
81127
81128         Remove stat module & update lstat.
81129         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
81130         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
81131         * m4/stat.m4: Remove this file.
81132
81133 2005-06-24  Derek Price  <derek@ximbiot.com>
81134         and Bruno Haible  <bruno@clisp.org>
81135
81136         Remove stat module & update lstat.
81137         * lib/stat.c: Remove this file...
81138         (slash_aware_lstat): ...moving this content and its support...
81139         * lib/lstat.c (rpl_lstat): ...into here.
81140         * lib/lstat.h: New file.
81141
81142 2005-06-24  Derek Price  <derek@ximbiot.com>
81143         and Bruno Haible  <bruno@clisp.org>
81144
81145         Remove stat module & update lstat.
81146         * config/srclist.txt (libc sources): Remove stat.
81147
81148 2005-06-24  Derek Price  <derek@ximbiot.com>
81149         and Bruno Haible  <bruno@clisp.org>
81150
81151         Remove stat module & update lstat.
81152         * MODULES.html.sh (stat): Remove.
81153         * MODULES.html: Regenerated.
81154         * modules/lstat (Description): Correct function name.
81155         (Files): Add "lstat.h".
81156         (Depends-on): Remove stat, add xalloc, stat-macros.
81157         * modules/stat: Remove this file.
81158         (Include): Add "lstat.h", remove <sys/stat.h>.
81159
81160 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81161
81162         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
81163         (ranged_convert): Don't save conversion in a temporary struct.
81164         This causes a warning with GCC 4.0.0, and anyway in the typical
81165         case it's not worth the extra 100 bytes or so of code.
81166         (ranged_convert, __mktime_internal): When calling a function via a
81167         pointer P, use P () rather than (*P) (), as we now assume C89 or
81168         better.
81169
81170 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81171
81172         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
81173         "who -r" failed to give output.  Problem reported by Tim Waugh.
81174
81175         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
81176         (xcalloc): Use it to avoid needless tests.
81177         Problem reported by Jim Meyering.
81178
81179 2005-06-20  Derek Price  <derek@ximbiot.com>
81180
81181         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
81182         unnecessary for Autoconfs > 2.59c.
81183
81184 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81185
81186         * lib/argp.h (__option_is_short): Check upper limit of
81187         __key. Isprint() requires its argument to have the value
81188         of an unsigned char or EOF.
81189
81190 2005-06-16  Jim Meyering  <jim@meyering.net>
81191
81192         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
81193         when either N or S is zero.
81194
81195 2005-06-16  Derek Price  <derek@ximbiot.com>
81196
81197         * m4/bison.m4: Declare YACC & YFLAGS precious.
81198
81199 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
81200
81201         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
81202         multibyte string or pattern, fall back on unibyte matching.
81203         Problem reported by James Youngman.
81204
81205 2005-06-08  Bruno Haible  <bruno@clisp.org>
81206
81207         * modules/csharpcomp: New file.
81208         * MODULES.html.sh (C#): Add csharpcomp.
81209
81210 2005-06-08  Bruno Haible  <bruno@clisp.org>
81211
81212         * m4/csharpcomp.m4: New file, from GNU gettext.
81213
81214 2005-06-08  Bruno Haible  <bruno@clisp.org>
81215
81216         * lib/csharpcomp.h: New file, from GNU gettext.
81217         * lib/csharpcomp.c: New file, from GNU gettext.
81218         * lib/csharpcomp.sh.in: New file, from GNU gettext.
81219
81220 2005-06-08  Bruno Haible  <bruno@clisp.org>
81221
81222         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
81223         warning on mingw.
81224
81225 2005-06-07  Derek Price  <derek@ximbiot.com>
81226
81227         Sync from CVS.
81228         * lib/glob_.h: Indent nested #ifdef.
81229
81230 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81231
81232         Sync from coreutils.
81233         Use "file name" when talking about file names, instead of "filename"
81234         or "path", as per the GNU coding standards.
81235         * lib/mkdir-p.c: Renamed from makepath.c.
81236         (make_dir_parents): Renamed from make_path.  All callers changed.
81237         * lib/mkdir-p.h: Likewise.  All includers changed.
81238         * lib/filenamecat.c: Renamed from path-concat.c.
81239         (file_name_concat): Renamed from path_concat.  All callers changed.
81240         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
81241         * lib/filenamecat.h: Likewise.  All includers changed.
81242         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
81243         in comments or local variable names.
81244         * lib/basename.c: Likewise.
81245         * lib/canonicalize.c, canonicalize.h: Likewise.
81246         * lib/dirname.c, dirname.h: Likewise.
81247         * lib/euidaccess.c: Likewise.
81248         * lib/exclude.c: Likewise
81249         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
81250         * lib/fsusage.c, fsuage.h: Likewise.
81251         * lib/fts.c, fts_.h: Likewise.
81252         * lib/getcwd.c: Likewise.
81253         * lib/getloadavg.c: Likewise.
81254         * lib/mkstemp.c: Likewise.
81255         * lib/mountlist.c, mountlist.h: Likewise.
81256         * lib/openat.c, openat.h: Likewise.
81257         * lib/readlink-stub.c: Likewise.
81258         * lib/readutmp.c, readutmp.h: Likewise.
81259         * lib/rename.c: Likewise.
81260         * lib/rmdir.c: Likewise.
81261         * lib/same.c: Likewise.
81262         * lib/savedir.c: Likewise.
81263         * lib/stripslash.c: Likewise.
81264         * lib/tempname.c: Likewise.
81265         * lib/xreadlink.c: Likewise.
81266         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
81267         All uses changed.
81268         * lib/exclude.h: Likewise.
81269
81270         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
81271         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81272         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
81273         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81274         * lib/pathmax.h: Include <limits.h> unconditionally, since other
81275         files have been getting away with it for years (MORE/BSD 4.3
81276         is extinct now).
81277         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
81278         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
81279
81280         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
81281         Define to 256, not 255, as per modern POSIX.
81282
81283 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81284
81285         Sync from coreutils.
81286         Use "file name" when talking about file names, instead of "filename"
81287         or "path", as per the GNU coding standards.
81288         * MODULES.html.sh: mkdir-p renamed from makepath.
81289         filenamecat renamed from path-concat.
81290         * modules/filenamecat: Renamed from modules/path-concat.
81291         (Files): filenamecat.h and filenamecat.c renamed from
81292         path-concat.h and path-concat.c.
81293         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
81294         (Include): filenamecat.h, not path-concat.h.
81295         * modules/mkdir-p: Renamed from modules/makepath.
81296         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
81297         makepath.c.
81298         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
81299         (Include): mkdir-p.h, not makepath.h.
81300
81301 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         Sync from coreutils.
81304         * m4/mkdir-p.m4: Renamed from makepath.m4.
81305         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
81306         Rename files from makepath.c to mkdir-p.c, and from
81307         makepath.h to mkdir-p.h.
81308         * m4/filenamecat.m4: Renamed from path-concat.m4.
81309         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
81310         Rename files from path-concat.c to filenamecat.c,
81311         and from path-concat.h to filenamecat.h.
81312         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
81313         "file name" in local variables or comments.
81314         * m4/rename.m4: Likewise.
81315
81316 2005-06-01  Bruno Haible  <bruno@clisp.org>
81317
81318         * modules/csharpexec: New file.
81319         * MODULES.html.sh (C#): New section.
81320
81321 2005-06-01  Bruno Haible  <bruno@clisp.org>
81322
81323         * m4/csharp.m4: New file, from GNU gettext.
81324         * m4/csharpexec.m4: New file, from GNU gettext.
81325
81326 2005-06-01  Bruno Haible  <bruno@clisp.org>
81327
81328         * lib/csharpexec.h: New file, from GNU gettext.
81329         * lib/csharpexec.c: New file, from GNU gettext.
81330         * lib/csharpexec.sh.in: New file, from GNU gettext.
81331
81332 2005-05-31  Derek Price  <derek@ximbiot.com>
81333             Paul Eggert  <eggert@cs.ucla.edu>
81334
81335         Sync from cvs.
81336         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81337
81338 2005-05-31  Derek Price  <derek@ximbiot.com>
81339             Paul Eggert  <eggert@cs.ucla.edu>
81340
81341         Sync from cvs.
81342         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
81343
81344 2005-05-29  Derek Price  <derek@ximbiot.com>
81345
81346         * config/srclist.txt (glob_.h, glob.c): Add these files.
81347
81348 2005-05-29  Derek Price  <derek@ximbiot.com>
81349
81350         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
81351         * modules/glob: New file.
81352         * modules/getlogin_r: Add link to POSIX spec in description.
81353
81354 2005-05-29  Derek Price  <derek@ximbiot.com>
81355             Paul Eggert  <eggert@cs.ucla.edu>
81356
81357         * m4/glob.m4: New file.
81358
81359 2005-05-29  Derek Price  <derek@ximbiot.com>
81360             Paul Eggert  <eggert@cs.ucla.edu>
81361
81362         * lib/glob_.h, lib/glob.c: New files.
81363
81364 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81365
81366         * modules/fts (Files): Remove m4/inttypes-pri.m4.
81367         * modules/fts-lgpl (Depends-on): Remove gettext.
81368
81369 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81370
81371         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
81372         and don't require gt_INTTYPES_PRI.
81373
81374 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
81375
81376         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
81377
81378         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
81379         the configuration hassle isn't worth it.
81380         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
81381         (LONGEST_MODIFIER, PRIuMAX): Remove.
81382
81383 2005-05-27  Bruno Haible  <bruno@clisp.org>
81384
81385         * lib/getlogin_r.h: Remove second include of <stddef.h>.
81386
81387 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
81388
81389         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
81390         _POSIX_PTHREAD_SEMANTICS for Solaris.
81391
81392 2005-05-25  Derek Price  <derek@ximbiot.com>
81393
81394         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
81395
81396 2005-05-25  Derek Price  <derek@ximbiot.com>
81397             Paul Eggert  <eggert@cs.ucla.edu>
81398
81399         * modules/getlogin_r, m4/getlogin_r.m4: New files.
81400         * lib/getlogin_r.c, getlogin_r.h: New files.
81401
81402 2005-05-25  Bruno Haible  <bruno@clisp.org>
81403             Derek Price  <derek@ximbiot.com>
81404
81405         * lib/getlogin_r.h: Simplify API documentation.
81406
81407 2005-05-23  Derek Price  <derek@ximbiot.com>
81408
81409         * modules/minmax (Files): Add m4/minmax.m4.
81410         (configure.ac): Add gl_MINMAX.
81411
81412 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
81415         so that unistd-safer.h (GPL'ed code) need not be included.
81416
81417 2005-05-22  Bruno Haible  <bruno@clisp.org>
81418
81419         * m4/minmax.m4: New file.
81420         Based on a patch by Derek Price <derek@ximbiot.com>.
81421
81422 2005-05-22  Bruno Haible  <bruno@clisp.org>
81423
81424         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
81425         (INT64_MIN): Fix definition.
81426         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
81427
81428         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
81429         NEED_SIGNED_INT_TYPES.
81430
81431         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
81432         HAVE_SYSTEM_INTTYPES.
81433
81434 2005-05-22  Bruno Haible  <bruno@clisp.org>
81435
81436         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
81437         Also include <sys/param.h> if it defines MIN, MAX.
81438         Based on a patch by Derek Price <derek@ximbiot.com>.
81439
81440 2005-05-21  Jim Meyering  <jim@meyering.net>
81441
81442         * modules/fts (Files): Add m4/inttypes-pri.m4.
81443         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81444
81445 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81446
81447         New fts module.
81448         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81449         (setup_dir, free_dir): New functions.
81450         (enter_dir, leave_dir): Define trivial
81451         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81452         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81453         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81454         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81455         Move to fts-cycle.c.
81456         (fts_open): Use setup_dir.
81457         (fts_close): Use free_dir.
81458         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81459         This adds a label and some gotos, but the alternatives were messier.
81460         Check for memory allocation failure when entering a dir.
81461         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81462         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81463         (FTS): New member fts_cycle, that is a union that contains the
81464         old active_dir_ht and cycle_state.  All uses changed to mention
81465         fts_cycle.ht and fts_cycle.state.
81466         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81467         fts.c, with the following changes:
81468         (setup_dir, free_dir): New functions.
81469         (enter_dir): Now returns bool.  Return true if successful, false
81470         if memory exhausted.  All callers changed.
81471         Do not bother partly cleaning up on
81472         memory allocation failure; that is free_dir's job.
81473         However, free ad if hash_insert fails, to avoid memory leak.
81474         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81475         fts->fts_options to see which union member to use.
81476
81477 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81478
81479         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81480         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81481
81482 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81483
81484         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81485
81486 2005-05-20  Jim Meyering  <jim@meyering.net>
81487
81488         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81489         Now a macro, to pacify GCC.
81490
81491 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81492
81493         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81494         of -1.
81495
81496 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81497
81498         * lib/chown.c (rpl_chown): Return -1 on failure.
81499
81500 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81501
81502         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81503         Don't check for stddef.h.
81504         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81505         don't use its results.
81506         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81507         since we include them unconditionally.  Don't require
81508         AM_STDBOOL_H, since stdbool is a prerequisite.
81509         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81510         since we assume C89 or better.
81511         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81512         as we don't use their results.
81513         Don't check for fchdir, memmove, memset, strrchr, as we use
81514         them unconditionally.
81515         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81516         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81517
81518 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81519
81520         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81521         Include <stddef.h> unconditionally, since we assume C89 now.
81522         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81523         * lib/fts.c: Include fts_.h first, to check interface.
81524         Do not include intprops.h; no longer needed.
81525         Include cycle-check.h and hash.h, since fts_.h no longer does.
81526         Remove unnecessary casts of closedir to void.
81527         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81528         decide whether to decrement nlinks.
81529         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81530         (FTS): Use struct hash_table * instead of Hash_table, so that
81531         we no longer need to include hash.h here.
81532
81533 2005-05-18  Jim Meyering  <jim@meyering.net>
81534
81535         * modules/dirfd (License): Change to LGPL.  Most of the code
81536         is already in the public domain.
81537
81538 2005-05-18  Jim Meyering  <jim@meyering.net>
81539
81540         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81541         Reported by Yoann Vandoorselaere.
81542
81543 2005-05-17  Jim Meyering  <jim@meyering.net>
81544
81545         * m4/fts.m4: New file, from coreutils.
81546
81547 2005-05-17  Jim Meyering  <jim@meyering.net>
81548
81549         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81550
81551 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81552
81553         Sync from coreutils.
81554         * m4/unlinkdir.m4: New file.
81555
81556 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81557
81558         Sync from coreutils.
81559         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81560         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81561         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81562         White space changes only.
81563         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81564         special.
81565         * lib/yesno.c: Include getline.h, not ctype.h.
81566         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81567         Use getline to remove arbitrary restriction on response length.
81568
81569 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81570
81571         * config/srclist-update: Spell out "Street" in FSF postal
81572         mail address; this is the style the FSF seems to prefer.
81573
81574         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81575         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81576         this updates FSF postal mail address.
81577
81578         Sync from coreutils.
81579         * modules/unlinkdir: New file.
81580         * modules/yesno (Depends-on): Add getline.
81581         * MODULES.html.sh (File system functions): Add unlinkdir.
81582
81583 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81584
81585         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81586         lib/strsep.h:
81587         Change the initial comment to refer to GPL, not LGPL.
81588         gnulib-tool will change it to LGPL as needed.
81589
81590         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81591         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81592         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81593         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81594         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81595         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81596         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81597         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81598         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81599         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81600         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81601         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81602         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81603         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81604         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81605         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81606         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81607         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81608         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81609         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81610         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81611         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81612         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81613         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81614         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81615         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81616         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81617         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81618         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81619         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81620         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81621         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81622         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81623         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81624         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81625         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81626         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81627         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81628         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81629         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81630         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81631         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81632         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81633         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81634         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81635         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81636         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81637         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81638         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81639         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81640         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81641         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81642         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81643         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81644         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81645         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81646         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81647         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81648         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81649         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81650         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81651         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81652         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81653         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81654         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81655         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81656         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81657         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81658         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81659         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81660         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81661         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81662         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81663         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81664         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81665         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81666         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81667         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81668         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81669         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81670         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81671         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81672         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81673         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81674         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81675         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81676         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81677         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81678         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81679         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81680         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81681         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81682         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81683         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81684         lib/yesno.c, lib/yesno.h:
81685         Update FSF postal mail address.
81686
81687 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81690         tests/test-memmem.c, tests/test-stpncpy.c:
81691         Update FSF postal mail address.
81692
81693 2005-05-13  Bruno Haible  <bruno@clisp.org>
81694
81695         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81696         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81697         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81698         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81699         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81700         Add support for 64-bit integers in the MSVC compiler.
81701
81702 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81703
81704         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81705
81706 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81707
81708         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81709
81710 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81711
81712         * doc/getdate.texi (General date syntax): Don't say that date
81713         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81714         Problem reported by Nic Ferrier.
81715
81716 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81717
81718         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81719         specified in ai_socktype. Fix invalid ai_protocol
81720         check. ai_protocol is usually set to 0 or depending on
81721         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81722         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81723         ai_socktype / ai_protocol in the returned addrinfo structure.
81724
81725 2005-05-10  Simon Josefsson  <jas@extundo.com>
81726
81727         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81728         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81729
81730 2005-05-10  Karl Berry  <karl@gnu.org>
81731
81732         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81733         (from http://www.gnu.org/licenses).
81734         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81735         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81736         fdl.texi suffices.
81737
81738 2005-05-10  Karl Berry  <karl@gnu.org>
81739
81740         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81741         (COPYING.DOC): remove.
81742
81743         * config/srclist-update: new FSF address.
81744
81745 2005-05-10  Derek Price  <derek@ximbiot.com>
81746
81747         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81748         possible.
81749
81750 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81751             Bruno Haible  <bruno@clisp.org>
81752
81753         * modules/inet_ntop: New file.
81754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81755         inet_ntop.
81756
81757 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81758             Bruno Haible  <bruno@clisp.org>
81759
81760         * m4/inet_ntop.m4: New file.
81761
81762 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81763             Bruno Haible  <bruno@clisp.org>
81764
81765         * lib/inet_ntop.h: New file.
81766         * lib/inet_ntop.c: New file, from glibc with modifications.
81767
81768 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81769
81770         * modules/time_r (License): Change to LGPL.
81771         * modules/extensions (License): Change to LGPL.  Actually,
81772         the license is more permissive than that, but currently gnulib-tool
81773         doesn't know how to handle more-permissive licenses.
81774
81775         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81776         Problem reported by Dave Love.
81777
81778 2005-05-08  Jim Meyering  <jim@meyering.net>
81779
81780         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81781         blank.
81782
81783 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81784
81785         * modules/argmatch (Depends-on): Add stdbool.
81786         * modules/backupfile (Depends-on): Likewise.
81787         * modules/chdir-long (Depends-on): Likewise.
81788         * modules/closeout (Depends-on): Likewise.
81789         * modules/cycle-check (Depends-on): Likewise.
81790         * modules/dirname (Depends-on): Likewise.
81791         * modules/fnmatch (Depends-on): Likewise.
81792         * modules/fsusage (Depends-on): Likewise.
81793         * modules/fwriteerror (Depends-on): Likewise.
81794         * modules/getcwd (Depends-on): Likewise.
81795         * modules/getloadavg (Depends-on): Likewise.
81796         * modules/hard-locale (Depends-on): Likewise.
81797         * modules/makepath (Depends-on): Likewise.
81798         * modules/mountlist (Depends-on): Likewise.
81799         * modules/nanosleep (Depends-on): Likewise.
81800         * modules/posixtm (Depends-on): Likewise.
81801         * modules/quotearg (Depends-on): Likewise.
81802         * modules/readtokens (Depends-on): Likewise.
81803         * modules/readtokens0 (Depends-on): Likewise.
81804         * modules/readutmp (Depends-on): Likewise.
81805         * modules/save-cwd (Depends-on): Likewise.
81806         * modules/strftime (Depends-on): Likewise.
81807         * modules/userspec (Depends-on): Likewise.
81808         * modules/utimecmp (Depends-on): Likewise.
81809         * modules/xgetcwd (Depends-on): Likewise.
81810         * modules/xnanosleep (Depends-on): Likewise.
81811         * modules/xstrtod (Depends-on): Likewise.
81812         * modules/yesno (Depends-on): Likewise.
81813
81814 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81815
81816         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81817         needless checks.
81818
81819 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81820
81821         Merge from coreutils.  Among other things,
81822         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81823         * lib/fd-safer.c: New file.
81824         * lib/fcntl-safer.h, open-safer.c: Remove.
81825         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81826         * lib/dup-safer.c: Include unistd-safer.h first.
81827         Don't include errno.h.
81828         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81829         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81830         * lib/file-type.c: Rely on file-type.h change.
81831         * lib/getloadavg.c: Include unistd-safer.h.
81832         (getloadavg): Use safer open.
81833         * lib/getusershell.c: Include "stdio-safer.h".
81834         (getusershell): Use safer fopen.
81835         * lib/long-options.c (long_options): Use NULL rather than 0.
81836         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81837         'free'.
81838         * lib/modechange.c: Likewise.
81839         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81840         (MODE_DONE): New constant.
81841         (struct mode_change): Remove 'next' member.
81842         (make_node_op_equals): New function; like the old one of the
81843         same name, except it allocates an array.
81844         (mode_compile, mode_create_from_ref): Use it.
81845         (mode_compile): Allocate result as an array, not a linked list.
81846         Parse octal string ourself, so that we catch mistakes like "+0".
81847         (mode_adjust): Arg is an array, not a linked list.
81848         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81849         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81850         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81851         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81852         Remove.  This is now stat-macros.h's job.
81853         (talloc): Remove.  All callers replaced by xalloc, so that
81854         our invokers don't have to worry about reporting memory failures.
81855         (make_node_op_equals): Remove.
81856         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81857         New constants.
81858         (struct mode_change): Moved here from modechange.h.
81859         (mode_append_entry): Remove.
81860         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81861         apps to have incorrect behavior.  Use simpler algorithm for head
81862         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81863         Detect more invalid usages rather than having somewhat-random behavior.
81864         Don't insert an "a=" action, as that leads to incorrect behavior.
81865         (mode_compile, mode_create_from_ref): Return NULL on error instead
81866         of an enum, since now there's only one way to have an error.  All
81867         callers changed.
81868         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81869         at the correct time.  Simplify calculation of "+u" and its ilk.
81870         Don't mishandle "+X".
81871         (mode_free): Remove "register" and localize decls.
81872         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81873         (struct mode_change): Move to modechange.c; callers don't
81874         need to see this stuff.
81875         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81876         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81877         (mode_change, mode_adjust): Reflect the new signatures noted above.
81878         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81879         that might redefine system include files.
81880         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81881         (my_usleep): Use NULL rather than (void *) 0.
81882         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81883         Use siginterrupt to specify that system calls should be interrupted.
81884         (rpl_nanosleep): Move initialization of suspended closer to call of
81885         my_usleep.
81886         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81887         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81888         (desirable_utmp_entry): New function.
81889         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81890         using x2nrealloc, to simplify logic.
81891         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81892         size calculation.  Do not assume utmp file is a regular file.
81893         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81894         (READ_UTMP_CHECK_PIDS): New constant.
81895         * lib/save-cwd.c: Include unistd-safer.h.
81896         (save_cwd): Use fd_safer.
81897         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81898         [!_LIBC] Include "stat-macros.h" instead.
81899         * lib/unistd-safer.h (fd_safer): New decl.
81900
81901 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81902
81903         * modules/getloadavg (Depends-on): Add unistd-safer.
81904         * modules/getusershell (Depends-on): Add stdio-safer.
81905         * modules/lstat (Depends-on): Remove xalloc.
81906         * modules/mkstemp (Depends-on): Add stat-macros.
81907         * modules/modechange (Depends-on): Remove xstrtol.
81908         Add stat-macros, xalloc.
81909         * modules/save-cwd (Depends-on): Add unistd-safer.
81910         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81911         * modules/unistd-safer (Files): Add lib/fd-safer.c
81912         (Makefile.am): Remove lib_SOURCES.
81913
81914         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81915         Remove fcntl-safer; unistd-safer supersedes it.
81916
81917 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81918
81919         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81920         AC_HEADER_STAT.
81921         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81922         (gl_PREREQ_CHOWN): Remove.
81923         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81924         it.  Don't require AC_HEADER_STAT.
81925         (gl_PREREQ_LSTAT): Remove.
81926         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81927         Don't require AC_HEADER_STAT.
81928         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81929         (gl_PREREQ_RMDIR): Remove.
81930         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81931         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81932         the stat-macros module a prerequisite.
81933         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81934         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81935         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81936         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81937         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81938         variable names.
81939         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81940         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81941         variable prefixes.
81942         * m4/fcntl-safer.m4: Remove.
81943         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81944         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81945         Invoke gl_PREREQ_FD_SAFER.
81946         (gl_PREREQ_FD_SAFER): New macro.
81947         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81948         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81949         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81950         Remove duplicate call to AC_LIBOBJ(readutmp).
81951         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81952
81953         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81954         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81955
81956 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81957
81958         * MODULES.html.sh (Misc): Add byteswap.
81959
81960 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81961
81962         * modules/getcwd (Depends-on): Add extensions.
81963         * modules/openat (Depends-on): Likewise.
81964
81965 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81966
81967         * modules/byteswap: New file.
81968
81969 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81970
81971         * m4/byteswap.m4: New file.
81972
81973 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81974
81975         * lib/byteswap_.h: New file.
81976
81977 2005-04-25  Karl Berry  <karl@gnu.org>
81978
81979         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81980
81981 2005-04-25  Albert Chin  <china@thewrittenword.com>
81982
81983         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81984         Toolkit C bug.
81985
81986 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81987
81988         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81989         (func_ln_if_changed): Remove forcibly for no error message
81990         in case file does not exist.
81991
81992 2005-04-19  Simon Josefsson  <jas@extundo.com>
81993
81994         * gnulib-tool (Options): Make --symlink mean --symbolic.
81995
81996 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81997
81998         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81999
82000 2005-04-16  Simon Josefsson  <jas@extundo.com>
82001
82002         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
82003
82004 2005-04-15  Simon Josefsson  <jas@extundo.com>
82005
82006         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
82007
82008 2005-04-15  Simon Josefsson  <jas@extundo.com>
82009
82010         * gnulib-tool: Rename --symlink to --symbolic.
82011
82012 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
82013
82014         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
82015         symbolic links to files instead of copying/moving.  Add --aux-dir,
82016         specifying directory relative --dir where auxiliary build tools
82017         are placed.
82018
82019 2005-04-14  Bruno Haible  <bruno@clisp.org>
82020
82021         * modules/allocsa (License): Change to LGPL.
82022         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
82023
82024 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82025
82026         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
82027         that "UTC +1 second" continues to work.  Problem reported
82028         by Dmitry V. Levin.
82029         (relunit_snumber): New rule.
82030         (relunit): Use it.
82031
82032 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
82033
82034         * lib/getdate.y (universal_time_zone_table): New constant.
82035         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
82036         universal_time_zone_table.
82037         (lookup_zone): Prefer universal_time_zone_table to
82038         local_time_zone_table, so that "GMT" time stamps are allowed in
82039         London during the summer.  Problem reported by Ian Abbott.
82040
82041 2005-04-12  Jim Meyering  <jim@meyering.net>
82042
82043         * lib/human.c (humblock): Set *options even when returning due to
82044         xstrtoumax conversion failure.  Thanks to a used-uninitialized
82045         warning from gcc-4.
82046
82047 2005-04-09  Jim Meyering  <jim@meyering.net>
82048
82049         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
82050         -Wuninitialized: initialize tm0.tm_year.
82051
82052 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
82053
82054         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
82055         count, since there's no maximum.  All uses changed.
82056         Add member dsts_seen.
82057         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
82058         not being INT_MAX.
82059         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
82060         Use pc_rels_seen to decide whther a date is absolute.
82061
82062         * lib/getdate.y (number): Don't overwrite year.
82063         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
82064         check.
82065
82066 2005-04-02  Simon Josefsson  <jas@extundo.com>
82067
82068         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
82069         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
82070
82071 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
82072
82073         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
82074         where no absolute path name can be longer than PATH_MAX.
82075
82076 2005-03-27  Jim Meyering  <jim@meyering.net>
82077
82078         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
82079
82080 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
82081
82082         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
82083         "one's complement" -> "ones' complement" in comment, as per Knuth.
82084         "value of type" -> "type or expression" in comment.
82085         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
82086
82087 2005-03-26  Jim Meyering  <jim@meyering.net>
82088
82089         Comment nits.
82090         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
82091         Correct typos: s/or/of/.
82092
82093 2005-03-26  Jim Meyering  <jim@meyering.net>
82094
82095         * modules/check-include-files: Move to ../ and rename to...
82096         * check-module: ...this.
82097
82098 2005-03-25  Jim Meyering  <jim@meyering.net>
82099
82100         * modules/xvasprintf (Files): Add xalloc.h.
82101
82102 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
82103
82104         * modules/gettext (Files): config/config.rpath ->
82105         build-aux/config.rpath
82106         * modules/iconv (Files): Likewise.
82107         Problem reported by Oskar Liljeblad.
82108
82109 2005-03-23  Jim Meyering  <jim@meyering.net>
82110
82111         * modules/check-include-files: New script to check for
82112         missing dependencies, multiple includes, etc.
82113
82114         * modules/c-strtold (Depends-on): Add xalloc.
82115         * modules/c-strtod (Depends-on): Add xalloc.
82116         * modules/hash (Depends-on): Add xalloc.
82117         (Files): Remove lib/xalloc.h.
82118
82119         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
82120         * modules/userspec (Files): Add lib/inttostr.h.
82121
82122 2005-03-23  Jim Meyering  <jim@meyering.net>
82123
82124         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
82125
82126 2005-03-22  Jim Meyering  <jim@meyering.net>
82127
82128         * modules/stat-macros: New module.
82129         * modules/canonicalize, modules/euidaccess, modules/file-type,
82130         * modules/filemode, modules/lchown, modules/makepath,
82131         * modules/rmdir, modules/stat: Depend on new stat-macros module
82132         rather than listing lib/stat-macros.h manually.
82133         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
82134
82135 2005-03-22  Jim Meyering  <jim@meyering.net>
82136
82137         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
82138
82139 2005-03-22  Bruno Haible  <bruno@clisp.org>
82140
82141         * config/srclist.txt: Replace target directory 'config' with
82142         'build-aux'.
82143         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
82144         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
82145         ../build-aux/.
82146
82147 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
82148
82149         * modules/chdir-long (Depends-on): Add mempcpy.
82150
82151         * modules/acl, modules/backupfile, modules/c-strtod,
82152         modules/c-strtold, modules/canon-host, modules/canonicalize,
82153         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
82154         modules/exclude, modules/exitfail, modules/file-type,
82155         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
82156         modules/getdate, modules/getline, modules/getpagesize,
82157         modules/getpass, modules/getugroups, modules/group-member,
82158         modules/hard-locale, modules/hash, modules/human, modules/idcache,
82159         modules/inttostr, modules/long-options, modules/makepath,
82160         modules/md5, modules/memcasecmp, modules/memcoll,
82161         modules/modechange, modules/mountlist, modules/path-concat,
82162         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
82163         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
82164         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
82165         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
82166         modules/strftime, modules/strndup, modules/strverscmp,
82167         modules/timespec, modules/unlocked-io, modules/userspec,
82168         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
82169         modules/yesno:
82170         Remove lib_SOURCES line from Makefile.am section, as this is now
82171         done automatically by the corresponding Autoconf macro.
82172
82173 2005-03-21  Jim Meyering  <jim@meyering.net>
82174
82175         Changes imported from coreutils.
82176
82177         * lib/cycle-check.c: Don't include xalloc.h.
82178
82179         * lib/path-concat.c: Don't include assert.h.
82180         (path_concat): Remove assertion that would have triggered
82181         for ABASE starting with more than one slash.
82182         Reported by Andreas Schwab.
82183
82184         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
82185         properly when ABASE is an absolute file name.
82186         Correct the description of this function.
82187         Include <assert.h>.
82188         Add an assertion and a test driver.
82189         This fixes a bug introduced on 2004-07-02.
82190         Andreas Schwab reported the resulting failure of cp --parents:
82191         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
82192
82193 2005-03-21  Jim Meyering  <jim@meyering.net>
82194
82195         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
82196         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
82197
82198 2005-03-21  Jim Meyering  <jim@meyering.net>
82199         and  Paul Eggert  <eggert@cs.ucla.edu>
82200
82201         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
82202         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
82203         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
82204         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
82205         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
82206         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
82207         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
82208         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
82209         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
82210         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
82211         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
82212         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
82213         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
82214         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
82215         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
82216         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
82217         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
82218         for these modules.
82219
82220 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
82223         (which shouldn't happen), generate nothing instead of returning 0
82224         immediately, so that nstrftime (NULL, ...) doesn't return 0.
82225
82226 2005-03-16  Bruno Haible  <bruno@clisp.org>
82227
82228         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
82229         HAVE_LONGLONG_64BIT.
82230
82231 2005-03-16  Bruno Haible  <bruno@clisp.org>
82232
82233         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
82234         HAVE_LONGLONG_64BIT.
82235
82236 2005-03-16  Bruno Haible  <bruno@clisp.org>
82237
82238         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
82239         HAVE_LONGLONG_64BIT.
82240
82241 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82242
82243         * lib/strftime.c (my_strftime): Prepend space to format so that we can
82244         reliably distinguish strftime failure from empty output on POSIX
82245         hosts.
82246
82247 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
82248
82249         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
82250         (iconv_string): Don't guess a size-zero buffer, as that might cause
82251         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
82252         result would be 'too large', where 'too large' is (heuristically)
82253         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
82254         overflow concerns.  This will prevent some unwanted malloc failures
82255         when the inputs are very large.
82256
82257 2005-03-15  Karl Berry  <karl@gnu.org>
82258
82259         * config/srclist.txt (config.rpath): from gettext.
82260         * config/config.rpath: update.
82261
82262 2005-03-15  Bruno Haible  <bruno@clisp.org>
82263
82264         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
82265         to 'negate'.
82266
82267         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
82268         variable.
82269
82270         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
82271         results.
82272
82273 2005-03-14  Simon Josefsson  <jas@extundo.com>
82274
82275         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
82276         <fx@gnu.org>.
82277
82278 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
82279
82280         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
82281         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
82282         intprops.h.
82283         * lib/strtol.c: Likewise.
82284
82285 2005-03-14  Jim Meyering  <jim@meyering.net>
82286
82287         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
82288         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
82289         to be nonzero so that we (and caller) can detect the difference
82290         between a valid zero-length expansion and an error return, even
82291         when the underlying strftime fails before writing anything into
82292         that location.
82293
82294 2005-03-14  Bruno Haible  <bruno@clisp.org>
82295
82296         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
82297         Update from GNU gettext 0.14.3.
82298
82299 2005-03-10  Jim Meyering  <jim@meyering.net>
82300
82301         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
82302
82303 2005-03-10  Jim Meyering  <jim@meyering.net>
82304
82305         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
82306         so that this module works on systems without fchdir.
82307
82308 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
82309
82310         Factor int-properties macros into a single file, except for
82311         glibc-related files.
82312         * lib/intprops.h: New file.
82313         * lib/getloadavg.c: Include it instead of limits.h.
82314         (INT_STRLEN_BOUND): Remove.
82315         * lib/human.c: Include intprops.h.
82316         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
82317         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
82318         302/1000.
82319         * lib/inttostr.h: Include intprops.h instead of limits.h.
82320         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
82321         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
82322         for consistency with intprops.h.
82323         (time_t_is_integer, twos_complement_arithmetic): Use them.
82324         * lib/sig2str.h: Include <signal.h>, intprops.h.
82325         (INT_STRLEN_BOUND): Remove.
82326         * lib/strftime.c (TYPE_SIGNED): Remove.
82327         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
82328         * lib/strtol.c: Adjust comments to match intprops.h.
82329         * lib/userspec.c: Include intprops.h.
82330         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
82331         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
82332         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
82333         instead of rolling our own expressions.
82334         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
82335
82336         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
82337         instead of int.
82338         (my_strftime): Do not mishandle years close to INT_MAX, by doing
82339         the right thing even if adding 1900 would overflow.  Similarly
82340         for tm_mon + 1 and tm_yday + 1.
82341         Make %Y always equivalent to %C%y, and similarly for %G and %g.
82342         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
82343         (DO_SIGNED_NUMBER): New macro.
82344         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
82345
82346 2005-03-07  Bruno Haible  <bruno@clisp.org>
82347
82348         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
82349
82350 2005-03-07  Bruno Haible  <bruno@clisp.org>
82351
82352         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
82353
82354 2005-03-04  Derek R. Price  <derek@ximbiot.com>
82355
82356         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
82357         (func_import): Only replace files via --import when they have actually
82358         changed.
82359
82360 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82361
82362         * m4/mmap-anon.m4: New file.
82363         * m4/pagealign_alloc.m4: New file.
82364
82365 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82366             Bruno Haible  <bruno@clisp.org>
82367
82368         * modules/pagealign_alloc: New file.
82369         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
82370
82371 2005-03-03  Derek R. Price  <derek@ximbiot.com>
82372             Bruno Haible  <bruno@clisp.org>
82373
82374         * lib/pagealign_alloc.h: New file.
82375         * lib/pagealign_alloc.c: New file.
82376
82377 2005-03-03  Bruno Haible  <bruno@clisp.org>
82378
82379         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
82380         Use an all-permissive copyright notice, recommended by RMS.
82381
82382 2005-03-02  Bruno Haible  <bruno@clisp.org>
82383
82384         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
82385         of AIX, the replacement has to be done only after <string.h> is
82386         included, therefore not in config.h. stpncpy.h does the replacement,
82387         and stpncpy.c uses it.
82388
82389 2005-03-02  Bruno Haible  <bruno@clisp.org>
82390
82391         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
82392         stpncpy.c uses it.
82393
82394 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82395
82396         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
82397         The workaround isn't strictly needed for POSIX conformance, and
82398         it's too much of a pain to configure and maintain.  We'll ask
82399         people to fix their kernels instead.
82400         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
82401         (NANOSLEEP_BUG_WORKAROUND): Remove.
82402         (xnanosleep): Remove the workaround.
82403
82404 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82405
82406         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
82407         Reported by Derek Price.
82408         (Include): Add "timespec.h".
82409
82410         * modules/xnanosleep (Depends-on): Remove gethrxtime.
82411
82412 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82413
82414         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
82415         to detect nanosleep bug.
82416
82417 2005-03-01  Bruno Haible  <bruno@clisp.org>
82418
82419         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
82420
82421 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82422
82423         * modules/gethrxtime: New file.
82424         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
82425         (Depends-on): Add gethrxtime.
82426         (configure.ac): Add gl_XNANOSLEEP.
82427         (Makefile.am): Remove lib_SOURCES line.
82428
82429 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82430
82431         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
82432         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
82433
82434 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
82435
82436         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
82437         * lib/timespec.h (gettime): Return void, since it always
82438         succeeds now.  All uses changed.
82439         * lib/gettime.c (gettime): Likewise.
82440         [HAVE_NANOTIME]: Prefer nanotime.
82441         Assume gettimeofday succeeds, as POSIX requires.
82442         Assime time () succeeds, since other code already does.
82443         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82444         (timespec_subtract): Remove.
82445         (NANOSLEEP_BUG_WORKAROUND): New constant.
82446         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82447         things considerably.  Use it only on GNU/Linux hosts, since the
82448         workaround shouldn't be needed elsewhere.
82449
82450 2005-02-24  Bruno Haible  <bruno@clisp.org>
82451
82452         * modules/gettext (Files): Add m4/glibc2.m4.
82453
82454 2005-02-24  Bruno Haible  <bruno@clisp.org>
82455
82456         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82457         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82458         * m4/progtest.m4:
82459         Update from GNU gettext 0.14.2.
82460         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82461
82462 2005-02-24  Bruno Haible  <bruno@clisp.org>
82463
82464         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82465         * lib/config.charset: Update from GNU gettext 0.14.2.
82466
82467 2005-02-24  Bruno Haible  <bruno@clisp.org>
82468
82469         * lib/gettext.h: Update from GNU gettext 0.14.2.
82470
82471 2005-02-23  Simon Josefsson  <jas@extundo.com>
82472
82473         * m4/iconvme.m4: New file.
82474
82475 2005-02-23  Jim Meyering  <jim@meyering.net>
82476
82477         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82478         change.
82479         Thanks to Bruno Haible for catching it.
82480
82481 2005-02-22  Simon Josefsson  <jas@extundo.com>
82482
82483         * modules/iconvme: New file.
82484
82485         * MODULES.html.sh: Add iconvme.
82486
82487 2005-02-22  Simon Josefsson  <jas@extundo.com>
82488
82489         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82490
82491 2005-02-22  Simon Josefsson  <jas@extundo.com>
82492
82493         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82494
82495 2005-02-22  Jim Meyering  <jim@meyering.net>
82496
82497         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82498         s/ifndef/ifdef/.
82499
82500 2005-02-20  Neil Conway  <neilc@samurai.com>
82501
82502         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82503         returned by OSX/Darwin if the specified buffer is not large
82504         enough for the hostname.
82505
82506 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82507
82508         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82509         pass it to _help, otherwise the latter coredumps trying to
82510         dereference state.root_argp.
82511
82512 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82513
82514         * modules/chdir-long (Depends-on): Add memrchr.
82515         * modules/memrchr (Files): Add lib/memrchr.h.
82516         (Include): "memrchr.h".
82517
82518 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82519
82520         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82521
82522 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82523
82524         * lib/memrchr.h: New file.
82525         * lib/chdir-long.c: Include it.
82526         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82527         Don't bother including stddef.h.
82528
82529 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82530
82531         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82532         inclusion.
82533         Include <sys/types.h>, for dev_t.
82534         (ME_DUMMY, ME_REMOTE): Move from here....
82535         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82536         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82537         Dmitry V. Levin.
82538         Include mountlist.h first, to test the interface.
82539
82540 2005-01-29  Bruno Haible  <bruno@clisp.org>
82541
82542         * lib/progname.c (program_name): Initialize.
82543         Needed when linking statically on MacOS X.
82544
82545 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82546
82547         Sync from coreutils.
82548         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82549         (Depends-on): Add c-strtod.
82550         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82551
82552 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82553
82554         Sync from coreutils.
82555         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82556
82557         Remove files that are specific to coreutils.
82558         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82559
82560 2005-01-28  Bruno Haible  <bruno@clisp.org>
82561
82562         * modules/javacomp: New file.
82563         * MODULES.html.sh (Java): Add javacomp.
82564
82565 2005-01-28  Bruno Haible  <bruno@clisp.org>
82566
82567         * m4/javacomp.m4: New file, from GNU gettext.
82568
82569 2005-01-28  Bruno Haible  <bruno@clisp.org>
82570
82571         * lib/javacomp.sh.in: New file, from GNU gettext.
82572         * lib/javacomp.h: New file, from GNU gettext.
82573         * lib/javacomp.c: New file, from GNU gettext.
82574
82575 2005-01-26  Simon Josefsson  <jas@extundo.com>
82576
82577         * lib/gai_strerror.c: Use GPL in header.
82578
82579 2005-01-26  Bruno Haible  <bruno@clisp.org>
82580
82581         * modules/javaexec: New file.
82582         * MODULES.html.sh (Java): Add javaexec.
82583
82584 2005-01-26  Bruno Haible  <bruno@clisp.org>
82585
82586         * m4/javaexec.m4: New file, from GNU gettext.
82587
82588 2005-01-26  Bruno Haible  <bruno@clisp.org>
82589
82590         * lib/javaexec.sh.in: New file, from GNU gettext.
82591         * lib/javaexec.h: New file, from GNU gettext.
82592         * lib/javaexec.c: New file, from GNU gettext.
82593
82594 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82595
82596         * modules/lchown (Depends-on): Remove lchown.h
82597
82598 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82599
82600         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82601         must be defined if the header file was not found, in order
82602         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82603
82604 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82605
82606         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82607         initializers for struct pentry_state.
82608         (__argp_error): Check return value of __asprintf
82609         (__argp_failure): Translate error message
82610
82611         * lib/argp-parse.c: Removed braces around the expansion of N_()
82612
82613 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82614
82615         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82616         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82617         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82618         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82619         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82620         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82621         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82622         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82623         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82624         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82625         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82626         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82627         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82628         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82629         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82630         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82631         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82632         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82633         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82634         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82635         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82636         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82637         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82638         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82639         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82640         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82641         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82642         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82643         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82644         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82645         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82646         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82647         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82648         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82649         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82650         Use an all-permissive copyright notice, recommended by RMS.
82651
82652 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82653
82654         * modules/chdir-long (Depends-on): Remove mempcpy.
82655
82656 2005-01-21  Jim Meyering  <jim@meyering.net>
82657
82658         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82659         same value as for Solaris 9.
82660
82661         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82662         component length.  This included changing the parameter to be
82663         of type `char *' rather than `char const *'.
82664         * lib/chdir-long.h (chdir_long): Update prototype.
82665
82666         * lib/openat.c (fdopendir, fstatat): New functions.
82667         * lib/openat.h: Include headers required for use of DIR and struct
82668         stat.
82669         [AT_SYMLINK_NOFOLLOW]: Define.
82670         (fdopendir, fstatat): Add prototypes.
82671
82672 2005-01-21  Bruno Haible  <bruno@clisp.org>
82673
82674         * modules/classpath: New file.
82675         * MODULES.html.sh (Java): Add classpath.
82676
82677 2005-01-21  Bruno Haible  <bruno@clisp.org>
82678
82679         * lib/classpath.h: New file, from GNU gettext.
82680         * lib/classpath.c: New file, from GNU gettext.
82681
82682 2005-01-20  Simon Josefsson  <jas@extundo.com>
82683
82684         * modules/version-etc-fsf: New file.
82685
82686 2005-01-20  Simon Josefsson  <jas@extundo.com>
82687
82688         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82689         * lib/version-etc.c: Remove version_etc_copyright.
82690         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82691         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82692
82693 2005-01-20  Simon Josefsson  <jas@extundo.com>
82694
82695         * lib/base64.h (isbase64): Add.
82696
82697         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82698         using a unsigned prototype, don't inline.
82699         (base64_decode): Use it.
82700
82701 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82702
82703         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82704         it.
82705
82706 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82707
82708         * lib/save-cwd.c (save_cwd): Remove code to support the case
82709         where fchdir is missing or flaky.
82710
82711 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82712
82713         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82714
82715 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82716
82717         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82718         AC_LIBSOURCES now does this.
82719         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82720         with new ullong_max module.
82721
82722 2005-01-19  Bruno Haible  <bruno@clisp.org>
82723
82724         * modules/sh-quote: New file.
82725         * MODULES.html.sh (Executing programs): Add sh-quote.
82726
82727 2005-01-19  Bruno Haible  <bruno@clisp.org>
82728
82729         * lib/sh-quote.h: New file, from GNU gettext.
82730         * lib/sh-quote.c: New file, from GNU gettext.
82731
82732 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82733
82734         Merge from coreutils.
82735         * m4/ullong_max.m4: New file.
82736         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82737         (gl_MACROS): Assume localeconv exists.
82738
82739 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82740
82741         Merge changes from coreutils, as described below in several
82742         changelogs dated today.
82743
82744         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82745         (O_DIRECTORY): Remove; not needed here, since "." must be
82746         a directory.  All uses removed.
82747         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82748         universal on Suns, and we also need to test for IRIX.
82749         Revamp code to use 'if' rather than '#if'.
82750         Avoid unnecessary comparison of cwd->desc to 0.
82751
82752         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82753         for known valid error numbers rather than observed invalid ones.
82754
82755 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82756
82757         * modules/ullong_max: New file.
82758
82759         * modules/chdir-long, modules/openat: New files.
82760         * modules/save-cwd (Depends-on): Depend on chdir-long.
82761         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82762
82763 2005-01-18  Jim Meyering  <jim@meyering.net>
82764
82765         Merge from coreutils.
82766         * m4/chdir-long.m4, m4/openat.m4: New files.
82767         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82768         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82769         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82770         is sane and DOES follow symlinks.  Besides, testing 20 different
82771         systems found no broken chown implementations.
82772         Prompted by a change in rsync's copy of this macro.
82773         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82774
82775         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82776
82777         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82778         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82779         NULL-means-set-to-current-time semantics.
82780         Remove temporary file immediately, rather than waiting
82781         for configure's at-exit trap code to do it.
82782
82783 2005-01-18  Jim Meyering  <jim@meyering.net>
82784
82785         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82786
82787         * lib/utimens.c (futimens): Account for the fact that futimes
82788         can also fail with errno == ENOSYS or errno == ENOENT.
82789         Patch from Dmitry V. Levin.
82790
82791         Change the name of the robust chdir function from chdir to chdir_long.
82792         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82793         (restore_cwd): Use chdir_long, not chdir.
82794         * lib/chdir-long.c: Renamed from chdir.c.
82795         * lib/chdir-long.h: Renamed from chdir.h.
82796         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82797         Hurd.
82798
82799 2005-01-18  Bruno Haible  <bruno@clisp.org>
82800
82801         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82802         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82803         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82804         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82805         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82806         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82807         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82808         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82809         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82810         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82811         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82812         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82813         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82814         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82815         Use an all-permissive copyright notice, recommended by RMS.
82816
82817 2005-01-18  Bob Proulx  <bob@proulx.com>
82818
82819         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82820         simplify offsetof() macro construct to avoid compile failure with
82821         native HP-UX 11.0 ANSI C compiler.
82822
82823 2005-01-17  Bruno Haible  <bruno@clisp.org>
82824
82825         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82826         redundant because stpncpy.m4 takes care of it.
82827
82828 2005-01-17  Bruno Haible  <bruno@clisp.org>
82829
82830         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82831
82832 2005-01-17  Bruno Haible  <bruno@clisp.org>
82833
82834         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82835         used.
82836
82837 2005-01-17  Bruno Haible  <bruno@clisp.org>
82838
82839         * lib/fwriteerror.h (fwriteerror): Change specification to include
82840         fclose.
82841         * lib/fwriteerror.c: Include <stdbool.h>.
82842         (fwriteerror): At the end, close the file stream. Record whether
82843         stdout was already closed.
82844
82845 2005-01-17  Bruno Haible  <bruno@clisp.org>
82846
82847         * lib/execute.c (environ): Declare if needed.
82848         * lib/pipe.c (environ): Likewise.
82849         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82850
82851 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82852
82853         * modules/argp: Depend on vsnprintf
82854
82855 2005-01-10  Jim Meyering  <jim@meyering.net>
82856
82857         * modules/closeout (Depends-on): Add atexit.
82858
82859 2005-01-06  Bruno Haible  <bruno@clisp.org>
82860
82861         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82862
82863 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82864
82865         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82866         definitions to be after all include files, to avoid collisions.
82867         Problem reported by Bob Proulx.
82868
82869 2005-01-04  Jim Meyering  <jim@meyering.net>
82870
82871         Changes imported from coreutils.
82872         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82873         as the mkstemp template, use a temporary directory and an
82874         8.3-friendly template to avoid trouble on systems like DJGPP.
82875         Reported by Juan M. Guerrero via Stepan Kasal.
82876         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82877         close. Remove the temporary directory right away, rather than waiting
82878         for configure's at-exit trap code to do it.
82879         Suggestion from Stepan Kasal.
82880
82881 2005-01-01  Simon Josefsson  <jas@extundo.com>
82882
82883         * gnulib-tool: Print #include directives when --import'ing.
82884
82885 2004-12-28  Simon Josefsson  <jas@extundo.com>
82886
82887         * tests/test-base64.c: Include required header files.  Remove
82888         unused variables.
82889
82890 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82891
82892         * modules/error (Depends-on): Remove gettext.
82893
82894 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82895
82896         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82897         not needed.  This removes a dependency on the gettext module.
82898         [defined _LIBC]: Do not include <libintl.h>; not needed.
82899
82900 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82901
82902         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82903         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82904
82905 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82906
82907         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82908         HAVE_DECL_STRTOLD.
82909
82910 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82911
82912         * modules/getdate (Depends-on): Remove alloca-opt.
82913
82914 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82915
82916         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82917
82918 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82919
82920         * lib/argp-parse.c: Include <stddef.h>.
82921         (alignof, alignto): New macros.
82922         (parser_init): Don't assume that void * is aligned sufficiently
82923         for struct option.
82924
82925         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82926         need to extend the stack.
82927         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82928         large.
82929
82930 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82931
82932         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82933
82934 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82935
82936         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82937         (2004-10-24) change.  Apparently this was a false alarm.
82938
82939         * modules/getdate: Depend on alloca-opt, not alloca.
82940
82941 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82942
82943         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82944         Remove now-obsolete comment about AIX.
82945         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82946         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82947         (YYMAXDEPTH): New macro.
82948
82949 2004-12-18  Simon Josefsson  <jas@extundo.com>
82950
82951         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82952
82953 2004-12-18  Bruno Haible  <bruno@clisp.org>
82954
82955         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82956
82957 2004-12-18  Bruno Haible  <bruno@clisp.org>
82958
82959         * lib/fatal-signal.c (fatal_signals): Make non-const.
82960         (init_fatal_signals): New function.
82961         (uninstall_handlers, install_handlers): Ignore signals that were set to
82962         SIG_IGN.
82963         (at_fatal_signal): Call init_fatal_signals.
82964         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82965         SIG_IGN.
82966         Reported by Paul Eggert.
82967
82968 2004-12-18  Bruno Haible  <bruno@clisp.org>
82969
82970         * doc/alloca.texi: New file.
82971         * doc/alloca-opt.texi: New file.
82972
82973 2004-12-17  Jim Meyering  <jim@meyering.net>
82974
82975         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82976         Otherwise, install-sh could exit with improper exit status when
82977         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82978
82979 2004-12-16  Simon Josefsson  <jas@extundo.com>
82980
82981         * tests/test-base64.c: Add license.
82982
82983 2004-12-15  Stepan Kasal  <address@hidden>
82984
82985         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82986
82987 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82988
82989         * modules/getcwd (Files): Add m4/d-ino.m4.
82990         Suggested by Mark D. Baushke.
82991
82992 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82993
82994         * lib/getdate.y (textint): New member "negative".
82995         (time_zone_hhmm): New function.
82996         Expect 14 shift-reduce conflicts, not 13.
82997         (o_colon_minutes): New rule.
82998         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82999         (yylex): Set the "negative" member of signed numbers.
83000
83001 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
83002
83003         * doc/getdate.texi (Time of day items, Time zone items):
83004         Describe new formats +00:00, UTC+00:00.
83005
83006 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
83009         spurious "-l"s.  Problem reported by Stepan Kasal.
83010
83011 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
83012
83013         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
83014         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
83015
83016 2004-12-04  Simon Josefsson  <jas@extundo.com>
83017
83018         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
83019         Vandoorselaere <yoann@prelude-ids.org>.
83020
83021 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83022
83023         Changes imported from coreutils.
83024         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
83025         exist.
83026         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
83027
83028 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83029
83030         Changes imported from coreutils.
83031         * lib/hard-locale.c: Assume <locale.h> exists.
83032         Include "strdup.h".
83033         (GLIBC_VERSION): New macro.
83034         (hard_locale): Assume setlocale exists.
83035         Rewrite to avoid #ifdef.
83036         Use strdup rather than malloc + strcpy.
83037         * lib/human.c: Assume <locale.h> exists.
83038         (human_readable): Assume localeconv exists.
83039
83040 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
83041
83042         * modules/hard-locale (Depends-on): Add strdup.
83043
83044 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
83045
83046         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
83047         convert T2, not T.  (Imported from libc.)
83048
83049 2004-11-30  Simon Josefsson  <jas@extundo.com>
83050
83051         * modules/restrict (License): Change to LGPL.
83052
83053 2004-11-30  Simon Josefsson  <jas@extundo.com>
83054
83055         * m4/restrict.m4: Add copyright and copying conditions.
83056
83057 2004-11-30  Simon Josefsson  <jas@extundo.com>
83058
83059         * m4/base64.m4: New file.
83060
83061 2004-11-30  Simon Josefsson  <jas@extundo.com>
83062
83063         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
83064         base64.
83065
83066         * tests/test-base64.c: New file.
83067
83068         * modules/base64: New file.
83069
83070 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83071
83072         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
83073         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
83074
83075         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
83076
83077 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
83078
83079         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
83080         (__getcwd.c): Don't restore errno; glibc doesn't.
83081         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
83082         first, falling back to our code only if its results look suspicious.
83083         Ensure that the resulting buffer is only as large as necessary.
83084
83085         * lib/readutmp.c: Include readutmp.h first.
83086         Include <errno.h>, since readutmp.h no longer does that.
83087         * lib/readutmp.h: Don't include <errno.h>,
83088         <sys/param.h>, <time.h>; not needed to establish interface.
83089         (errno): Remove decl.
83090         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
83091         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
83092         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
83093
83094 2004-11-28  Simon Josefsson  <jas@extundo.com>
83095
83096         * lib/base64.h, base64.c: New file.
83097
83098 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
83099
83100         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
83101
83102 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
83103
83104         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
83105         (Depends-on): Remove pathmax, same.  Add mempcpy.
83106         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
83107         (Makefile.am): Append getcwd.h to lib_SOURCES.
83108         (Include): Add getcwd.h.
83109         (Maintainer): Change from Jim Meyering to "all, glibc",
83110         since getdate now uses intended-for-glibc code.
83111         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
83112         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
83113
83114 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83115
83116         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
83117         HP's ANSI C compiler.
83118         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
83119         Declaring int functions causes warnings on some modern systems and
83120         shouldn't be needed to compile on ancient ones.
83121         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
83122         defined.
83123
83124         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
83125         with the following changes.
83126         (__set_errno): Parenthesize properly.
83127         Include <stdbool.h>.
83128         (MIN, MAX, MATCHING_INO): New macros.
83129         (__getcwd): Define with prototype, not K&R form.
83130         Use heuristics to allocate default buffer on stack if possible.
83131         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
83132         behavior, and to avoid the PATH_MAX limit when computing
83133         ../../../../...
83134         Use MATCHING_INO to compare inode number to file.
83135         Check for arithmetic overflow in size calculations.
83136         Fix bug in reallocation of dot array that caused getcwd to fail
83137         on directories nested deeper than 75.
83138         Be more careful about saving errno on error.
83139         Do not use realloc; use only free+malloc, as this is a bit
83140         more flexible and avoids a needless copy operation.
83141         Do not inspect st_dev and st_ino for symbolic links; POSIX
83142         doesn't specify the latter.
83143         Check for closedir errors.
83144         Avoid needless casts.
83145         Use "#ifdef weak_alias" around weak_alias, to be like other
83146         glibc code.
83147         The following changes to getcwd.c have effect only when used in
83148         gnulib; they have no effect inside glibc proper.
83149         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
83150         as alloca isn't used.
83151         (alloca, __alloca): Likewise.
83152         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
83153         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83154         unconditionally, as gnulib assumes C89 or better.
83155         Do not include <sys/param.h>.
83156         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
83157         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
83158         better.
83159         (NULL) [!defined NULL]: Remove; we assume C89 or better.
83160         Include <dirent.h> in a way that is compatible with modern Autoconf.
83161         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
83162         New macros, if not already defined.
83163         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
83164         Use "_LIBC", not "defined _LIBC", for consistency.
83165         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
83166         a mempcpy module.
83167         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
83168         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
83169         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
83170         credit only to Jim Meyering and adjust the copyright dates.
83171         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
83172         <stdlib.h>, <unistd.h>, "pathmax.h".
83173         Instead, include "xgetcwd.h" (first) and "getcwd.h".
83174         (INITIAL_BUFFER_SIZE): Remove.
83175         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
83176
83177 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83178
83179         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
83180         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
83181         Use the _ONCE methods, for efficiency.
83182         Check for fcntl.h.  In test program, include <errno.h>
83183         and <fcntl.h> if available.  Remove old K&R cruft from
83184         test program.  Check for common errors in GNU/Linux,
83185         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
83186         don't do AC_LIBOBJ, as that's getcwd.m4's job.
83187         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
83188         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
83189         name accordingly.
83190         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
83191         accommodate new getcwd.c.
83192         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
83193         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
83194         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
83195         that's all we need now.
83196
83197 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83198
83199         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
83200         argp-parse.c depends on getopt internals, that means we should
83201         always use our getopt, to be on the safe side.
83202         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
83203         order not to spoil the result of an eventual previous invocation
83204         of gl_GETOPT_SUBSTITUTE.
83205
83206 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83207
83208         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
83209         redefinition warnings. To avoid them, include the defines
83210         in `#if !defined __need_getopt ... #endif'. The only place
83211         where __getopt_argv_const is used is in definitions
83212         of getopt_long and getopt_long_only below, which are as well
83213         protected by `#ifndef __need_getopt'.
83214         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
83215         __need_getopt after including <stdio.h> and <unistd.h> These
83216         headers might have defined it.
83217
83218 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83219
83220         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
83221
83222 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
83223
83224         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
83225         (futimens): New function, which uses futimes if available.
83226         (futimens, utimens): Support timespec==NULL, with same semantics
83227         as utime and utimens.
83228         * lib/utimens.h (futimens): New decl.
83229
83230 2004-11-23  Jim Meyering  <jim@meyering.net>
83231
83232         * lib/getopt_.h: Remove trailing blanks.
83233
83234 2004-11-23  Jim Meyering  <jim@meyering.net>
83235
83236         * lib/__fpending.c: Add comment.
83237
83238 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
83239
83240         * modules/canonicalize (Depends-on): Add xreadlink.
83241         Problem reported by James Youngman.
83242
83243 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
83244
83245         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
83246         New macros.
83247         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
83248         optopt): Use them instead of invoking ## directly; otherwise, the
83249         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
83250
83251 2004-11-19  Bruno Haible  <bruno@clisp.org>
83252
83253         * lib/strtok_r.c: Move comments from here...
83254         * lib/strtok_r.h: ... to here.
83255
83256 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83257
83258         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
83259         implementations that mishandle size_t overflow.
83260
83261 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
83262
83263         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
83264         might fail.  Problem reported by Yoann Vandoorselaere.
83265         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
83266         implementations that mishandle size_t overflow.
83267
83268 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83269
83270         * modules/canon-host (Depends-on): Add strdup.
83271
83272 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83273
83274         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
83275
83276 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83277
83278         * lib/canon-host.c: Include "strdup.h".
83279         (canon_host): Use getaddrinfo if available, so that IPv6 works.
83280         Use strdup instead of malloc/strcpy to duplicate strings.
83281
83282         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
83283         (human_space_before_unit): New constant.
83284         * lib/human.c (human_readable): Support it.
83285
83286         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
83287         (xgetcwd): Set errno correctly when failing.
83288         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
83289         the failure is actually due to a PATH_MAX problem.
83290
83291         Further getopt changes to make it more likely that glibc will
83292         buy the changes back.
83293         * lib/getopt.c (POSIXLY_CORRECT): New constant.
83294         (getopt): Use it, so to preserve glibc semantic
83295         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
83296         when compiling for libc.
83297         * lib/getopt_.h (__getopt_argv_const): Bring it back.
83298         (getopt_long, getopt_long_only): Use it.
83299
83300         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83301         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
83302         (getopt): Argv is now char * const *, as per standard.
83303         (_getopt_internal_r, _getopt_internal): Argv is now char **,
83304         not char *__getopt_argv_const *.
83305         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83306         _getopt_long_only_r): Likewise.
83307         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
83308         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83309         _getopt_long_r, _getopt_long_only_r): Likewise.
83310         * lib/getopt_.h (__getopt_argv_const): Remove.
83311         (getopt): Argv is now char * const *, as per standard.
83312
83313         * lib/getdate.y (tORDINAL): New token.
83314         (day, relunit): Allow it for relative times.
83315         (relative_time_table): Use tORDINAL for ordinals.
83316
83317 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
83318
83319         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
83320         Document that "second" isn't allowed as an ordinal number.
83321
83322 2004-11-16  Jim Meyering  <jim@meyering.net>
83323
83324         * modules/closeout (Depends-on): Add fpending.
83325
83326 2004-11-15  Jim Meyering  <jim@meyering.net>
83327
83328         * lib/closeout.c: Include "__fpending.h" once again.
83329         Include <stdbool.h>.
83330         (close_stdout): Don't fail just because stdout was closed initially,
83331         since some programs don't write to stdout in the normal course of
83332         operation (other than --version and --help), and we don't want this
83333         function to make e.g. `touch file >&-' fail.
83334         But do fail if it was closed and someone has tried to write to it.
83335         E.g., `printf foo >&-' must fail.
83336
83337 2004-11-13  Jim Meyering  <jim@meyering.net>
83338
83339         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
83340
83341 2004-11-12  Simon Josefsson  <jas@extundo.com>
83342
83343         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
83344         small doc fix is still pending.
83345
83346 2004-11-11  Simon Josefsson  <jas@extundo.com>
83347
83348         * modules/strtok_r: New file.
83349
83350         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83351         strtok_r.
83352
83353 2004-11-11  Simon Josefsson  <jas@extundo.com>
83354
83355         * m4/strtok_r.m4: New file.
83356
83357         * m4/getopt.m4: Replace opterr.
83358
83359 2004-11-11  Simon Josefsson  <jas@extundo.com>
83360
83361         * lib/strtok_r.h, strtok_r.c: New file.
83362
83363 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83364
83365         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
83366         of replacing opterr, getopt, etc.  This should handle the
83367         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
83368
83369 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
83370
83371         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
83372         we can stop lying to compilers about the constness of argv when we
83373         are compiled outside glibc.
83374         (getopt, getopt_long, getopt_long_only): Use it.
83375         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
83376         _getopt_internal, getopt): Likewise.
83377         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
83378         _getopt_long_only_r): Likewise.
83379         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
83380         _getopt_long_r, _getopt_long_only_r): Likewise.
83381
83382         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
83383         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
83384         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
83385         the other external symbols.
83386         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
83387         declaration, since the above renaming now works around collisions.
83388
83389 2004-11-11  Jim Meyering  <jim@meyering.net>
83390
83391         * lib/linebreak.c: Remove trailing blanks.
83392         * lib/alloca_.h: Likewise.
83393         * lib/acosl.c: Likewise.
83394         * lib/euidaccess.c: Likewise.
83395         * lib/allocsa.h: Likewise.
83396
83397 2004-11-10  Simon Josefsson  <jas@extundo.com>
83398
83399         * m4/getaddrinfo.m4: New file.
83400
83401 2004-11-10  Simon Josefsson  <jas@extundo.com>
83402
83403         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
83404
83405 2004-11-10  Simon Josefsson  <jas@extundo.com>
83406
83407         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83408         getaddrinfo.
83409
83410         * modules/getaddrinfo: New file.
83411
83412 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83413
83414         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
83415
83416 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83417
83418         * lib/mktime.c (SHR): New macro, which is a portable
83419         substitute for >> that should work even on Crays.
83420         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
83421         Problem reported by Mark D. Baushke in
83422         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
83423         * lib/getdate.y (SHR): Likewise.
83424         (tm_diff): Use it.
83425         * lib/strftime.c (SHR): Likewise.
83426         (tm_diff): Use it.
83427         * lib/quotearg.c (struct quoting_options): Use unsigned int for
83428         quote_these_too, so that right shifts are well defined.  All uses
83429         changed.
83430
83431 2004-11-10  Jim Meyering  <jim@meyering.net>
83432
83433         Ensure that no close failure goes unreported.
83434         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
83435         return early when it seems there's nothing to flush.
83436         Don't include __fpending.h.
83437
83438 2004-11-10  Jim Meyering  <jim@meyering.net>
83439
83440         * modules/closeout (Depends-on): Remove fpending.
83441
83442 2004-11-10  Jim Meyering  <jim@meyering.net>
83443
83444         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83445
83446 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83447
83448         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83449         gl_FUNC_STRFTIME.
83450         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83451         and AC_REQUIRE when possible, to avoid duplicate checks.
83452         Check for <wchar.h>.
83453
83454 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83455
83456         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83457
83458 2004-11-09  Bruno Haible  <bruno@clisp.org>
83459
83460         * m4/sockpfaf.m4: New file.
83461
83462 2004-11-05  Bruno Haible  <bruno@clisp.org>
83463
83464         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83465         Reported by Mark D. Baushke <mdb@cvshome.org>.
83466
83467 2004-11-04  Bruno Haible  <bruno@clisp.org>
83468
83469         2004-09-11  Bruno Haible  <bruno@clisp.org>
83470                 * allocsa.valgrind: New file.
83471         2004-02-06  Bruno Haible  <bruno@clisp.org>
83472                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83473                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83474                 Reported by Christopher Seip <chris.seip@hp.com>.
83475
83476 2004-11-04  Bruno Haible  <bruno@clisp.org>
83477
83478         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83479         (Makefile.am): Distribute it.
83480
83481 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83482
83483         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83484         with errno == ERANGE if the buffer is too small.
83485         Problem reported by Mark D. Baushke.
83486
83487 2004-11-03  Albert Chin  <china@thewrittenword.com>
83488             Paul Eggert  <eggert@cs.ucla.edu>
83489
83490         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83491         equivalent, substitute $ac_type for equivalent type rather than
83492         blindly using uint32_t *always* which won't work if uint32_t is not
83493         available.  Define _UINT32_T to work around typedef of uint32_t if
83494         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83495         2.5.1.
83496
83497 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83498
83499         * m4/jm-macros.m4: Sync from coreutils.
83500         (gl_MACROS): Check for mbrlen, for pathchk.
83501         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83502
83503 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83504
83505         * lib/xreadlink.c (MAXSIZE): New macro.
83506         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83507         size does not exceed MAXSIZE.  Avoid cast.
83508         As suggested by Mark D. Baushke in
83509         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83510         if readlink fails with buffer size just under MAXSIZE, try again
83511         with MAXSIZE.
83512
83513 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83514
83515         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83516
83517 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83518         and  Paul Eggert  <eggert@cs.ucla.edu>
83519
83520         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83521         (get_date): Overparenthesize to avoid GCC warning.
83522
83523 2004-11-02  Bruno Haible  <bruno@clisp.org>
83524
83525         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83526         returns void.
83527
83528 2004-11-02  Bruno Haible  <bruno@clisp.org>
83529
83530         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83531         function returns void.
83532
83533 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83534
83535         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83536         fflush_unlocked, flockfile, funlockfile, funlockfile,
83537         fputs_unlocked, putc_unlocked.
83538
83539 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83540
83541         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83542         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83543         already declared.
83544
83545 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83546
83547         * modules/getdate (Files): Add doc/getdate.texi.
83548         (Depends-on): Add setenv, xalloc.
83549
83550 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83551
83552         * lib/getdate.y: Add support for TZ="foo" within a date string.
83553         Fix some bugs near time_t boundaries.  Reject dates with
83554         out-of-range components, e.g., "Sept 31".
83555         Include <stdlib.h>, "setenv.h", "xalloc.h".
83556         (ISDIGIT_LOCALE): Remove; unused.
83557         Note that the TZ and time functions used here are not reentrant.
83558         (mktime_ok, get_tz): New functions.
83559         (TZBUFSIZE): New constant.
83560         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83561         This requires that we sometimes generate our own TZ="XXX..." setting.
83562
83563 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83564
83565         * doc/getdate.texi: New file, from coreutils with modifications for
83566         the new TZ parsing.
83567
83568 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83569
83570         * lib/mktime.c (not_equal_tm): Remove redundant check.
83571
83572 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83573
83574         * modules/regex (lib_SOURCES): Add regex.c.
83575         Reported by James Youngman in
83576         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83577
83578 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83579
83580         * lib/getdate.y: Use Bison 1.875 features, and some minor
83581         code cleanups.  This change does not affect semantics.
83582         Don't include <stdlib.h>; no longer needed.
83583         Don't include unlocked-io.h; only the "#if TEST" code uses
83584         stdio, and performance isn't crucial there.
83585         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83586         Bison 1.875 features as described below.
83587         All uses of "PC." replaced by "pc->".
83588         (YYSTYPE): Add a forward declaration.
83589         (yylex, yyerror): Use full prototypes in forward decls.
83590         Use "%pure-parser" rather than obsolescent "%pure_parser".
83591         Use %parse-param and %lex-param instead of obsolescent
83592         YYPARSE_PARAM and YYLEX_PARAM.
83593         (meridian_table, month_and_day_table, time_units_table,
83594         relative_time_table, time_zone_table, military_table,
83595         lookup_zone, lookup_word, get_date):
83596         Use NULL instead of 0 where appropriate.
83597         (to_hour): Avoid abort (), to avoid a dependency on
83598         stdlib.h.
83599         (yyerror, yylex): Now accepts parser_control * arg.
83600         (main) [TEST]: Use '\0' rather than 0 for char.
83601
83602 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83603
83604         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83605
83606 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83607
83608         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83609         It's now the caller's responsibility to handle the case where
83610         !HAVE_GETPAGESIZE && !defined getpagesize.
83611
83612         * lib/mktime.c (leapyear): Arg is long int, not int.
83613
83614 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83615
83616         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83617
83618 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83619
83620         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83621         missing.  Problem reported by James Youngman.
83622
83623 2004-10-16  Simon Josefsson  <jas@extundo.com>
83624
83625         * gnulib-tool: Fix comments.  Fix parse problem.
83626         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83627
83628 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83629
83630         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83631         implementation of getopt_long.  Problem reported by Alexander Taler in:
83632         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83633
83634 2004-10-15  Bruno Haible  <bruno@clisp.org>
83635
83636         * gnulib-tool: Untabify. Initialize supplied_libname.
83637         (func_usage): More homogenous output.
83638         (func_modules_transitive_closure, func_modules_to_filelist,
83639         func_emit_lib_Makefile_am): New functions.
83640         (func_import): New function, extracted from big case statement. Use
83641         func_get_license, func_modules_transitive_closure,
83642         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83643         opt_lgpl. Don't use test -a, as it's not portable.
83644         (func_create_testdir): Use func_modules_transitive_closure,
83645         func_modules_to_filelist, func_emit_lib_Makefile_am.
83646
83647 2004-10-15  Bruno Haible  <bruno@clisp.org>
83648
83649         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83650
83651 2004-10-15  Bruno Haible  <bruno@clisp.org>
83652
83653         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83654         the portions belonging to each module.
83655         Suggested by Derek Robert Price <derek@ximbiot.com>.
83656
83657 2004-10-12  Simon Josefsson  <jas@extundo.com>
83658
83659         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83660         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83661         to real functions.
83662
83663 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83664
83665         * modules/vsnprintf: New file.
83666
83667 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83668
83669         * m4/vsnprintf.m4: New file.
83670
83671 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83672
83673         * lib/vsnprintf.h: New file.
83674         * lib/vsnprintf.c: New file.
83675
83676 2004-10-11  Bruno Haible  <bruno@clisp.org>
83677
83678         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83679         vsnprintf.
83680
83681 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83682
83683         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83684
83685 2004-10-07  Bruno Haible  <bruno@clisp.org>
83686
83687         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83688         fits into the provided buffer.
83689
83690 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83691
83692         * lib/diacrit.c, diacrit.h: Add GPL notice.
83693
83694         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83695         notice.
83696         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83697         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83698         This avoids a potential constant-folding bug.
83699
83700 2004-10-05  Bruno Haible  <bruno@clisp.org>
83701
83702         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83703         for the declaration of strsep.
83704
83705 2004-10-05  Bruno Haible  <bruno@clisp.org>
83706
83707         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83708
83709 2004-10-04  Simon Josefsson  <jas@extundo.com>
83710
83711         * modules/memmem: New file.
83712         * tests/test-memmem.c: New file.
83713         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83714
83715 2004-10-04  Simon Josefsson  <jas@extundo.com>
83716
83717         * m4/memmem.m4: New file.
83718
83719 2004-10-04  Simon Josefsson  <jas@extundo.com>
83720
83721         * lib/memmem.h: New file.
83722         * lib/memmem.c: New file, taken from glibc.
83723
83724 2004-10-04  Simon Josefsson  <jas@extundo.com>
83725
83726         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83727         '#ifdef USE_UNLOCKED_IO'.
83728
83729 2004-10-04  Simon Josefsson  <jas@extundo.com>
83730
83731         * config/srclist.txt: Add memmem from glibc.
83732
83733 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83734
83735         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83736
83737         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83738         modules/exclude, modules/getdate, modules/getline,
83739         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83740         modules/getusershell, modules/linebuffer, modules/md5,
83741         modules/mountlist, modules/posixtm, modules/readtokens,
83742         modules/readutmp, modules/regex, modules/sha1,
83743         modules/version-etc, modules/yesno:
83744         Remove dependency on unlocked-io.
83745
83746 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83747
83748         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83749
83750         * m4/unlocked-io.m4: Add copyright notice.
83751         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83752
83753 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83754
83755         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83756         * lib/xmalloc.c (xmemdup): Likewise.
83757         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83758         XFREE): Remove these long-obsolescent macros.
83759         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83760         * lib/xstrdup.c: Remove.
83761
83762         * lib/regex.c (re_comp): Cast gettext return value to char *,
83763         Problem reported by Martin Neitzel via Mark D. Baushke.
83764
83765 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83766
83767         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83768         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83769         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83770         regex.c, sha1.c, version-etc.c, yesno.c:
83771         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83772         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83773         the includer's responsibility.
83774
83775         Sync from coreutils.
83776
83777         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83778         points to the start of a string, as the C Standard says the
83779         resulting behavior is undefined.
83780
83781         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83782         simple -> simple_backups, numbered_existing ->
83783         numbered_existing_backups, numbered -> numbered_backups
83784         to avoid shadowing problems.  All uses changed.
83785         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83786         * lib/backupfile.c (check_extension, numbered_backup):
83787         Rename locals to avoid shadowing 'basename'.
83788         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83789         once.
83790
83791         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83792         * lib/.cvsignore: Add getopt.h.
83793
83794 2004-10-04  Bruno Haible  <bruno@clisp.org>
83795
83796         * modules/README: New file.
83797         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83798         not a module.
83799
83800 2004-10-02  Jim Meyering  <jim@meyering.net>
83801
83802         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83803
83804 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83805
83806         * modules/strsep: New file.
83807
83808 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83809
83810         * m4/strsep.m4: New file.
83811
83812 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83813
83814         * lib/strsep.h: New file.
83815         * lib/strsep.c: New file.
83816
83817 2004-10-01  Simon Josefsson  <jas@extundo.com>
83818
83819         * lib/snprintf.c (snprintf): Handle size==0.
83820
83821 2004-10-01  Simon Josefsson  <jas@extundo.com>
83822             Bruno Haible  <bruno@clisp.org>
83823
83824         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83825         (snprintf): Declare 'args'.
83826
83827 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83828
83829         * lib/snprintf.c: Remove comments as to why each header is needed.
83830
83831 2004-10-01  Bruno Haible  <bruno@clisp.org>
83832
83833         * MODULES.html.sh: Add strsep.
83834
83835 2004-09-30  Simon Josefsson  <jas@extundo.com>
83836
83837         * modules/snprintf: New file.
83838
83839 2004-09-30  Simon Josefsson  <jas@extundo.com>
83840
83841         * m4/snprintf.m4: New file.
83842
83843 2004-09-30  Simon Josefsson  <jas@extundo.com>
83844
83845         * lib/snprintf.h, lib/snprintf.c: New files.
83846
83847 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83848
83849         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83850         (hol_entry_help): Never translate an empty string.
83851         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83852         * lib/argp.h (OPTION_NO_TRANS): New option.
83853
83854 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83855
83856         * modules/argp (Maintainer): Replace Simon Josefsson
83857         by Sergey Poznyakoff.
83858
83859 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83860
83861         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83862         changes merged back into glibc.
83863
83864 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83865
83866         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83867
83868 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83869
83870         * lib/xvasprintf.c: Include xalloc.h.
83871         (xvasprintf): Use xalloc_die, not xmalloc_die.
83872
83873 2004-09-29  Bruno Haible  <bruno@clisp.org>
83874
83875         * modules/alloca-opt: New file, derived from modules/alloca.
83876         * modules/allocsa: Depend on alloca-opt instead of alloca.
83877         * modules/setenv: Likewise.
83878         * modules/vasnprintf: Likewise.
83879         * MODULES.html.sh: Add alloca-opt.
83880
83881 2004-09-28  Simon Josefsson  <jas@extundo.com>
83882
83883         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83884         LGPL, and to replace license template from GPL to LGPL.
83885
83886 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83887
83888         * modules/dummy: Change license to LGPL.
83889
83890 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83891
83892         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83893
83894 2004-09-24  Simon Josefsson  <jas@extundo.com>
83895
83896         * modules/minmax (License): Change from GPL to LGPL.
83897
83898 2004-09-23  Simon Josefsson  <jas@extundo.com>
83899
83900         * gnulib-tool (--import): Typo.
83901
83902 2004-09-23  Simon Josefsson  <jas@extundo.com>
83903
83904         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83905
83906 2004-09-22  Bruno Haible  <bruno@clisp.org>
83907
83908         * modules/*: Add 'License' field.
83909         * gnulib-tool: Accept --extract-license option.
83910         (func_get_license): New function.
83911
83912 2004-09-21  Bruno Haible  <bruno@clisp.org>
83913
83914         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83915         Reported by Simon Josefsson.
83916
83917 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83918
83919         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83920         gl_AC_TYPE_LONG_LONG.
83921
83922 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83923
83924         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83925
83926 2004-09-18  Simon Josefsson  <jas@extundo.com>
83927         and  Paul Eggert  <eggert@cs.ucla.edu>
83928
83929         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83930         calls with autoreconf.  Define GL_LIB.
83931
83932 2004-09-14  Karl Berry  <karl@gnu.org>
83933
83934         * config/srclist.txt: unsync setenv.c, sigh.
83935
83936 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83937
83938         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83939         Problem reported by Bruno Haible in:
83940         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83941
83942 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83943
83944         * config/srclist.txt: Comment out argp-pvh.c.
83945
83946 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83947
83948         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83949         in case some system header has #define'd it.  Problem reported by
83950         Soeren D. Schulze in
83951         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83952
83953 2004-09-09  Karl Berry  <karl@gnu.org>
83954
83955         * regex.[ch]: delete from the root.  These were supposed to be
83956                 synced with emacs cvs, but this has not happened for about
83957                 a year, and anyway nothing else uses emacs regex.[ch].
83958                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83959                 lib/regex[.ch] is untouched.
83960
83961 2004-09-09  Bruno Haible  <bruno@clisp.org>
83962
83963         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83964
83965 2004-09-09  Bruno Haible  <bruno@clisp.org>
83966
83967         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83968         modifications.
83969         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83970
83971 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83972
83973         * modules/xvasprintf: New file.
83974         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83975
83976 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83977
83978         * lib/xvasprintf.h: New file.
83979         * lib/xvasprintf.c: New file.
83980         * lib/xasprintf.c: New file.
83981
83982 2004-09-08  Bruno Haible  <bruno@clisp.org>
83983
83984         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83985
83986 2004-09-08  Bruno Haible  <bruno@clisp.org>
83987
83988         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83989         length is > INT_MAX.
83990         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83991         more.
83992
83993 2004-09-08  Bruno Haible  <bruno@clisp.org>
83994
83995         * lib/stdint_.h: New file, taken from GNU clisp.
83996
83997 2004-09-08  Bruno Haible  <bruno@clisp.org>
83998             Oskar Liljeblad  <oskar@osk.mine.nu>
83999
84000         * modules/stdint: New file.
84001         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
84002
84003 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84004
84005         Import from coreutils.
84006         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
84007         strings on unbounded length.  alloca's performance benefits aren't
84008         that important here.
84009         (V_STRDUP): Remove.
84010         (parse_with_separator): New function, with most of the internals
84011         of the old parse_user_spec.  Allow user to omit both user and group,
84012         for compatibility with FreeBSD.
84013         Clone only the user name, not the entire spec.
84014         Do not set *uid, *gid unless entirely successful.
84015         Avoid memory leak in some failing cases.
84016         Fix regression for USER.GROUP reported by Dmitry V. Levin in
84017         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
84018         (parse_user_spec): Rewrite to use parse_with_separator.
84019
84020 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84021
84022         * modules/userspec: Don't depend on alloca.
84023
84024 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84025
84026         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
84027
84028 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84029
84030         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
84031         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
84032         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
84033
84034 2004-08-16  Simon Josefsson  <jas@extundo.com>
84035
84036         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
84037         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
84038         Add --dry-run for --import.
84039         Let user provided command line parameters override configure.ac
84040         settings.
84041
84042 2004-08-12  Simon Josefsson  <jas@extundo.com>
84043
84044         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
84045         as discussed with Paul Eggert in threads rooted at
84046         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
84047         and
84048         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
84049         Before, the test was empty, and relied on ELIDE_CODE in source
84050         code.)
84051         (gl_PREREQ_GETOPT): New macro.
84052         (gl_GETOPT): Use them.
84053
84054 2004-08-12  Simon Josefsson  <jas@extundo.com>
84055
84056         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
84057         * lib/getopt_.h: Renamed from getopt.h.
84058
84059 2004-08-12  Simon Josefsson  <jas@extundo.com>
84060
84061         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
84062         Change default library name from libfoo to libgnu.
84063         Now, if you have a configure.ac that says:
84064                 gl_SOURCE_BASE(gl)
84065                 gl_M4_BASE(gl/m4)
84066                 gl_MODULES(error getopt etcetera)
84067                 gl_INIT
84068         you can import all you need by running:
84069                 ../gnulib/gnulib-tool --import
84070
84071         * modules/getopt (Files): Rename getopt.h to getopt_.h.
84072         (Makefile.am): Rewrite, use logic from argz.
84073         (Include): Use <getopt.h> instead of "getopt.h".
84074
84075 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84076
84077         * modules/argp (Files): Add m4/unlocked-io.m4.
84078         (Depends-on): Add extensions.
84079
84080 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84081
84082         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
84083         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
84084         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
84085         Check for program_invocation_name, program_invocation_short_name,
84086         flockfile, funlockfile, features.h, _getopt_long_only_r.
84087
84088 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84089
84090         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
84091         its complicated substitute.
84092         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
84093         and program_invocation_name.
84094         (__argp_basename) [!_LIBC]: Remove; the only use was
84095         replaced by its body.
84096         (__argp_short_program_name): Change condition from
84097         !defined __argp_short_program_name to
84098         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
84099         to match argp-namefrob.h.
84100         (__argp_failure): Don't assume strerror_r returns char *.
84101         * lib/argp-parse.c (N_): Define unconditionally.
84102         (argp_default_options): Fill out initializers with 0 to avoid
84103         gcc warnings.
84104
84105 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
84106
84107         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
84108         getopt1.c.
84109
84110 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84111
84112         Merge from coreutils.
84113
84114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
84115
84116         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
84117         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
84118
84119 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84120
84121         Merge from coreutils.
84122
84123         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
84124         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
84125         for Reliant Unix 5.43.
84126
84127         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
84128         (union fooround): Use uintmax_t, not long int.
84129         The rest is a merge from libc:
84130         [defined _LIBC]: Include <shlib-compat.h>.
84131         (_obstack) [defined _LIBC]: Remove after 2.3.4.
84132
84133         * lib/settime.c (settime): Recode to avoid warning with
84134         Sun Forte C 6U2.
84135
84136         * lib/strverscmp.c: Convert to UTF-8.
84137
84138 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
84139
84140         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84141         m4/uintmax_t.m4.
84142
84143 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84144
84145         * modules/xalloc-die: New file.
84146         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
84147
84148         * modules/md5 (Files): Add m4/uint32_t.m4.
84149         * modules/sha1: Renamed from modules/sha.
84150         (Files):
84151         Rename lib/sha.h to lib/sha1.h.
84152         Rename lib/sha.c to lib/sha1.c.
84153         Rename m4/sha.m4 to m4/sha1.m4.
84154         (lib_SOURCES): Likewise.
84155         (configure.ac): Rename gl_SHA to gl_SHA1.
84156         (Include): sha.h -> sha1.h.
84157
84158 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84159
84160         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
84161         * m4/sha1.m4: Renamed from sha.m4.
84162         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
84163
84164 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
84165
84166         * lib/obstack.h (obstack_empty_p):
84167         Don't assume that chunk->contents is suitably aligned.
84168         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
84169         Likewise. Problem reported by Benno in
84170         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
84171
84172         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
84173         readable.  This could be improved further but it'd take some work.
84174
84175 2004-08-08  Simon Josefsson  <jas@extundo.com>
84176
84177         * modules/xgethostname (Depends-on): Remove exit and error (not
84178         used).
84179
84180         * modules/getpass-gnu: Add getpass.h.
84181         (Depends-on): Add stdbool.
84182         * modules/getpass: Add getpass.h.
84183
84184 2004-08-08  Simon Josefsson  <jas@extundo.com>
84185
84186         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
84187         Check getpass declaration.
84188
84189 2004-08-08  Simon Josefsson  <jas@extundo.com>
84190
84191         * lib/xgethostname.c: Don't include error.h (not used).
84192
84193         * lib/getpass.h: Add.
84194         * lib/getpass.c: Include getpass.h first.
84195
84196 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
84197
84198         * lib/xalloc-die.c: New file.
84199         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
84200         All uses removed.
84201         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
84202         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
84203         xalloc-die.c.
84204         (_, N_, xalloc_die): Move to xalloc-die.c.
84205         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
84206         so that we needn't mess with xalloc_msg_memory_exhausted.
84207
84208         * lib/sha1.h: Renamed from sha.h.
84209         (SHA1_H): Renamed from _SHA_H.
84210         (sha1_ctx): Renamed from sha_ctx.
84211         (sha1_init_ctx): Renamed from sha_init_ctx.
84212         (sha1_process_block): Renamed from sha_process_block.
84213         (sha1_process_bytes): Renamed from sha_process_bytes.
84214         (sha1_finish_ctx): Renamed from sha_finish_ctx.
84215         (sha1_read_ctx): Renamed from sha_read_ctx.
84216         (sha1_stream): Renamed from sha_stream.
84217         (sha1_buffer): Renamed from sha_buffer.
84218         * lib/sha1.c: Likewise; renamed from sha.c.
84219         Do not include <sys/types.h>.
84220         Include <stddef.h> rather than <stdlib.h>.
84221
84222 2004-08-08  Bruno Haible  <bruno@clisp.org>
84223
84224         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
84225         FILESYSTEM_PREFIX_LEN.
84226         * lib/progreloc.c: Likewise.
84227         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
84228
84229 2004-08-06  Simon Josefsson  <jas@extundo.com>
84230
84231         * modules/progname (Depends-on): Don't depend on stdbool.
84232
84233 2004-08-06  Simon Josefsson  <jas@extundo.com>
84234
84235         * modules/getsubopt: New file.
84236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84237         getsubopt.
84238
84239 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84240
84241         More merge from coreutils.
84242
84243         * m4/utimens.m4, m4/utimecmp.m4: New files.
84244         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
84245         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
84246         prereq.m4, sha.m4: Import changes from coreutils.
84247
84248 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84249
84250         More merge from coreutils.
84251         * modules/raise, modules/readtokens0, modules/utimens:
84252         * modules/utimecmp, module/xnanosleep: New files.
84253         * modules/strftime: Add lib/strftime.h.
84254         Change include from <time.h> to "strftime.h".
84255         * modules/yesno: Add lib/yesno.h.
84256         * modules/backupfile: Remove lib/addext.c.
84257         * modules/euidaccess: Add stat-macros.h.
84258         * modules/canonicalize, modules/euidaccess,
84259         modules/filemode, modules/lchown, modules/makepath,
84260         modules/rmdir, modules/stat: Likewise.
84261
84262 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         Merge from tar.
84265         * lib/argp-help.c (make_hol, hol_append): Don't assume that
84266         SIZE_MAX is a valid preprocessor constant.
84267         (__argp_basename): Change from "#ifndef _LIBC"
84268         to "#ifndef __argp_short_program_name", so that
84269         we don't compile these functions for tar.
84270
84271         More merges from coreutils.
84272         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
84273         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
84274         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
84275         * lib/addext.c: Remove; no longer needed.
84276         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
84277         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
84278         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
84279         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
84280         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
84281         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
84282         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
84283         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
84284         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
84285         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84286         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
84287         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
84288         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
84289         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
84290         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
84291         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
84292         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
84293         Import changes from coreutils.
84294
84295 2004-08-05  Simon Josefsson  <jas@extundo.com>
84296
84297         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
84298
84299 2004-08-05  Simon Josefsson  <jas@extundo.com>
84300
84301         * m4/getsubopt.m4: New file.
84302
84303 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84304
84305         Merge from coreutils.
84306
84307         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
84308         * m4/getcwd-path-max.m4: New files.
84309
84310         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
84311         FILESYSTEM_PREFIX_LEN ->
84312         FILE_SYSTEM_PREFIX_LEN.
84313         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
84314         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
84315         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
84316         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
84317
84318         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
84319         prerequisite modules now handle the DOS stuff.
84320         Don't check for unistd.h.
84321
84322 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84323
84324         Merge from coreutils.
84325
84326         * lib/.gdb-history: Remove; this doesn't belong here.
84327
84328         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
84329         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
84330         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
84331         * lib/getcwd.c: New files.
84332
84333         * lib/dirname.h: Include <stdbool.h>.
84334         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
84335         for consistency with POSIX terminology.  All uses changed.
84336         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
84337         (strip_trailing_slashes): Use bool for booleans.
84338         * lib/stripslash.c (strip_trailing_slashes): Likewise.
84339
84340         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
84341         sometimes returns a positive errno value even when it succeeds.
84342         (print_errno_message) [!LIBC]: Fall back on strerror if
84343         __strerror_r fails.
84344
84345         * lib/path-concat.c (mempcpy): Don't define if a system header defines
84346         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
84347         (longest_relative_suffix): New function.
84348         (path_concat): Use it.  Assume first argument is not NULL.
84349         Port to DOS.  Omit redundant separators.
84350         Report an error instead of returning NULL.
84351         Use mempcpy instead of memcpy.
84352         (xpath_concat): Remove: not declared or used.
84353
84354         * lib/same.h: Include <stdbool.h>
84355         (same_name): Return bool, not int.
84356         * lib/same.c (same_name): Likewise.
84357         (errno): Don't declare; we assume C89 or better now.
84358
84359         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
84360         if not already defined.
84361
84362         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
84363         * lib/dup-safer.c (errno): Likewise.
84364
84365 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
84366
84367         Merge from coreutils.
84368         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
84369         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
84370         * modules/path-concat: Don't depend on strdup.
84371
84372 2004-08-03  Simon Josefsson  <jas@extundo.com>
84373
84374         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
84375         * lib/progname.h: Don't include stdbool.h.
84376
84377 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84378
84379         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
84380         * MODULES.html.sh (func_all_modules): Remove fatal.
84381
84382 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84383
84384         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
84385
84386 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
84387
84388         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
84389         working.
84390
84391 2004-08-02  Simon Josefsson  <jas@extundo.com>
84392
84393         * lib/getsubopt.h: New file, with comments from Bruno Haible.
84394         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
84395         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
84396
84397 2004-08-01  Simon Josefsson  <jas@extundo.com>
84398
84399         * lib/xgetdomainname.c: Include stdlib.h, for free().
84400
84401 2004-07-19  Bruno Haible  <bruno@clisp.org>
84402
84403         * MODULES.html.sh (func_all_modules): Add dummy.
84404
84405 2004-07-16  Simon Josefsson  <jas@extundo.com>
84406
84407         * modules/dummy: New file.
84408
84409 2004-07-16  Simon Josefsson  <jas@extundo.com>
84410
84411         * lib/dummy.c: New file.
84412
84413 2004-07-16  Bruno Haible  <bruno@clisp.org>
84414
84415         * lib/backupfile.h: Add extern "C" for C++.
84416         * lib/closeout.h: Likewise.
84417         * lib/copy-file.h: Likewise.
84418         * lib/findprog.h: Likewise.
84419         * lib/full-write.h: Likewise.
84420         * lib/pathname.h: Likewise.
84421         * lib/progname.h: Likewise.
84422         * lib/stpcpy.h: Likewise.
84423         * lib/stpncpy.h: Likewise.
84424         * lib/strcase.h: Likewise.
84425         * lib/strstr.h: Likewise.
84426         * lib/xalloc.h: Likewise.
84427
84428         * lib/mbswidth.h: Add extern "C" for C++.
84429         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
84430
84431 2004-07-13  Robert Millan  <robertmh@gnu.org>
84432
84433         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
84434
84435 2004-07-09  Simon Josefsson  <jas@extundo.com>
84436
84437         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
84438         failed without this.)
84439
84440 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84441
84442         * modules/chown (Files): Add lib/fchown-stub.c, since
84443         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84444
84445 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84446
84447         * lib/fchown-stub.c: New file.
84448
84449 2004-06-24  Jim Meyering  <jim@meyering.net>
84450
84451         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84452
84453 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * modules/argz: Omit "#include".
84456
84457         * MODULES.html.sh (func_all_modules): Add calloc, to match
84458         2004-06-01 addition of calloc module.
84459
84460 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84461
84462         * m4/argz.m4: New file, which is autoupdated from libtool.
84463
84464 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84465
84466         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84467         libtool.
84468
84469 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84470
84471         * config/srclist-update: Don't insist on "USA." before the
84472         close-comment, as libtool omits the period and puts the */ on a
84473         separate line.
84474         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84475         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84476
84477 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84478
84479         * modules/argz: New file.
84480         * MODULES.html.sh (func_all_modules): Add argz.
84481
84482 2004-06-12  Jim Meyering  <jim@meyering.net>
84483         and  Paul Eggert  <eggert@cs.ucla.edu>
84484
84485         * modules/hash (Files): Add lib/xalloc.h.
84486         * modules/pipe (Depends-on): Add wait-process.
84487         * modules/stat (Depends-on): Add xalloc.
84488         * modules/userspec (Files): Add lib/userspec.h.
84489         * modules/xstrto
84490
84491         Upgrade from gettext-0.13.
84492         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84493         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84494         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84495
84496 2004-06-10  Jim Meyering  <jim@meyering.net>
84497
84498         * lib/calloc.c: New file.
84499
84500 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84501
84502         * lib/getdate.y (yylex): Allow space between sign and number.
84503         Problem reported by Dan Jacobson.
84504
84505 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84506
84507         Merge from coreutils CVS.
84508
84509         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84510         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84511         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84512         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84513         xstrtol.m4: Fix copyright date and/or serial number.
84514
84515         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84516         See if we need an fchown replacement.
84517         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84518         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84519         and use the replacement function if we detect either defect.
84520
84521         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84522         gl_UTIMECMP.
84523
84524 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84525         and  Jim Meyering  <jim@meyering.net>
84526
84527         Merge from coreutils CVS.
84528
84529         * lib/stat-macros.h: New file, with contents from file-type.h
84530         and coreutils' system.h.
84531         * lib/file-type.c: Include "stat-macros.h".
84532         * lib/file-type.h (file_type): Move all macro definitions to new file,
84533         stat-macros.h.
84534
84535         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84536         Wrap old code with this conditional.
84537         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84538         function that does not dereference symlinks.
84539         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84540
84541         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84542         dependency problems.
84543         (xreadlink): Accept new arg SIZE, for efficiency.
84544         All decls and uses changed.
84545         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84546
84547         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84548         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84549
84550         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84551         sysexits.h.
84552
84553 2004-06-01  Jim Meyering  <jim@meyering.net>
84554
84555         * m4/calloc.m4: New file.
84556
84557 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84558
84559         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84560         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84561         Also, fix a typo in a diagnostic.
84562
84563 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84564
84565         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84566         or AC_FUNC_REALLOC.
84567
84568 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84569
84570         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84571         macros to be defined.
84572         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84573         the allocator returns NULL because the requested size is zero.
84574
84575 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84576
84577         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84578         var.  Add comment explaining why libc still defines it.  This
84579         merges the following patch from glibc:
84580         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84581
84582 2004-05-20  Andreas Schwab  <schwab@suse.de>
84583
84584         * m4/free.m4: Replace free if it not known to work, not the other
84585         way round.
84586
84587 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84588
84589         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84590         present in glibc since revision 1.1 of this file.
84591         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84592         obstack_alignment_mask, obstack_alloc, obstack_base,
84593         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84594         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84595         obstack_grow0, obstack_init, obstack_int_grow,
84596         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84597         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84598         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84599         nonexistent functions.
84600
84601 2004-05-18  Karl Berry  <karl@gnu.org>
84602
84603         * config/srclist.txt: break link for vasnprintf.c.
84604
84605 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84606
84607         Port obstack to the AS/400, where pointers are 16 bytes wide and
84608         you cannot cast an integer to a valid pointer.  This patch is
84609         currently waiting to be integrated into glibc; see
84610         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84611
84612         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84613         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84614         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84615         (struct obstack): temp member is now a union of a pointer and
84616         an integer, instead of an integer.  All integer uses changed.
84617         This does not affect the physical layout of struct obstack,
84618         except on hosts (like the AS/400) where the size or alignment of
84619         void * is greater than that of ptrdiff_t.
84620         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84621         __STDC__)]: Store temporary in pointer member of union, not
84622         integer member.
84623         * lib/obstack.c: Include <stddef.h>, for offsetof.
84624         (struct fooalign): Remove; it doesn't need a name.
84625         (union fooround): Change double to long double, and add void *.
84626         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84627         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84628         not a macro.  Hence the values are always int; so remove all
84629         casts-to-int in uses.
84630
84631 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84632
84633         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84634         we can get this patch merged into glibc.
84635
84636 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84637             Paul Eggert  <eggert@cs.ucla.edu>
84638
84639         * m4/argp: Depend on alloca.
84640
84641 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84642             Paul Eggert  <eggert@cs.ucla.edu>
84643
84644         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84645         freecoding.
84646
84647 2004-05-17  Bruno Haible  <bruno@clisp.org>
84648
84649         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84650         precision that consists of a '.' followed by an empty digit string.
84651         Patch by Tor Lillqvist <tml@iki.fi>.
84652
84653 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84654
84655         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84656         for backward compatibility with older code.  We need our own
84657         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84658         it under some other name, and our alloca.h will define it.
84659
84660 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84661             Derek Price  <derek@ximbiot.com>
84662
84663         * lib/alloca.c: Include <alloca.h>, to get our interface.
84664         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84665         include <alloca.h> first.  Use C89 prototype for alloca; this
84666         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84667         Use #elif for simplicity, since we can assume C89 now.
84668         Don't try to source the system alloca.h since it will not be found
84669         and to prevent recursively including its replacement.
84670         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84671         * lib/regex.c: Likewise.
84672
84673 2004-05-16  Derek Price  <derek@ximbiot.com>
84674             Paul Eggert  <eggert@cs.ucla.edu>
84675
84676         getline cleanup.  This changes the getndelim2 API: both order of
84677         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84678         no delimiter).
84679
84680         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84681         interface does that.
84682         (getline): Always use getdelim, so that we don't have two
84683         copies of this code.
84684         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84685         if available.
84686         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84687         (GETNDELIM2_MAXIMUM): New macro.
84688         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84689         instead of the old practice of delim2==0.  All callers changed.
84690         Return -1 on overflow, instead of returning junk.
84691         Do not set *linesize unless allocation succeeds.
84692         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84693         that we include sys/types.h.
84694         * lib/getnline.h: Likewise.
84695         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84696         (getndelim2): Reorder arguments.
84697         * lib/getnline.c (getnline, getndelim):
84698         Don't discard the NMAX argument.
84699         (getnline): Invoke getndelim, to avoid code duplication.
84700         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84701         of (size_t) -1 by callers of the getnline family.
84702
84703 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84704
84705         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84706         Check for gettimeofday.
84707         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84708         Check for settimeofday, stime.
84709
84710 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84711
84712         * lib/nanosleep.c (suspended): Change its type from int to
84713         sig_atomic_t volatile.
84714         (first_call): Make it private to rpl_nanosleep, and have it
84715         be zero initially as that's a bit faster.
84716         (my_usleep): Round up fractional times instead of truncating them,
84717         as this is the usual meaning for 'sleep'.
84718
84719         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84720         doesn't work.
84721         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84722         (ENOSYS): Define if not defined.
84723         (settime): Fall back on stime if it exists and settimeofday fails.
84724         But don't bother with fallbacks if a method fails with errno == EPERM.
84725
84726 2004-05-11  Jim Meyering  <jim@meyering.net>
84727
84728         Prior to this change, the save_cwd caller required read access to the
84729         current directory on most systems (ones with the fchdir function).
84730
84731         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84732         fails, try write-only, and finally, resort to using xgetcwd.
84733
84734 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84735
84736         * lib/obstack.c, obstack.h: Import changes from libc.
84737
84738 2004-04-28  Bruno Haible  <bruno@clisp.org>
84739
84740         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84741         also implicitly appends .exe to executables.
84742         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84743         accepts Windows pathnames.
84744         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84745         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84746         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84747         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84748         Reported by Derek Robert Price <derek@ximbiot.com>.
84749
84750 2004-04-21  Karl Berry  <karl@gnu.org>
84751
84752         * config/srclist.txt (localcharset.c): break sync.
84753
84754 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84755
84756         * m4/host-os.m4: Add a copyright notice.
84757
84758 2004-04-20  Jim Meyering  <jim@meyering.net>
84759
84760         Change UTILS_ to gl_ in AC_DEFINE'd names.
84761         Change utils_- and jm_-prefixed variables, too.
84762         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84763         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84764         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84765
84766         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84767         Don't emit trailing blanks.
84768         Also rename jm_-prefixed variables to have gl_ prefix.
84769
84770         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84771         Also rename jm_-prefixed variables to have gl_ prefix.
84772
84773         * m4/jm-macros.m4: Reflect the renamings.
84774         * m4/prereq.m4: Likewise.
84775
84776 2004-04-20  Jim Meyering  <jim@meyering.net>
84777
84778         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84779         memory.
84780
84781 2004-04-20  Jim Meyering  <jim@meyering.net>
84782             Bruno Haible  <bruno@clisp.org>
84783
84784         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84785         memory when realloc fails.
84786
84787 2004-04-19  Jim Meyering  <jim@meyering.net>
84788
84789         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84790         now that readutmp.c may call `free (0)'.
84791
84792 2004-04-19  Bruno Haible  <bruno@clisp.org>
84793
84794         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84795         * m4/inttypes_h.m4: Likewise.
84796         * m4/stdint_h.m4: Likewise.
84797         * m4/intmax_t.m4: Likewise.
84798         * m4/uintmax_t.m4: Likewise.
84799
84800 2004-04-18  Jim Meyering  <jim@meyering.net>
84801
84802         * m4/prereq.m4: Don't forbid jm_ prefix.
84803
84804         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84805         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84806         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84807         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84808         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84809         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84810         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84811         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84812         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84813         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84814         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84815         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84816         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84817         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84818         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84819         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84820         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84821         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84822         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84823
84824 2004-04-18  Jim Meyering  <jim@meyering.net>
84825
84826         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84827         failure, don't leak memory and do call END_UTMP_ENT.
84828
84829 2004-04-16  Jim Meyering  <jim@meyering.net>
84830
84831         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84832         coreutils' stat program.
84833         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84834
84835 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84836
84837         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84838         C89.
84839         (CHAR_BIT): Remove, since we assume C89.
84840         Include <stdint.h> if available, as per current Autoconf CVS advice.
84841
84842 2004-03-31  Jim Meyering  <jim@meyering.net>
84843
84844         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84845         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84846         * m4/xalloc.m4: Likewise.
84847
84848 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84849
84850         Merge from coreutils.
84851
84852         * m4/inttostr.m4: New file.
84853         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84854         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84855         Require gl_CLOCK_TIME.
84856         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84857
84858 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84859
84860         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84861         not bool, to be more consistent with Unix conventions.
84862         Suggested by Bruno Haible.
84863
84864         Merge from coreutils.
84865
84866         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84867         * lib/umaxtostr.c: New files.
84868
84869         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84870         the usual <time.h> dance.
84871         (get_date): Change signature to support fractional time stamps.
84872         All callers changed.
84873         * lib/getdate.y: Include "getdate.h" first, as we can now
84874         assume C89 and don't need to worry about 'const'.
84875         Similarly, include "unlocked-io.h" near start, not in middle.
84876         Include <limits.h>.
84877         (textint.value): Use long int rather than int.
84878         (textint.digits): Use size_t rather than int.
84879         (BILLION, LOG10_BILLION): New constants.
84880         (parser_control): New member rel_ns.  Members day_ordinal,
84881         time_zone, month, day, hour, minutes, rel_year, rel_month,
84882         rel_day, rel_hour, rel_minutes, rel_seconds
84883         are now long int, not int.  Member seconds is now struct timespec,
84884         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84885         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84886         not int.
84887         (%union.intval): Now long int, not int.
84888         New member timespec.
84889         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84890         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84891         (spec): Now is a timespec or an item list.
84892         (timespec, items): New nonterminals.
84893         (time, rel, relunit, number, get_date):
84894         Add support for fractional seconds.
84895         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84896         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84897         (to_hour): First arg is now long int, not int.
84898         (to_year): Returns long int, not int.
84899         Don't treat year -70 like 70.
84900         (tm_diff): Returns long int, not int.
84901         (lookup_word): Use bool instead of int when appropriate.
84902         (yylex): Use size_t for count, not int.
84903         Detect overflow when parsing large integer constants.
84904         Add support for fractions.
84905         (get_date): Make pointers 'const' if possible.
84906         Use more-portable code to detect integer overflow.
84907         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84908         Don't use ctime; it's not reliable if the year has >4 digits.
84909
84910         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84911         This is for compatibility with BSD.
84912
84913         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84914         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84915         From coreutils' system.h.
84916
84917         * lib/userspec.c: Don't include "posixver.h".
84918         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84919         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84920         compatible extension.  Simplify code by removing a boolean int
84921         that was always nonzero if a string was nonnull.
84922
84923 2004-03-30  Jim Meyering  <jim@meyering.net>
84924
84925         Merge from coreutils.
84926
84927         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84928         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84929         on some systems one must include <grp.h> before it.
84930         Reported by Christian Krackowizer.
84931
84932 2004-03-30  Jim Meyering  <jim@meyering.net>
84933
84934         Merge from coreutils.
84935
84936         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84937
84938         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84939         an empty input stream.
84940
84941         * lib/readtokens.c: Include <stdbool.h>.
84942         (readtoken): Use `size_t' rather than int/long.
84943         All callers adjusted.
84944         Use `bool' rather than `int' where appropriate.
84945         Use memset rather than an explicit loop.
84946         Use x2nrealloc rather than xrealloc.
84947         Allow the use of `\0' as a delimiter.
84948         (readtokens): Likewise.
84949         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84950
84951 2004-03-30  Jim Meyering  <jim@meyering.net>
84952
84953         * m4/realloc.m4: Remove file, since now it does no more than
84954         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84955         the `configure.ac' section of module/realloc.
84956         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84957
84958 2004-03-30  Bruno Haible  <bruno@clisp.org>
84959
84960         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84961         nonnull.
84962
84963 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84964
84965         Merge changes to getloadavg.c from coreutils and Emacs.
84966
84967         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84968         Define to an expression, not to the empty string.
84969         Include cloexec.h and xalloc.h.
84970         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84971         Use set_cloexec_flag rather than rolling our own.
84972         * lib/cloexec.c, lib/cloexec.h: New files.
84973
84974 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84975
84976         * m4/cloexec.m4: New file.
84977
84978 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84979
84980         * lib/getopt.h: Sync with libc CVS.
84981
84982 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84983             Bruno Haible  <bruno@clisp.org>
84984
84985         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84986         mbswidth.
84987
84988 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84989             Bruno Haible  <bruno@clisp.org>
84990
84991         * lib/mbswidth.h: Include <wchar.h> only if
84992         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84993         <wchar.h>.
84994         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84995
84996 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84997
84998         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84999         Sync with libc CVS.
85000         * lib/getopt_int.h: New file, also synced from libc.
85001
85002 2004-03-09  Paul Eggert  <eggert@twinsun.com>
85003
85004         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
85005         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
85006         Bring back getopt.c, getopt.h, getopt1.c.
85007
85008 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85009
85010         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
85011         All uses changed.  Check for sa_sigaction member; this fixes
85012         a bug first reported by Jason Andrade in
85013         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85014
85015 2004-03-07  Paul Eggert  <eggert@twinsun.com>
85016
85017         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
85018         '#if' expressions.  Unlike the code it replaces, it does not
85019         depend on (defined _SC_PAGESIZE).  However, it does depend on
85020         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
85021         first reported by Jason Andrade in
85022         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
85023
85024 2004-02-25  Simon Josefsson  <jas@extundo.com>
85025
85026         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
85027
85028 2004-02-25  Simon Josefsson  <jas@extundo.com>
85029
85030         * lib/strdup.h: New file.
85031         * lib/strdup.c: Include it.
85032         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
85033         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
85034
85035 2004-02-23  Karl Berry  <karl@gnu.org>
85036
85037         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
85038         (from fencepost.gnu.org:/gd/gnuorg).
85039
85040 2004-02-23  Karl Berry  <karl@gnu.org>
85041
85042         * config/srclistvars.sh (GNUORG) [karl]: redefine.
85043         * config/srclist.txt: add maintain/standards documents.
85044
85045 2004-02-18  Bruno Haible  <bruno@clisp.org>
85046
85047         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
85048         Reported by Derek Robert Price <derek@ximbiot.com>.
85049
85050 2004-02-16  Karl Berry  <karl@gnu.org>
85051
85052         * config/mkinstalldirs, install-sh: update from automake.
85053
85054 2004-02-06  Karl Berry  <karl@gnu.org>
85055
85056         * m4/po.m4: update from gettext 0.14.1.
85057
85058 2004-02-06  Karl Berry  <karl@gnu.org>
85059
85060         * lib/config.charset: update from gettext 0.14.1.
85061
85062 2004-02-05  Paul Eggert  <eggert@twinsun.com>
85063
85064         Add comments and code, prompted by suggestions from Bruno Haible
85065         for sh-quote.
85066         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
85067         describing the enum quoting_style values.
85068         * lib/quotearg.c (quotearg_alloc): New function.
85069         (quotearg_buffer_restyled): Treat lone { and } as special.
85070         Treat = as special.  Work around bug with older shells
85071         that "see" a '\' that is really the 2nd byte of a multibyte char.
85072         Quote empty string with shell_quoting_style.
85073
85074 2004-02-03  Bruno Haible  <bruno@clisp.org>
85075
85076         * m4/pipe.m4: New file, from GNU gettext.
85077
85078 2004-02-03  Bruno Haible  <bruno@clisp.org>
85079
85080         * lib/pipe.h: New file, from GNU gettext.
85081         * lib/pipe.c: New file, from GNU gettext.
85082
85083 2004-01-27  Bruno Haible  <bruno@clisp.org>
85084
85085         * m4/execute.m4: New file, from GNU gettext.
85086
85087 2004-01-27  Bruno Haible  <bruno@clisp.org>
85088
85089         * lib/execute.h: New file, from GNU gettext.
85090         * lib/execute.c: New file, from GNU gettext.
85091         * lib/w32spawn.h: New file, from GNU gettext.
85092
85093 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85094
85095         Merge from diffutils.
85096
85097         * lib/file-type.c (file_type): Add typed memory objects.
85098         * lib/file-type.h (S_TYPEISTMO): New macro.
85099
85100         * lib/c-stack.h (c_stack_action): Remove argv argument.
85101         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
85102         (die): Don't calculate message unless segv_action returns.
85103         (get_stack_location, min_address_from_argv, max_address_from_argv,
85104         volatile stack_base, volatile_stack_size): Remove.
85105         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
85106         that every segmentation violation is a stack overflow.  (Ouch!)
85107         See Debian bug 136249 (still outstanding) for more info about why
85108         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
85109
85110 2004-01-24  Paul Eggert  <eggert@twinsun.com>
85111
85112         Exit-status fix from coreutils.
85113
85114         Use exit_failure consistently in place of EXIT_FAILURE,
85115         so that program exit statuses are consistent on failure.
85116
85117         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
85118         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
85119         * lib/argmatch.h: Comment fix to match the above.
85120         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
85121         Now a macro referring to exit_failure, instead of a separate
85122         variable.  Include "exitfail.h" to get it.
85123         * lib/xstrtol.h: Include "exitfail.h".
85124         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
85125
85126         * lib/long-options.c (parse_long_options): Use prototype
85127         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
85128         for clarity.
85129
85130 2004-01-21  Jim Meyering  <jim@meyering.net>
85131
85132         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
85133         so as not to conflict with a different-sized __mktime_internal
85134         function in GNU libc.
85135         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
85136         Problem building statically-linked `ls' reported by Michael Brunnbauer.
85137
85138 2004-01-20  Karl Berry  <karl@gnu.org>
85139
85140         * config/config.guess: update from config.
85141
85142         * config/srclistvars.sh: GNUWWWLICENSES for karl.
85143
85144 2004-01-20  Bruno Haible  <bruno@clisp.org>
85145
85146         Safer stack allocation.
85147         * lib/setenv.c: Include allocsa.h.
85148         (alloca): Remove fallback definition.
85149         (freea): Remove macro.
85150         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
85151         instead of freea.
85152
85153 2004-01-20  Bruno Haible  <bruno@clisp.org>
85154
85155         * m4/eealloc.m4: New file, from GNU gettext.
85156
85157 2004-01-20  Bruno Haible  <bruno@clisp.org>
85158
85159         * m4/allocsa.m4: New file, from GNU gettext.
85160
85161 2004-01-20  Bruno Haible  <bruno@clisp.org>
85162
85163         * lib/xallocsa.h: New file, from GNU gettext.
85164         * lib/xallocsa.c: New file, from GNU gettext.
85165
85166 2004-01-20  Bruno Haible  <bruno@clisp.org>
85167
85168         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
85169
85170 2004-01-20  Bruno Haible  <bruno@clisp.org>
85171
85172         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
85173         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
85174         specially.
85175
85176 2004-01-20  Bruno Haible  <bruno@clisp.org>
85177
85178         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
85179         patch.
85180
85181 2004-01-20  Bruno Haible  <bruno@clisp.org>
85182
85183         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
85184
85185 2004-01-20  Bruno Haible  <bruno@clisp.org>
85186
85187         * lib/eealloc.h: New file.
85188
85189 2004-01-20  Bruno Haible  <bruno@clisp.org>
85190
85191         * lib/binary-io.h: Avoid warnings on Cygwin.
85192
85193 2004-01-20  Bruno Haible  <bruno@clisp.org>
85194
85195         * lib/allocsa.h: New file, from GNU gettext.
85196         * lib/allocsa.c: New file, from GNU gettext.
85197
85198 2004-01-18  Karl Berry  <karl@gnu.org>
85199
85200         * doc/gpl.texi, doc/lgpl.texi: new files.
85201
85202 2004-01-18  Karl Berry  <karl@gnu.org>
85203
85204         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
85205         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
85206
85207 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85208
85209         Merge from coreutils.
85210
85211         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
85212         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
85213         (gl_DEFAULT_POSIX2_VERSION): Move
85214         the documentation from 'configure' into 'config.hin',
85215         so that 'configure --help' isn't burdened by it and
85216         we don't have to worry about its formatting there.
85217         Reword the documentation so that it's more succinct
85218         and can be run together into a single paragraph.
85219         * m4/same.m4 (gl_SAME): Check for pathconf.
85220
85221 2004-01-15  Paul Eggert  <eggert@twinsun.com>
85222
85223         Merge from coreutils.
85224
85225         * lib/posixver.c: Include posixver.h.
85226
85227         * lib/same.c: Include <stdbool.h>, <limits.h>.
85228         (_POSIX_NAME_MAX): Define if not defined.
85229         (MIN): New macro.
85230         (same_name): If file names are silently truncated, report
85231         that the file names are the same if they are the same after
85232         the silent truncation.
85233
85234         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
85235         conversion function.
85236         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
85237         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
85238         longer needed.
85239
85240 2004-01-15  Jim Meyering  <jim@meyering.net>
85241
85242         Merge from coreutils.
85243
85244         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
85245         if no library is required.
85246         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
85247         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
85248         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
85249         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
85250         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
85251         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
85252         value, $ac_cv_search_crypt, if it's "none required".
85253         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
85254         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
85255         not gl_FUNC_GETLOADAVG.
85256         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
85257         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
85258
85259 2004-01-15  Jim Meyering  <jim@meyering.net>
85260
85261         Merge from coreutils.
85262
85263         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
85264         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
85265         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
85266
85267         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
85268         optional configure-time default.
85269
85270         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85271
85272         * lib/xreadlink.c (xreadlink): Correct outdated comment.
85273
85274 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
85275
85276         Merge from coreutils.
85277
85278         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
85279         value, $ac_cv_search_nanosleep, if it's "none required".
85280
85281 2004-01-14  Paul Eggert  <eggert@twinsun.com>
85282
85283         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
85284         with like-named macro in fnmatch.c.
85285         (EXT): Use an internal constant instead.
85286
85287         Merge fnmatch patches from glibc.
85288         * lib/fnmatch.c (mbsinit): Remove define.
85289         Add libc_hidden_ver (__fnmatch, fnmatch).
85290         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
85291         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
85292
85293 2004-01-14  Karl Berry  <karl@gnu.org>
85294
85295         * config/install-sh: update from automake.
85296
85297 2004-01-13  Karl Berry  <karl@gnu.org>
85298
85299         * config/install-sh: update from automake.
85300
85301 2004-01-09  Karl Berry  <karl@gnu.org>
85302
85303         * config/install-sh: update from automake.
85304
85305 2004-01-05  Karl Berry  <karl@gnu.org>
85306
85307         * config/config.{sub,guess}: update from config.
85308
85309 2003-12-31  Karl Berry  <karl@gnu.org>
85310
85311         * config/depcomp: update from automake.
85312
85313 2003-12-14  Karl Berry  <karl@gnu.org>
85314
85315         * lib/config.charset: update from gettext-runtime.
85316
85317 2003-12-03  Paul Eggert  <eggert@twinsun.com>
85318
85319         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
85320         Bug reported by Alfred M. Szmidt.
85321
85322 2003-12-03  Bruno Haible  <bruno@clisp.org>
85323
85324         * m4/gettext.m4: Upgrade from gettext-0.13.
85325         * m4/po.m4: Upgrade from gettext-0.13.
85326         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
85327         * m4/intmax.m4: New file, from gettext-0.13.
85328         * m4/printf-posix.m4: New file, from gettext-0.13.
85329
85330 2003-11-29  Karl Berry  <karl@gnu.org>
85331
85332         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
85333
85334 2003-11-25  Paul Eggert  <eggert@twinsun.com>
85335             Bruno Haible  <bruno@clisp.org>
85336
85337         * lib/printf-parse.h: Don't include sys/types.h.
85338         (ARG_NONE): New macro.
85339         (char_directive): Change type of *arg_index fields to size_t.
85340         * lib/printf-parse.c: Don't include sys/types.h.
85341         (SSIZE_MAX): Remove macro.
85342         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
85343         Remove unnecessary overflow check.
85344         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
85345         fields.
85346
85347 2003-11-25  Bruno Haible  <bruno@clisp.org>
85348
85349         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
85350
85351 2003-11-25  Bruno Haible  <bruno@clisp.org>
85352
85353         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
85354         gt_TYPE_SSIZE_T.
85355
85356 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85357
85358         * modules/alloca: Remove dependency on xalloc.
85359
85360 2003-11-24  Paul Eggert  <eggert@twinsun.com>
85361
85362         * lib/alloca.c: Remove dependency on xalloc module.
85363         (xalloc_die): Remove.
85364         (memory_full) [!defined emacs]: New macro.
85365         [!defined emacs]: Don't include xalloc.h.
85366         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
85367         address arithmetic overflows.  Change datatypes a bit to avoid
85368         unnecessary casts.
85369
85370 2003-11-22  Jim Meyering  <jim@meyering.net>
85371
85372         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
85373         s/size/size_t/.
85374
85375 2003-11-21  Karl Berry  <karl@gnu.org>
85376
85377         * config/config.{sub,guess}: update from config.
85378
85379 2003-11-18  Karl Berry  <karl@gnu.org>
85380
85381         * config/config.{sub,guess}: update from config.
85382
85383         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
85384
85385 2003-11-17  Paul Eggert  <eggert@twinsun.com>
85386
85387         * README: Mention that S+T cannot overflow if S is the size of
85388         an existing object and T is sufficiently small.
85389
85390 2003-11-17  Jim Meyering  <jim@meyering.net>
85391
85392         On systems without utime and without a utimes function capable of
85393         dealing with a NULL struct utimbuf* argument, this utime replacement
85394         could -- in unusual circumstances -- leak a file descriptor.
85395         * lib/utime.c: Include <unistd.h> and <errno.h>.
85396         (utime_null): Be sure to close `fd' and to preserve errno.
85397         Reported by Geoff Collyer via Arnold Robbins.
85398
85399 2003-11-17  Bruno Haible  <bruno@clisp.org>
85400
85401         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
85402         (Depends-on): Add xsize.
85403
85404 2003-11-17  Bruno Haible  <bruno@clisp.org>
85405
85406         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
85407
85408 2003-11-17  Bruno Haible  <bruno@clisp.org>
85409
85410         * lib/vasnprintf.c (alloca): Remove fallback definition.
85411         (freea): Remove definition.
85412         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
85413         Reported by Paul Eggert.
85414
85415 2003-11-16  Paul Eggert  <eggert@twinsun.com>
85416             Bruno Haible  <bruno@clisp.org>
85417
85418         Protect against address arithmetic overflow.
85419         * lib/printf-args.h: Include stddef.h.
85420         (arguments): Change type of field 'count' to size_t.
85421         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
85422         'unsigned int' where appropriate.
85423         * lib/printf-parse.h: Include sys/types.h.
85424         (char_directive): Change type of *arg_index fields to ssize_t.
85425         (char_directives): Change type of fields 'count', max_*_length to
85426         size_t.
85427         * lib/printf-parse.c: Include sys/types.h and xsize.h.
85428         (SSIZE_MAX): Define fallback value.
85429         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
85430         instead of 'int' where appropriate. Check a_allocated, d_allocated
85431         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
85432         * lib/vasnprintf.c: Include xsize.h.
85433         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
85434         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
85435         overflow. Avoid wraparound when converting a width or precision from
85436         decimal to binary.
85437
85438 2003-11-16  Bruno Haible  <bruno@clisp.org>
85439
85440         Update from GNU gettext.
85441         * lib/printf-parse.c: Generalize to it can be compiled for wide
85442         strings.
85443         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85444         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85445         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85446         SNPRINTF): New macros.
85447         Don't include <alloca.h> if the file is used inside libintl.
85448         (local_wcslen): New function, for Solaris 2.5.1.
85449         (VASNPRINTF): Use it instead of wcslen.
85450
85451 2003-11-16  Bruno Haible  <bruno@clisp.org>
85452
85453         * lib/xsize.h (xmax): New function.
85454         (xsum, xsum3, xsum4): Declare as "pure" functions.
85455
85456 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85457
85458         * modules/xalloc (Files): Undo latest change, since xalloc.h
85459         no longer needs SIZE_MAX or PTRDIFF_MAX.
85460
85461 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85462
85463         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85464         gl_PTRDIFF_MAX.
85465
85466 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85467
85468         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85469         "return", to pacify some unknown compiler.  Problem reported
85470         by Joerg Schilling.
85471
85472 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85473
85474         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85475         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85476         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85477         heuristic is just as accurate as far as we know, and it removes a
85478         dependency on size_max.m4 and ptrdiff_max.m4.
85479
85480 2003-11-11  Bruno Haible  <bruno@clisp.org>
85481
85482         * modules/xsize (Files): Add m4/size_max.m4.
85483         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85484
85485 2003-11-11  Bruno Haible  <bruno@clisp.org>
85486
85487         * m4/size_max.m4: New file.
85488         * m4/ptrdiff_max.m4: New file.
85489         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85490         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85491         (gl_XALLOC): Invoke it.
85492
85493 2003-11-11  Bruno Haible  <bruno@clisp.org>
85494
85495         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85496         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85497         defined.
85498
85499 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85500
85501         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85502         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85503         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85504         From Bruno Haible.
85505         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85506         not (size_t) -1, since it's defined here.
85507
85508 2003-11-09  Karl Berry  <karl@gnu.org>
85509
85510         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85511
85512 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85513
85514         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85515         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85516         Reject sizes of exactly SIZE_MAX bytes.
85517         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85518         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85519
85520 2003-11-05  Bruno Haible  <bruno@clisp.org>
85521
85522         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85523         SIZE_MAX defined in <limits.h> on Solaris.
85524
85525 2003-11-04  Jim Meyering  <jim@meyering.net>
85526
85527         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85528         variable names, rather than @VAR@.
85529         * modules/poll: Likewise.
85530
85531 2003-11-04  Bruno Haible  <bruno@clisp.org>
85532
85533         * modules/xsize: New file.
85534         * modules/linebreak: Depend on xsize.
85535         * MODULES.html.sh (func_all_modules): Add xsize.
85536
85537 2003-11-04  Bruno Haible  <bruno@clisp.org>
85538
85539         * m4/xsize.m4: New file.
85540
85541 2003-11-04  Bruno Haible  <bruno@clisp.org>
85542
85543         * lib/xsize.h: New file.
85544         * lib/linebreak.c: Include xsize.h.
85545         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85546         argument for overflow.
85547         Suggested by Paul Eggert.
85548
85549 2003-11-03  Karl Berry  <karl@gnu.org>
85550
85551         * config/config.{guess,sub}: update from config.
85552
85553 2003-11-03  Jim Meyering  <jim@meyering.net>
85554
85555         * modules/userspec (lib_SOURCES): Add userspec.h.
85556         (Include): Add "userspec.h".
85557         Improve description.
85558
85559 2003-11-03  Jim Meyering  <jim@meyering.net>
85560
85561         * lib/userspec.c: Include "userspec.h".
85562         * lib/userspec.h: New file.
85563
85564 2003-11-03  Bruno Haible  <bruno@clisp.org>
85565
85566         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85567
85568 2003-11-03  Bruno Haible  <bruno@clisp.org>
85569
85570         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85571         available, to avoid (extremely rare) race condition.
85572         Suggested by Paul Eggert.
85573
85574 2003-11-02  Karl Berry  <karl@gnu.org>
85575
85576         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85577
85578 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85579
85580         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85581         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85582         (read_filesystem_list): Set and use me_type_malloced.
85583         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85584         whatever the type happens to be), for brevity and consistency.
85585         Check for size calculation overflow on Alphas running OSF/1.
85586
85587 2003-10-31  Jim Meyering  <jim@meyering.net>
85588
85589         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85590
85591         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85592
85593 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85594             Bruno Haible  <bruno@clisp.org>
85595
85596         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85597         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85598
85599 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85600
85601         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85602         netbsd*-gnu*.  Suggested by Robert Millan.
85603
85604 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85605
85606         * modules/group-member: Depend on stdbool.
85607
85608 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85609
85610         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85611
85612 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85613
85614         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85615         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85616         after the 'gnu' in these cases.  This fixes some bugs in the
85617         previous change, and is based on suggestions by Robert Millan.
85618
85619 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85620
85621         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85622         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85623         no longer needed.
85624         * lib/quotearg.c (quotearg_n_options): Use it.
85625         * lib/group-member.c: Include <stdbool.h>.
85626         (free_group_info): Arg is now const *; don't free arg.
85627         (get_group_info): Now returns bool and accepts struct group_info *,
85628         rather than returning a malloc'ed struct group_info *.
85629         All uses changed.  Check for overflow in internal size calculation.
85630
85631         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85632         rather than xmalloc/xrealloc.
85633         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85634         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85635         conformance bug: the old code used a pointer after freeing the
85636         storage that it addressed.
85637         * lib/hash.c (hash_initialize): Simplify the code by using
85638         xalloc_oversized rather than doing it by hand.
85639         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85640         the buffer preserved.  Use free and xmalloc instead.
85641         * lib/quotearg.c (quotearg_n_options): Likewise.
85642         Use a simpler test for size overflow.  Don't use xalloc_oversized
85643         because unsigned int might be wider than size_t (!); this suggests
85644         that we should switch from unsigned int to size_t for slot numbers.
85645
85646 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85647
85648         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85649         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85650         NetBSD kernels.  Requested by Richard Stallman.
85651
85652 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85653
85654         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85655         to allocate the returned structure.  Do not allocate a subarray,
85656         as x2nrealloc will do that.
85657         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85658         instead of xnrealloc.
85659         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85660
85661 2003-10-27  Bruno Haible  <bruno@clisp.org>
85662
85663         * lib/stdbool_.h: Better support for BeOS.
85664
85665 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85666
85667         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85668         now uses inline.
85669
85670 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85671
85672         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85673         callers that want to do their own size-overflow checking.  Include
85674         <stdbool.h>, since xalloc_oversized returns bool.
85675         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85676         to use xalloc_oversized.
85677
85678         Add two functions x2realloc, x2nrealloc, for programs that grow
85679         arrays dynamically by doubling their sizes.
85680         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85681         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85682         New functions.
85683
85684         Port to C99 semantics for 'inline' of external functions.
85685         Bug reported by Bruno Haible.
85686         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85687         with the old contents of xnmalloc.
85688         (xnmalloc, xmalloc): Use it.
85689         (xnrealloc_inline): New static inline function,
85690         with the old contents of xnrealloc.
85691         (xnrealloc, xrealloc): Use it.
85692
85693         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85694         that.
85695
85696 2003-10-26  Karl Berry  <karl@gnu.org>
85697
85698         * config/srclist.txt (COPYING.DOC): no longer available from
85699         /gd/gnuorg; don't know where the ultimate source is.
85700
85701 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85702
85703         Fix several address-calculation bugs in the hash modules,
85704         plus some minor code cleanup.
85705
85706         * lib/hash.h: Include <stdbool.h>, for bool.
85707         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85708         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85709         hash_get_n_entries, hash_get_max_bucket_length,
85710         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85711         hash_rehash): Use size_t rather than unsigned.
85712         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85713         hash_get_n_buckets_used, hash_get_n_entries,
85714         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85715         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85716         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85717         Likewise.
85718         (SIZE_MAX): Define if not defined.
85719         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85720         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85721         hash_print):
85722         Use const * when possible.
85723         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85724         (check_tuning): Fix bug: if tuning parameters were very close to
85725         0 or 1, rounding errors could have caused subscript violations.
85726         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85727         (hash_initialize): Add 'fail:' label
85728         to free table and return NULL, and use it to simplify code.
85729         Use calloc rather than clearing the storage ourself.
85730         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85731         buffer size calculations.
85732         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85733         Include <stddef.h>, for size_t.
85734         * lib/hash-pjw.c (hash_pjw): Likewise.
85735         Switch to method described by Bruno Haible.
85736         Include <limits.h>, for CHAR_BIT.
85737         (SIZE_BITS): New macro.
85738
85739 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85740
85741         * m4/getline.m4 (AM_FUNC_GETLINE):
85742         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85743         hosts.  Problem reported by Derek Robert Price in
85744         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85745         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85746         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85747
85748 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85749
85750         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85751         ceiling the allocation at NMAX bytes rather than silently
85752         discarding input bytes before NMAX is reached.  This makes
85753         a difference only if NMAX exceeds SIZE_MAX / 2.
85754
85755         * lib/obstack.c: Merge from glibc.
85756         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85757         Add libc_hidden_def (_obstack_newchunk).
85758         (_obstack_free) [! defined _LIBC]: Remove.
85759         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85760         a clone of the function body.
85761         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85762         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85763
85764         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85765         glibc.
85766         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85767         arg to memcpy.
85768
85769         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85770         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85771         Don't use lvalue casts, as GCC plans to remove support for them
85772         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85773         was also present in the non-GCC version, indicating that this
85774         code had always been buggy and had never been widely used.
85775         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85776         Use the fast variant of each macro, rather than copying the
85777         definiens of the fast variant; that way, we'll be more likely to
85778         catch future bugs in the fast variants.
85779
85780 2003-10-20  Bruno Haible  <bruno@clisp.org>
85781
85782         * modules/wait-process: New file.
85783         * MODULES.html.sh (func_all_modules): Add wait-process.
85784
85785 2003-10-20  Bruno Haible  <bruno@clisp.org>
85786
85787         * m4/wait-process.m4: New file.
85788
85789 2003-10-20  Bruno Haible  <bruno@clisp.org>
85790
85791         * lib/wait-process.h: New file, from GNU gettext.
85792         * lib/wait-process.c: New file, from GNU gettext.
85793
85794 2003-10-19  Jim Meyering  <jim@meyering.net>
85795
85796         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85797         HPUX 10.20.
85798
85799 2003-10-18  Karl Berry  <karl@gnu.org>
85800
85801         * config/config.guess: update from config.
85802
85803 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85804
85805         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85806         (getgroups): First arg is int, not size_t.
85807         Don't let 'free' mangle errno.
85808
85809 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85810
85811         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85812
85813 2003-10-16  Karl Berry  <karl@gnu.org>
85814
85815         * config/config.{guess,sub}: update from config.
85816
85817 2003-10-16  Jim Meyering  <jim@meyering.net>
85818
85819         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85820         memcpy.
85821
85822 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85823
85824         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85825         (SIZE_MAX): Remove.
85826         (new_exclude, add_exclude_file): Initial size no longer needs to
85827         be a power of 2.
85828         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85829         our own address arithmetic overflow checking.
85830
85831         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85832         (fnmatch): Do not alloca more than 2000 wide characters;
85833         instead, use malloc for large buffers.
85834         Check for address arithmetic overflow, and return -1
85835         with errno set to ENOMEM in that case.
85836         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85837         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85838         instead, return -1.  Check for address arithmetic overflow.
85839
85840 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85841
85842         Handle invalid suffixes and overflow independently, so that
85843         callers can treat them independently as needed.  Fix some bugs in
85844         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85845         suffix for a human-readable blocksize.  The major caller-visible
85846         change is the addition of a new
85847         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85848         that both overflow and suffix chars were found.
85849
85850         * lib/human.c (humblock): Don't check separately for invalid suffix
85851         char; that is xstrtoumax's job (now that its bug is fixed).
85852         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85853         INTMAX_MAX]: New macros.
85854         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85855         TYPE_MAXIMUM): New macros.
85856         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85857         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85858         if overflow occurs, as it's what __strtol does and it's more useful
85859         in practice.
85860         (__xstrtol): If __strtol reports some error other than ERANGE,
85861         reflect it to the caller as LONGINT_INVALID.  If it reports
85862         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85863         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85864         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85865         value.
85866         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85867         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85868         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85869         [defined UINTMAX_MAX]: New macros.
85870
85871 2003-10-14  Bruno Haible  <bruno@clisp.org>
85872
85873         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85874
85875 2003-10-14  Bruno Haible  <bruno@clisp.org>
85876
85877         * m4/sig_atomic_t: New file, from GNU gettext.
85878         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85879
85880 2003-10-14  Bruno Haible  <bruno@clisp.org>
85881
85882         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85883         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85884         Also use volatile where needed.
85885
85886 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85887
85888         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85889         Change maintainer from Bruno Haible to 'all'.
85890
85891 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85892
85893         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85894
85895 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85896
85897         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85898         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85899         and define in terms of the other primitives.
85900         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85901         (SIZE_MAX): Define if not already defined.
85902         (array_size_overflow): New function.
85903         (xalloc_die): Abort instead of exiting if 'error' returns.
85904         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85905         (xmalloc, xrealloc): Use them.
85906         (xcalloc): Check for address arithmetic overflow.
85907         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85908         a bit faster than strcpy.
85909
85910 2003-10-10  Simon Josefsson  <jas@extundo.com>
85911
85912         * modules/argp (Depends-on): Add restrict and strcase.
85913
85914 2003-10-10  Simon Josefsson  <jas@extundo.com>
85915
85916         * m4/argp.m4: Add AC_C_INLINE.
85917
85918 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85919
85920         Merge getpass from libc, plus a few fixes.
85921
85922         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85923         Include <stdbool.h>.
85924         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85925         __fsetlocking to empty.
85926         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85927         do include <bits/libc-lock.h>.
85928         Do not include <fcntl.h>; not needed.
85929         [_LIBC]: Include <wchar.h>.
85930         (NOTCANCEL_MODE): New macro.
85931         (flockfile, funlockfile) [_LIBC]: New macros.
85932         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85933         [!_LIBC]: New macros.
85934         (call_fclose): New function.
85935         (getpass): Use it.  Save tty stream separately; this simplifies the
85936         code and makes it more reliable if stdin happens to equal stdout.
85937         Invoke __fsetlocking on tty.
85938         Handle thread cancellation if needed.
85939         Namespace cleanup (use __tcgetattr, __getline).
85940         Use bool for Booleans.
85941         [USE_IN_LIBIO]: Handle wide streams.
85942         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85943         stream might go where.
85944
85945         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85946         doesn't have to include <stdio.h> before us.
85947         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85948         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85949         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85950         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85951         if not declared, so that we can use getpass.c code from libc without
85952         rewriting it.
85953         (flockfile, ftrylockfile, funlockfile): New macros.
85954
85955 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85956
85957         * modules/getpass: Depend on stdbool.
85958
85959 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85960
85961         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85962
85963 2003-10-07  Karl Berry  <karl@gnu.org>
85964
85965         * config/config.{guess,sub}: update from config.
85966
85967 2003-10-06  Jim Meyering  <jim@meyering.net>
85968             Bruno Haible  <bruno@clisp.org>
85969
85970         This lets translators provide better translations for the
85971         "Written by ..." part of --version output.
85972         * lib/version-etc.h: Include stdarg.h.
85973         (version_etc_copyright): Declare as readonly.
85974         (version_etc): Make this function variadic with a NULL-terminated list
85975         of author name strings.
85976         (version_etc_va): New declaration.
85977         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85978         (version_etc_copyright): Declare as readonly.
85979         (version_etc_va): New function. Provide a different translatable string
85980         for each possible number of authors < 10. Abbreviate when there are 10
85981         authors or more.
85982         (version_etc): Make this function variadic. Call version_etc_va.
85983         Suggestion from Gary V. Vaughan.
85984
85985         * lib/long-options.h (parse_long_options): Change prototype: the
85986         authors string is moved to the end and becomes variadic.
85987         * lib/long-options.c: Include stdarg.h.
85988         (parse_long_options): Make this function variadic, too.
85989         Call version_etc_va, not version_etc.
85990
85991 2003-10-06  Bruno Haible  <bruno@clisp.org>
85992
85993         * modules/version-etc-2: Remove file.
85994         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85995
85996 2003-10-06  Bruno Haible  <bruno@clisp.org>
85997
85998         * modules/fatal-signal: New file.
85999         * MODULES.html.sh (func_all_modules): Add fatal-signal.
86000
86001 2003-10-06  Bruno Haible  <bruno@clisp.org>
86002
86003         * m4/fatal-signal.m4: New file.
86004         * m4/signalblocking.m4: New file, from GNU gettext.
86005
86006 2003-10-06  Bruno Haible  <bruno@clisp.org>
86007
86008         * lib/version-etc-2.h: Remove file.
86009         * lib/version-etc-2.c: Remove file.
86010
86011 2003-10-06  Bruno Haible  <bruno@clisp.org>
86012
86013         * lib/fatal-signal.h: New file, from GNU gettext.
86014         * lib/fatal-signal.c: New file, from GNU gettext.
86015
86016 2003-10-05  Paul Eggert  <eggert@twinsun.com>
86017
86018         * README: Rework advice for preventing empty .o files.
86019         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
86020         not <sys/types.h>.
86021
86022 2003-10-04  Karl Berry  <karl@gnu.org>
86023
86024         * lib/argp*: update from libc.
86025
86026 2003-10-04  Karl Berry  <karl@gnu.org>
86027
86028         * config/config.{guess,sub}: update from config.
86029
86030 2003-10-02  Bruno Haible  <bruno@clisp.org>
86031
86032         * modules/lchown (Include): Add lchown.h.
86033         * modules/time_r (Include): Use "..." syntax.
86034         * modules/xgetdomainname (Include): Add xgetdomainname.h.
86035
86036 2003-10-01  Simon Josefsson  <jas@extundo.com>
86037
86038         * MODULES.html.sh (func_all_modules): Move gethostname from section
86039         'based on' to section 'lacking' POSIX:2001.
86040
86041 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
86042
86043         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
86044         to output mode on the same stream.
86045
86046 2003-09-29  Paul Eggert  <eggert@twinsun.com>
86047
86048         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
86049         Fix arg typo in previous patch.
86050
86051 2003-09-28  Jim Meyering  <jim@meyering.net>
86052
86053         * lib/error.c: Correct cpp indentation.
86054
86055 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86056
86057         * modules/free: New file.
86058
86059 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86060
86061         * m4/free.m4: New file.
86062
86063 2003-09-27  Paul Eggert  <eggert@twinsun.com>
86064
86065         * lib/minmax.h (MIN, MAX)
86066         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
86067         Omit the special code that used __typeof__, since we worry that
86068         it could be more trouble than it's worth.  See:
86069         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
86070         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
86071
86072         * lib/free.c: New file.
86073
86074 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
86075
86076         Trivial fixes to Makefile.am parts of module listings.
86077         * modules/strstr: Append strstr.h to lib_SOURCES.
86078         * modules/strcase: Likewise, for strcase.h.
86079
86080 2003-09-27  Karl Berry  <karl@gnu.org>
86081
86082         * config/mkinstalldirs: update from automake.
86083
86084 2003-09-26  Paul Eggert  <eggert@twinsun.com>
86085
86086         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
86087         (error_tail): Do not loop, reallocating temporary buffer, since
86088         the output cannot contain more wide characters than the input
86089         contains bytes, the size must be big enough already.  This avoids
86090         one potential size overflow calculation.  Check for size overflow
86091         when calculating temporary buffer size.  Free temporary buffer
86092         when done, if it was allocated with malloc; this plugs a memory
86093         leak.  Remove casts from void * to pointers, that are no longer
86094         needed now that we're assuming C89 or better.
86095
86096         Merge error changes from glibc.
86097
86098         * lib/error.c, error.h: Update copyright notice header to match glibc.
86099         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
86100         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
86101         Disable cancellation while printing error.
86102         * lib/error.h: Prepend __ to parameter names.
86103
86104 2003-09-26  Jim Meyering  <jim@meyering.net>
86105
86106         * lib/error.c (error_tail): Move some declarations
86107         into inner scope where the local variables are used.
86108
86109 2003-09-26  Bruno Haible  <bruno@clisp.org>
86110
86111         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
86112         stpncpy().
86113         Don't define stpncpy through config.h; it's now done through stpncpy.h.
86114
86115 2003-09-26  Bruno Haible  <bruno@clisp.org>
86116
86117         * lib/stpncpy.h (gnu_stpncpy): New declaration.
86118         (stpncpy): Define as alias for gnu_stpncpy.
86119         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
86120
86121 2003-09-25  Simon Josefsson  <jas@extundo.com>
86122
86123         * lib/xgetdomainname.h: New file.
86124         * lib/xgetdomainname.c: New file.
86125
86126 2003-09-25  Simon Josefsson  <jas@extundo.com>
86127             Bruno Haible  <bruno@clisp.org>
86128
86129         * modules/getdomainname: New file.
86130         * modules/xgetdomainname: New file.
86131         * MODULES.html.sh (func_all_modules): Add getdomainname,
86132         xgetdomainname.
86133
86134 2003-09-25  Simon Josefsson  <jas@extundo.com>
86135             Bruno Haible  <bruno@clisp.org>
86136
86137         * m4/getdomainname.m4: New file.
86138
86139 2003-09-25  Simon Josefsson  <jas@extundo.com>
86140             Bruno Haible  <bruno@clisp.org>
86141
86142         * lib/getdomainname.h: New file.
86143         * lib/getdomainname.c: New file.
86144
86145 2003-09-25  Karl Berry  <karl@gnu.org>
86146
86147         * lib/argp-fmtstream.c, argp-help.c: update from libc.
86148
86149 2003-09-25  Karl Berry  <karl@gnu.org>
86150
86151         * config/install-sh: update from automake.
86152
86153 2003-09-25  Bruno Haible  <bruno@clisp.org>
86154
86155         * modules/version-etc-2: New file, from modules/version-etc with
86156         modifications.
86157         * MODULES.html.sh (func_all_modules): Add version-etc-2.
86158
86159 2003-09-25  Bruno Haible  <bruno@clisp.org>
86160
86161         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
86162         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
86163
86164 2003-09-24  Simon Josefsson  <jas@extundo.com>
86165
86166         * modules/xgethostname: Add xgethostname.h.
86167
86168 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86169
86170         * lib/linebuffer.c (freebuffer): Don't free the argument, just
86171         the buffer associated with the argument.  Bug reported by
86172         Simon Josefsson.
86173
86174 2003-09-24  Paul Eggert  <eggert@twinsun.com>
86175
86176         * README: Document assumptions that 'int' is at least 32 bits
86177         wide, that integer arithmetic is 2's complement without overflow,
86178         that there are no holes in integer values, that adding sizes of
86179         two nonoverlapping objects can't overflow, and that all-bits-zero
86180         yields scalar zero.  Fix spelling and capitalization typos.
86181
86182 2003-09-19  Karl Berry  <karl@gnu.org>
86183
86184         * lib/argp.h: update from libc.
86185
86186 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86187
86188         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
86189         to avoid spurious warnings like "AC_RUN_IFELSE was called before
86190         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
86191
86192 2003-09-17  Paul Eggert  <eggert@twinsun.com>
86193
86194         * gnulib-tool: Use "test -h", not "test -L", for portability
86195         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
86196         (tags_regexp): Remove, since \| doesn't conform to POSIX.
86197         (sed_extract_prog): Issue s commands one-by-one, rather than
86198         using \| in one s command.
86199
86200 2003-09-16  Paul Eggert  <eggert@twinsun.com>
86201
86202         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
86203         input error, instead of returning NULL the next time we are called
86204         (and therefore losing track of errno).
86205
86206 2003-09-16  Bruno Haible  <bruno@clisp.org>
86207
86208         * gnulib-tool (func_create_testdir): Warn about duplicated
86209         dependencies.
86210
86211 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86212
86213         * modules/argmatch, modules/fatal, modules/obstack,
86214         modules/xalloc, modules/xgethostname: Sort dependencies by
86215         importance, not alphabetically.
86216
86217 2003-09-15  Paul Eggert  <eggert@twinsun.com>
86218
86219         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
86220         fails, so that the caller gets the proper errno.
86221
86222         * lib/readutmp.c (read_utmp): Likewise.
86223         Check for fstat error.  Close stream and free storage
86224         when failing.
86225
86226 2003-09-14  Karl Berry  <karl@gnu.org>
86227
86228         * config/srclist.txt (strdup.c): disable for c89 changes.
86229
86230 2003-09-14  Jim Meyering  <jim@meyering.net>
86231
86232         * lib/getloadavg.c: Correct cpp indentation.
86233         * lib/strdup.c: Likewise.
86234         * lib/vasnprintf.c: Likewise.
86235
86236 2003-09-14  Bruno Haible  <bruno@clisp.org>
86237
86238         * modules/fwriteerror: New file.
86239         * MODULES.html.sh (func_all_modules): Add fwriteerror.
86240
86241 2003-09-14  Bruno Haible  <bruno@clisp.org>
86242
86243         * lib/fwriteerror.h: New file.
86244         * lib/fwriteerror.c: New file.
86245
86246 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86247
86248         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
86249         modules/xgethostname, modules/xalloc: Depend on exit.
86250
86251 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86252
86253         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
86254
86255         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
86256         and AC_MINIX, too, so that their extensions are available.
86257
86258         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
86259         This macro has been superseded by gl_BACKUPFILE.
86260
86261         More patches to assume C89 or better.
86262
86263         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
86264
86265         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
86266         unconditionally.
86267         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
86268         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
86269         Include <string.h>, <stdlib.h> unconditionally.
86270         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
86271         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
86272         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
86273         headers or for string.h.
86274         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
86275         or strtoul.
86276
86277         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
86278         headers.
86279         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
86280         * m4/userspec.m4 (gl_USERSPEC): Likewise.
86281         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
86282         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
86283         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
86284         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
86285         memcpy, memset.
86286         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
86287         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
86288         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
86289         strtol.
86290         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
86291         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
86292         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
86293         strtoul.
86294
86295 2003-09-12  Paul Eggert  <eggert@twinsun.com>
86296
86297         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
86298         * lib/obstack.c [!defined _LIBC]: Likewise.
86299         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
86300         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
86301         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
86302
86303         More changes to assume C89 or better.
86304
86305         * lib/error.c (error_tail): Assume vprintf.
86306
86307         * lib/argmatch.c (getenv): Remove decl.
86308         * lib/progreloc.c (get_full_program_name): Define via prototype.
86309         * lib/setenv.c (clearenv): Likewise.
86310         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
86311         needed.
86312         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
86313         (malloc, memcpy): Remove decls.
86314         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
86315         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
86316         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86317         (memcpy): Remove macro.
86318         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
86319         (__P): Remove.  All uses removed.
86320         (PTR): Remove.  All uses changed to void *.
86321         (CHAR_BIT, NULL): Remove.
86322         (spaces, zeros, memset_space, memset_zero)
86323         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
86324         Remove.
86325         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
86326         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
86327         Define with prototype.
86328         Remove now-unnecessary prototype decl.
86329         (extra_args_spec): Assume ANSI C.  All uses changed.
86330         (extra_args_spec_iso): Remove.
86331         (my_strftime, emacs_strftimeu): Define via prototype.
86332         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
86333         unconditionally.
86334         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
86335         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
86336         (strtoul, strtol): Remove decls.
86337         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
86338         LONG_MAX): Remove.
86339         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
86340         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
86341         (LOCALE_PARAM_PROTO): New macro.
86342         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
86343         (INTERNAL (strtol), strtol): Define with a prototype.
86344         (PARAMS): Remove.  All uses removed.
86345         * lib/tempname.c: Include <string.h> unconditionally.
86346         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
86347         * lib/xgethostname.c (main): Define with a prototype.
86348         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
86349         Include <stdlib.h> unconditionally.
86350         (calloc, malloc, realloc, free): Remove decls.
86351         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
86352         Include <stdlib.h> unconditionally.  Sort include file names.
86353         (strtod): Remove.
86354         (xstrtod): Define with a prototype.
86355         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
86356         (strtol, strtoul): Remove decls.
86357
86358 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86359
86360         More patches to assume C89 or better.
86361         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
86362         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
86363         string.h, memchr, STDC_HEADERS.
86364
86365 2003-09-11  Paul Eggert  <eggert@twinsun.com>
86366
86367         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
86368         Include <stdlib.h>, <string.h> unconditionally.
86369         Remove now-unnecessary cast to char *.
86370         * lib/strnlen.c: Include <string.h> unconditionally.
86371         * lib/yesno.c (yesno): Define with a prototype.
86372
86373 2003-09-11  Bruno Haible  <bruno@clisp.org>
86374
86375         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
86376
86377 2003-09-10  Jim Meyering  <jim@meyering.net>
86378
86379         * lib/error.c: Correct indentation of cpp directives.
86380
86381 2003-09-10  Bruno Haible  <bruno@clisp.org>
86382
86383         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
86384         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
86385         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
86386         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
86387         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
86388         <stdlib.h> and <string.h> checks.
86389         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
86390         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
86391
86392 2003-09-10  Bruno Haible  <bruno@clisp.org>
86393
86394         * lib/strcspn.c: Include <string.h> unconditionally.
86395         * lib/strpbrk.c: Include <string.h> unconditionally.
86396         * lib/strstr.c: Include <string.h> unconditionally.
86397         * lib/unicodeio.c: Include <string.h> unconditionally.
86398         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
86399         * lib/unsetenv.c: Likewise.
86400         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
86401         * lib/yesno.c: Include <stdlib.h> unconditionally.
86402         (rpmatch): Add prototype.
86403
86404 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86405
86406         More patches to assume C89 or better.
86407         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
86408         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
86409         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
86410         or for string.h.
86411         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
86412         stdlib.h.
86413         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
86414         C headers.
86415         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
86416         string.h.
86417         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
86418         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
86419         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
86420         or for string.h.
86421         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
86422         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
86423         C headers.
86424         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
86425         memcpy.
86426         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
86427         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
86428         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
86429         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
86430         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
86431         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
86432         string.h, free.
86433         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
86434         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
86435         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
86436         C headers, or for string.h.
86437         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
86438         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
86439         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
86440         headers, memory.h, stdlib.h, string.h, strings.h.
86441         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86442         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86443         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86444         strchr.
86445         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86446         headers, memory.h, string.h.
86447         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86448         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86449         free.
86450         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86451         headers.
86452         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86453         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86454         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86455         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86456         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86457
86458 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86459
86460         More K&R removal.
86461
86462         * lib/acosl.c (main): Use a prototype.
86463         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86464         tanl.c: Likewise.
86465
86466         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86467
86468         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86469         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86470         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86471         with a prototype.
86472         * lib/getopt.c (const): Remove macro.
86473         Include <string.h> unconditionally.
86474         (my_index): Remove; all uses changed to strchr.
86475         (strlen): Remove decl.
86476         (exchange): Remove forward decl; no longer needed.
86477         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86478         Define with prototype.
86479         * lib/getopt1.c (const): Remove macro.
86480         (getopt_long, getopt_long_only, main): Define with prototype.
86481
86482         * lib/getugroups.c: Include <string.h> unconditionally.
86483
86484         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86485         (getusershell, setusershell, endusershell, readname, main):
86486         Define with prototypes.
86487
86488         * lib/group-member.c: Include group-member.h first.
86489         Include <stdlib.h> unconditionally.
86490
86491         * lib/hard-locale.c: Include hard-locale.h first.
86492         Include <stdlib.h>, <string.h> unconditionally.
86493
86494         * lib/hash.c (free, malloc): Remove decls.
86495         Include <stdlib.h> unconditionally.
86496
86497         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86498         (getenv): Do not declare.
86499
86500         * lib/idcache.c: Include <string.h> unconditionally.
86501
86502         * lib/long-options.c: Include long-options.h first, to test interface.
86503         Include <stdlib.h> unconditionally.
86504
86505         * lib/makepath.c: Include makepath.h first, to test interface.
86506         Include <stdlib.h> and <string.h> unconditionally.
86507
86508         * lib/linebuffer.c: Include <stdlib.h>.
86509         (free): Remove decl.
86510
86511         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86512         stddef.h. rpl_malloc returns void *, not char *.
86513         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86514         prototype.
86515
86516         * lib/md5.h: Include <limits.h> unconditionally.
86517         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86518         (__P): Remove; all uses removed.
86519         * lib/md5.c: Include "md5.h" first.
86520         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86521         md5_buffer, md5_process_bytes, md5_process_block):
86522         Define with prototypes.
86523         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86524         * lib/sha.c: Include "sha.h" first.
86525         Include <stdlib.h>, <string.h> unconditionally.
86526
86527         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86528         * lib/memcmp.c (__ptr_t): Likewise.
86529         * lib/memrchr.c (__ptr_t): Likewise.
86530         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86531         Include <string.h> unconditionally.
86532         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86533         * lib/memchr.c: Include <stdlib.h> unconditionally.
86534         * lib/memchr.c (LONG_MAX): Remove.
86535         * lib/memrchr.c (LONG_MAX): Likewise.
86536         * lib/memchr.c (__memchr): Define via a prototype.
86537         * lib/memrchr.c (__memrchr): Likewise.
86538         * lib/memcmp.c (__P): Remove, and remove all uses.
86539         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86540         Remove forward decls; no longer needed.
86541         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86542         Use types required by C89 in prototype.
86543
86544         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86545         * lib/savedir.c: Likewise.
86546         * lib/mkdir.c (free): Remove decl.
86547         * lib/rmdir.c (rmdir): Define with a prototype.
86548         * lib/savedir.c: Include savedir.h first, to test interface.
86549
86550         * lib/mktime.c (STDC_HEADERS): Remove.
86551         Include <stdlib.h>, <string.h> unconditionally.
86552
86553         * lib/modechange.c: Include <stdlib.h> unconditionally.
86554         (malloc): Remove decl.
86555
86556         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86557         (free): Remove decl.
86558
86559         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86560         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86561         (This type really should be intptr_t, but that's a C99ism.)
86562         (_obstack_memcpy): Remove: all uses changed to memcpy.
86563         Include <string.h> unconditionally.
86564         (struct obstack): Assume __STDC__ for types of members
86565         chunkfun, freefun, extra_arg.
86566         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86567         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86568         obstack_begin, obstack_specify_allocation,
86569         obstack_specify_allocation_with_arg, obstack_chunkfun,
86570         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86571         Remove unprototyped decls and the macros that use them.
86572         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86573         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86574         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86575         (defined __STDC__ && __STDC__)]:
86576         Remove nonprototyped code.
86577         Include <stdlib.h> unconditionally.
86578         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86579         _obstack_allocated_p, _obstack_free, obstack_free,
86580         _obstack_memory_used, print_and_abort):
86581         Define using prototypes.
86582         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86583         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86584         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86585         obstack_next_free, obstack_object_size, obstack_room) [0]:
86586         Remove unused, unprototyped code.
86587
86588         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86589
86590         * lib/physmem.c (physmem_total, physmem_available, main): Define
86591         with prototypes.
86592
86593         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86594         (main): Define with a prototype.
86595
86596         * lib/posixver.c (getenv): Remove decl.
86597
86598         * lib/putenv.c (malloc): Returns void *, not char *.
86599         Include <string.h> unconditionally.
86600         (strchr, memcpy, NULL): Do not define.
86601
86602         * lib/readtokens.c: Include readtokens.h first, to test interface.
86603         Include <stdlib.h>, <string.h> unconditionally.
86604         (init_tokenbuffer): Define with a prototype.
86605
86606         * lib/regex.c (PARAMS): Remove.  All uses removed.
86607         All uses of _RE_ARGS removed, too.
86608         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86609         unconditionally.
86610         (bzero): Assume memset exists.
86611         (memcmp, memcpy, NULL): Remove.
86612         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86613         char, or assignments to local vars of type signed char.
86614         (init_syntax_once, PREFIX(extract_number_and_incr),
86615         PREFIX(print_partial_compiled_pattern),
86616         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86617         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86618         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86619         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86620         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86621         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86622         wcs_compile_range, byte_compile_range, truncate_wchar,
86623         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86624         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86625         count_mbs_length, wcs_re_match_2_internal,
86626         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86627         PREFIX(alt_match_null_string_p),
86628         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86629         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86630         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86631         now-unnecessary declaration, if any.
86632         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86633         regcomp, regexec):
86634         Remove now-unnecessary casts among pointer types.
86635         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86636
86637         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86638         (free): Remove decl.
86639
86640         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86641
86642         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86643         (free): Remove decl.
86644
86645         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86646         * lib/xgetcwd.c: Likewise.
86647
86648         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86649         (free): Remove decl.
86650
86651         * lib/strchrnul.c (strchrnul): Define with a prototype.
86652         Fix bug: c_in was not converted to char before searching.
86653
86654         The following changes are not K&R related:
86655
86656         * lib/group-member.h: Include <sys/types.h>, so that this file is
86657         self-contained.
86658         * lib/makepath.h: Likewise.
86659
86660         * lib/getusershell.c (readname, default_index, line_size, readname):
86661         Use size_t, not int, for sizes.
86662         (readname): If the size overflows, report an error instead of
86663         looping forever.
86664
86665 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86666
86667         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86668         libc.
86669
86670 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86671
86672         * README: New section: portability guidelines.
86673
86674 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86675
86676         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86677         C89 spec.
86678
86679 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86680
86681         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86682
86683 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86684
86685         Assume C89 or better; remove K&R cruft.
86686         A few of these changes were first proposed by Derek Robert Price
86687         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86688
86689         * lib/addext.c: Include <string.h> unconditionally.
86690         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86691         Don't declare getenv or malloc.
86692
86693         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86694         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86695         (NULL): Remove.
86696         (find_stack_direction, alloca): Use prototypes.
86697
86698         * lib/atexit.c (atexit): Define using a prototype.
86699
86700         * lib/basename.c, dirname.c, stripslash.c:
86701         Include <string.h> unconditionally.
86702
86703         * lib/bcopy.c: Include <stddef.h>.
86704         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86705
86706         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86707
86708         * lib/error.h (error, error_at_line, error_print_progname)
86709         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86710         * lib/error.c: Include error.h first, to check interface.
86711         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86712         (VA_START): Remove; all uses changeed to va_start.
86713         (exit, strerror): Remove decls.
86714         (error_print_progname): Prototype uncondionally.
86715         Don't include <errno.h>; no longer needed.
86716         (private_strerror): Remove.
86717         (error_tail): Always define.
86718         (error, error_at_line): Assume C89 or better; always use prototypes.
86719         * lib/fatal.c: Include "fatal.h" first, to test interface.
86720         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86721         (VA_START): Remove; all uses changed to va_start.
86722         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86723         this case.
86724         (exit): Remove decl.
86725         (fatal): Prototype unconditionally.  Assume va_start works.
86726         Abort at end, to pacify gcc.
86727
86728         * lib/euidaccess.c (main): Define with a prototype.
86729
86730         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86731
86732         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86733
86734         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86735         prototypes.
86736         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86737         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86738         (getenv): Remove decl.
86739         (fnmatch): Define using a prototype.
86740         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86741         (FCT): Define using a prototype.
86742
86743         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86744
86745         * lib/gethostname.c: Include <stddef.h>.
86746         (gethostname): Define with prototype.  Length is size_t, not int.
86747
86748 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86749
86750         Assume C89 or better; remove K&R cruft.
86751         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86752         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86753         string.h, getenv, malloc.
86754         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86755         headers.
86756         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86757         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86758         do not check for strerror.
86759         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86760         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86761         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86762         do not check for doprnt or vprintf.
86763         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86764         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86765
86766 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86767
86768         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86769         getversion.c should have been removed then, but was accidentally
86770         preserved.
86771
86772         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86773         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86774
86775 2003-09-08  Karl Berry  <karl@gnu.org>
86776
86777         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86778                 config, forget about prep.
86779
86780         * config/depcomp, missing: update from automake.
86781
86782 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86783
86784         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86785         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86786
86787 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86788
86789         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86790         copy_tm_result.  Bug reported by Simon Josefsson in
86791         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86792
86793 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86794
86795         * m4/time_r.m4: New file.
86796         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86797         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86798         is. Check for timegm declaration.
86799         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86800         Do not check for gmtime_r.
86801         Replace mktime if __mktime_internal does not exist and if mktime
86802         hasn't been replaced already.
86803
86804 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86805
86806         * lib/time_r.c, lib/time_r.h: New files.
86807
86808         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86809         __localtime_r.
86810         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86811         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86812
86813         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86814         __gmtime_r.
86815         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86816         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86817         Include <time_r.h>.
86818
86819         * lib/timegm.c: Switch to glibc implementation, with the following
86820         changes:
86821         [defined HAVE_CONFIG_H]: Include <config.h>.
86822         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86823         (__mktime_internal) [!defined _LIBC]: New decl.
86824         (__gmtime_r) [!defined _LIBC]: New macro and function.
86825         (timegm): Use a prototype, since gnulib assumes C89.
86826         Do not bother declaring tmp to be const, as it's not really usefu.
86827         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86828         (timegm): Declare only if HAVE_DECL_TIMEGM.
86829
86830 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86831
86832         * MODULES.html.sh (func_all_modules): Add time_r.
86833         * modules/time_r: New file.
86834         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86835         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86836
86837 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86838
86839         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86840         Bug reported by Lute Kamstra in
86841         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86842
86843         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86844         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86845         course with correspondingly smaller numbers for tomorrow and
86846         yesterday.  From Tadayoshi Funaba.  Originally installed into
86847         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86848         coreutils merge?).
86849
86850 2003-08-31  Simon Josefsson  <jas@extundo.com>
86851
86852         * modules/timegm: New file.
86853         * MODULES.html.sh (func_all_modules): Add timegm.
86854
86855 2003-08-31  Simon Josefsson  <jas@extundo.com>
86856
86857         * m4/timegm.m4: New file.
86858
86859 2003-08-31  Simon Josefsson  <jas@extundo.com>
86860
86861         * lib/timegm.h: New file.
86862         * lib/timegm.c: New file.  Based on
86863         wget-1.8.2/src/http.c:mktime_from_utc.
86864
86865 2003-08-31  Karl Berry  <karl@gnu.org>
86866
86867         * lib/argp.h: update from libc.
86868
86869 2003-08-28  Bruno Haible  <bruno@clisp.org>
86870
86871         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86872         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86873         followed by '#define fnmatch fnmatch_posix' gives an error.
86874
86875 2003-08-28  Bruno Haible  <bruno@clisp.org>
86876
86877         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86878         warning on QNX, which defines O_BINARY to 000000.
86879
86880 2003-08-27  Jim Meyering  <jim@meyering.net>
86881
86882         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86883         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86884         would fail after 32.  Reported by Danny Levinson.  Details here:
86885         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86886
86887 2003-08-24  Bruno Haible  <bruno@clisp.org>
86888
86889         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86890         MSVC7 <stdio.h> is included later.
86891
86892 2003-08-22  Simon Josefsson  <jas@extundo.com>
86893
86894         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86895
86896 2003-08-20  Karl Berry  <karl@gnu.org>
86897
86898         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86899
86900 2003-08-20  Bruno Haible  <bruno@clisp.org>
86901
86902         * modules/progname: New file.
86903         * MODULES.html.sh (func_all_modules): Add progname.
86904
86905 2003-08-20  Bruno Haible  <bruno@clisp.org>
86906
86907         * lib/progname.h: New file, from GNU gettext.
86908         * lib/progname.c: New file, from GNU gettext.
86909         * lib/progreloc.c: New file, from GNU gettext.
86910
86911 2003-08-19  Jim Meyering  <jim@meyering.net>
86912
86913         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86914         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86915
86916 2003-08-19  Bruno Haible  <bruno@clisp.org>
86917
86918         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86919         more.
86920
86921 2003-08-19  Bruno Haible  <bruno@clisp.org>
86922
86923         * lib/xstrdup.c: Assume <string.h> exists.
86924
86925 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86926
86927         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86928         in makefile rules.
86929
86930 2003-08-18  Jim Meyering  <jim@meyering.net>
86931
86932         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86933         * m4/lib-ld.m4: Likewise.
86934
86935 2003-08-18  Jim Meyering  <jim@meyering.net>
86936
86937         * lib/setenv.h: Indent nested cpp directive.
86938         * lib/vasnprintf.c: Remove trailing blanks.
86939
86940 2003-08-17  Simon Josefsson  <jas@extundo.com>
86941
86942         * modules/xstrndup: New file.
86943         * MODULES.html.sh (func_all_modules): Add xstrndup.
86944
86945 2003-08-17  Simon Josefsson  <jas@extundo.com>
86946
86947         * modules/argp: Fix autoconf macro name. Add more dependencies.
86948
86949 2003-08-17  Simon Josefsson  <jas@extundo.com>
86950
86951         * m4/xstrndup.m4: New file.
86952
86953 2003-08-17  Simon Josefsson  <jas@extundo.com>
86954
86955         * m4/argp.m4: New file.
86956
86957 2003-08-17  Simon Josefsson  <jas@extundo.com>
86958             Bruno Haible  <bruno@clisp.org>
86959
86960         * lib/xstrndup.h: New file.
86961         * lib/xstrndup.c: New file.
86962
86963 2003-08-17  Bruno Haible  <bruno@clisp.org>
86964
86965         * modules/strndup (Files, Include): Add lib/strndup.h.
86966
86967 2003-08-17  Bruno Haible  <bruno@clisp.org>
86968
86969         * modules/euidaccess (Files): Add lib/euidaccess.h.
86970
86971 2003-08-17  Bruno Haible  <bruno@clisp.org>
86972
86973         * lib/strndup.h: New file.
86974
86975 2003-08-17  Bruno Haible  <bruno@clisp.org>
86976
86977         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86978         like AC_GNU_SOURCE.
86979         * modules/extensions (configure.ac): Comment out the invocation of
86980         gl_USE_SYSTEM_EXTENSIONS.
86981
86982 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86983
86984         Merges from coreutils, etc.
86985         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86986         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86987         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86988         fixing a typo.
86989         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86990         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86991
86992 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86993
86994         Document merge from coreutils.
86995         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86996         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86997         * modules/utime: Add m4/utimes-null.m4.
86998
86999 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87000
87001         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
87002         space, undoing this 2003-08-12 change:
87003         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87004
87005 2003-08-16  Paul Eggert  <eggert@twinsun.com>
87006
87007         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
87008         strtoul.c from libc, undoing this 2003-08-12 change:
87009         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
87010
87011 2003-08-16  Jim Meyering  <jim@meyering.net>
87012
87013         Merges from coreutils.
87014         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
87015         prefix.  Adjust cache variables similarly.  Create 500 rather than
87016         just 300 files, to exercise bug on Darwin6.5, too.
87017         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
87018         $missing_dir.
87019         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
87020         AM_SYS_POSIX_TERMIOS.
87021         Reported by mkc@mathdogs.com.
87022         Also change use of $am_cv_sys_posix_termios
87023         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
87024         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
87025         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
87026         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
87027         in /proc/mounts until it finds one with matching device number.  This
87028         is unnecessary when the FILE argument *is* a mount point.  No stat call
87029         is necessary in that case.  So, disable the statvfs-testing code on
87030         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
87031         as RedHat bug# 84846.
87032         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87033         to 1MB, so as not to render systems with no stack size limit (e.g.,
87034         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87035         Include <unistd.h>.  On some systems,
87036         it is required for the definition of _SC_PAGESIZE.
87037
87038 2003-08-16  Jim Meyering  <jim@meyering.net>
87039
87040         Merge from coreutils.
87041         * lib/xstrtoimax.c: #else #if -> #elif.
87042         * lib/xstrtoumax.c: Likewise.
87043
87044 2003-08-16  Jim Meyering  <jim@meyering.net>
87045
87046         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
87047         * m4/utimes.m4: Removed.
87048         * m4/utimes-null.m4: Renamed from utimes.m4.
87049
87050         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
87051         to 1MB, so as not to render systems with no stack size limit (e.g.,
87052         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
87053         Include <unistd.h>.  On some systems,
87054         it is required for the definition of _SC_PAGESIZE.
87055
87056 2003-08-16  Jim Meyering  <jim@meyering.net>
87057         and Paul Eggert  <eggert@cs.ucla.edu>
87058
87059         Merges from coreutils, etc.
87060
87061         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
87062         using the latest version from cvs.  This avoids problems with #line
87063         directives using a vendor (Sun) compiler.
87064         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
87065         Don't set GETGROUPS_LIB here; now it's
87066         done via getgroups.m4's wrapper function.
87067         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
87068         rather than just in sh-util/configure.in, so that the
87069         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
87070         same.
87071         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
87072         AC_FUNC_GETLOADAVG where to find getloadavg.c.
87073         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
87074         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
87075         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
87076         Remove code that is now done by the newly-required macros.
87077         Append $(EXEEXT) to DF_PROG.
87078         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
87079         Do not invoke or require the following here,
87080         since prereq.m4 or some gnulib .m4 now does this for us:
87081         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
87082         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
87083         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
87084         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
87085         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
87086         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
87087         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
87088         AC_FUNC_OBSTACK.
87089         Do not replace the following functions, as this is now the job
87090         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
87091         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
87092         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
87093         atexit getpass, strdup, getpagesize.
87094         Replace 'raise'.
87095         Do not check for the following functions, as this is now the job
87096         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
87097         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
87098         setregid.
87099         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
87100         Check for sys/sysctl.h.
87101         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
87102         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
87103         of checking for ssize_t ourselves.
87104
87105         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
87106         Require every macro that gnulib/modules/* suggests for us.
87107         (jm_PREREQ_ADDEXT): New macro.
87108         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
87109         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
87110
87111         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
87112         (gl_PHYSMEM): Use it.
87113         Also check for `table' function.
87114         Check for new headers and functions.
87115         Add check for sys/sysmp.h.
87116         With suggestions from Kaveh Ghazi.
87117         Ignore headers that are present but cannot be compiled.  This
87118         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
87119         C 5.4.
87120
87121 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87122
87123         Document merge from coreutils.
87124         * modules/userspec: Depend on posixver.
87125         * modules/strftime: Depend on tzset.
87126
87127 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87128
87129         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
87130         rather than tab, after '#' in shell-script copyright notices.
87131         Suggested by Bruno Haible.
87132
87133 2003-08-15  Paul Eggert  <eggert@twinsun.com>
87134
87135         * config/srclist-update: Use three spaces, rather than tab, after '#'
87136         in shell-script copyright notices.  Suggested by Bruno Haible.
87137         Remove unnecessary parenthesization in regular expression.
87138
87139 2003-08-15  Jim Meyering  <jim@meyering.net>
87140
87141         Merge from coreutils.
87142         * lib/xgethostname.c: Include <stdlib.h>.
87143         (xghostname): Don't exit for anything other than memory-related
87144         failure; just return NULL.
87145         * lib/userspec.c: Include "posixver.h".
87146         (parse_user_spec): Accept `.' as a separator only
87147         in pre-POSIX-200112 mode.
87148         * lib/strtoimax.c: Use #elif rather than #else #if.
87149         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
87150         Remove function, now that we can rely on a working tzset function.
87151         [!_LIBC]: Ensure that the required autoconf test has been run.
87152         [!defined _NL_CURRENT && HAVE_STRFTIME]:
87153         Use underlying_strftime for %r.
87154         * lib/sha.c: Merge in some clean-up and optimization changes from
87155         glibc.
87156         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
87157         Ensure that it is a multiple of 64.
87158         Rearrange loop exit tests so as to avoid performing an
87159         additional fread after encountering an error or EOF.
87160         * lib/realloc.c: Update copyright date.
87161
87162 2003-08-15  Jim Meyering  <jim@meyering.net>
87163         and Paul Eggert  <eggert@twinsun.com>
87164
87165         Merge from coreutils.
87166         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
87167         member but strut utmpx does not.  Needed for AIX 4.3.3.
87168         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
87169
87170 2003-08-15  Jim Meyering  <jim@meyering.net>
87171         and Paul Eggert  <eggert@cs.ucla.edu>
87172
87173         Merges from coreutils, etc.
87174         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
87175         Require gl_FUNC_TZSET_CLOBBER.
87176         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
87177         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
87178         members.
87179
87180 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87181
87182         Help the merge from coreutils.
87183         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
87184         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
87185         * m4/tzset.m4: Use it too.
87186
87187 2003-08-14  Paul Eggert  <eggert@twinsun.com>
87188
87189         * modules/tzset: New file.
87190
87191 2003-08-14  Jim Meyering  <jim@meyering.net>
87192
87193         Merges from coreutils.
87194         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
87195         variable names, rather than @FNMATCH_H@.
87196         * modules/alloca: Likewise for $(ALLOCA_H).
87197
87198         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
87199         the three copies of the literal target, `fnmatch.h'.
87200         * modules/alloca (alloca.h): Likewise.
87201
87202 2003-08-14  Jim Meyering  <jim@meyering.net>
87203
87204         Merge from coreutils.
87205         * m4/tzset.m4: New file.
87206         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
87207         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
87208         otherwise, AIX 5.1 systems would end up using the latter.
87209         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
87210         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
87211         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
87212         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
87213
87214 2003-08-14  Jim Meyering  <jim@meyering.net>
87215
87216         Merge from coreutils.
87217         * lib/obstack.h: Whitespace changes.
87218         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
87219         and xcalloc return values.
87220         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
87221         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
87222         hang on OSF/1 5.1 for DIR on both local and remote file systems.
87223         Reported by (and fix confirmed by) Nelson H. F. Beebe.
87224         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87225         error from mntctl.
87226         Use mntctl's return value to drive the entry-processing loop, since
87227         we can't rely on the value of the vmt_length member in the last
87228         entry.  On some systems doing so could result in exhausting
87229         virtual memory.  Based in part on a patch from Mike Jetzer.
87230
87231 2003-08-14  Jim Meyering  <jim@meyering.net>
87232         and Paul Eggert  <eggert@twinsun.com>
87233
87234         Merges from coreutils, plus other fixes.
87235         * lib/physmem.c: Merge in portability changes from gcc/libiberty
87236         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
87237         for credits and details.  Thanks to Kaveh Ghazi for helping
87238         to keep these files in sync.
87239         (ARRAY_SIZE): Define it.
87240         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
87241         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
87242         (memcasecmp): Don't assume size_t fits in unsigned int.
87243         Remove casts and duplicate code.
87244         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
87245         (memcpy): Remove definition.
87246         Merge in some clean-up and optimization changes from glibc.
87247         [BLOCKSIZE]: Move definition to top of file.
87248         Ensure that it is a multiple of 64.
87249         Rearrange loop exit tests so as to avoid performing an
87250         additional fread after encountering an error or EOF.
87251         * lib/md5.h (md5_uintptr): Define.
87252         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
87253         return to the initial working directory.  Preserve errno
87254         for caller.
87255         * lib/idcache.c: Include "xalloc.h".
87256         (xmalloc, xrealloc): Remove decls.
87257         (getuser): Remove casts no longer required in C89.
87258         * lib/human.c: Include stdio.h, for sprintf.
87259         * lib/group-member.c: Include "xalloc.h".
87260         (xmalloc, xrealloc): Remove decls.
87261         (get_group_info): Remove casts no longer required in C89.
87262         * lib/getusershell.c (readname): Remove casts no longer required in
87263         C89.
87264         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
87265         * lib/getline.c: Whitespace fix, from coreutils.
87266
87267 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87268
87269         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
87270         Check for isascii.
87271
87272         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87273         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87274         Undo previous (whitespace-only) change.
87275
87276 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87277
87278         * lib/exclude.c: Include <ctype.h>
87279         (IN_CTYPE_DOMAIN): New macro.
87280         (is_space): New fn.
87281         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
87282         and empty lines.
87283
87284         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87285         Undo previous (whitespace-only) change.
87286
87287 2003-08-13  Paul Eggert  <eggert@twinsun.com>
87288
87289         * config/srclist-update: Change update back to the old behavior,
87290         leaving whitespace alone.  Use one 'sed' command rather than a
87291         pipeline.
87292         (fixlicense): Now a variable, not a function.
87293         (remove_trailing_blanks): Remove.
87294         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
87295         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87296         Undo previous (whitespace-only) change.
87297
87298 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87299
87300         Merge from coreutils.
87301         * modules/euidaccess: Add lib_SOURCES, include for new
87302         file euidaccess.h
87303
87304 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87305
87306         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
87307         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
87308         Normalize leading white space and remove trailing white space.
87309
87310         Merge from coreutils
87311         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
87312
87313         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
87314         0.12.1.  These files are now being upgraded automatically by
87315         ../config/srclist-update.
87316
87317 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87318
87319         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
87320         Normalize leading white space and remove trailing white space.
87321         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
87322         notice, as per ../config/srclist-update.
87323
87324         Merge from coreutils.
87325         * lib/euidaccess.h: New file.
87326         * lib/euidaccess.c: Include it.
87327         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
87328         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
87329         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
87330
87331 2003-08-12  Paul Eggert  <eggert@twinsun.com>
87332
87333         * config/srclist-update: Add copyright notice.
87334         (remove_id_lines, remove_trailing_blanks): New constants.
87335         (fixfile): Use them to normalize spacing a bit in copied files.
87336         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
87337         Normalize leading white space and remove trailing white space.
87338
87339         * config/texinfo.tex: Sync with texinfo.
87340
87341         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
87342         strtoul.c from libc, to merge coreutils whitespace changes.
87343
87344         * config/srclist.txt: Get the following m4 files from gettext:
87345         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
87346         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
87347         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
87348         wint_t.m4.
87349
87350 2003-08-12  Karl Berry  <karl@gnu.org>
87351
87352         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
87353         been made.
87354
87355 2003-08-11  Paul Eggert  <eggert@twinsun.com>
87356
87357         * modules/gnu-source, m4/gnu-source.m4:
87358         Remove; we're assuming Autoconf 2.54 or later now.
87359         Suggested by Bruno Haible.
87360         * MODULES.html.sh (func_all_modules): Remove gnu-source.
87361
87362 2003-08-11  Bruno Haible  <bruno@clisp.org>
87363
87364         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
87365
87366 2003-08-11  Bruno Haible  <bruno@clisp.org>
87367
87368         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
87369         (vasnprintf): Use it instead of wcslen.
87370
87371 2003-08-11  Bruno Haible  <bruno@clisp.org>
87372
87373         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
87374         value to ensure that _Bool promotes to int. Use #define for _Bool when
87375         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
87376
87377 2003-08-10  Karl Berry  <karl@gnu.org>
87378
87379         * lib/regex.h: update from libc (whitespace fix).
87380
87381 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87382
87383         Merge some files from coreutils.  These changes were
87384         originally made by Jim Meyering.
87385         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
87386         many older Unixes require this.
87387         * lib/alloca.c (alloca): Remove cast to argument of free;
87388         no longer needed in C89.
87389         * lib/alloca_.h, regex.h: Fix white space to match
87390         what GNU indent does.
87391
87392 2003-08-09  Paul Eggert  <eggert@twinsun.com>
87393
87394         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
87395         apparently Emacs's Unicode mode got confused before my 2003-08-05
87396         checkin.
87397
87398 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87399
87400         * m4/extensions.m4: New file.
87401         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
87402         Require gl_USE_SYSTEM_EXTENSIONS.
87403         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
87404         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
87405
87406 2003-08-08  Paul Eggert  <eggert@twinsun.com>
87407
87408         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
87409         * modules/extensions, modules/gnu-source: New files.
87410         * modules/timespec, modules/unlocked-io: Depend on extensions.
87411
87412 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87413
87414         * modules/restrict: New file.
87415         * MODULES.html.sh (func_all_modules): Add restrict.
87416         * modules/regex: Depend on restrict.
87417
87418 2003-08-07  Paul Eggert  <eggert@twinsun.com>
87419
87420         * m4/restrict.m4: New file.
87421         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
87422
87423 2003-08-07  Bruno Haible  <bruno@clisp.org>
87424
87425         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
87426         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
87427
87428 2003-08-07  Bruno Haible  <bruno@clisp.org>
87429
87430         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
87431         makes the module 'getndelim2' compatible with the module 'getline'.
87432
87433 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87434
87435         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
87436         byte with "\201" to avoid glitches when editing that source file
87437         with multi-gnome-terminal.
87438
87439 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87440
87441         * lib/bumpalloc.h: Remove.
87442
87443 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87444
87445         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87446         * modules/bumpalloc: Remove.
87447
87448 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87449
87450         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87451         GNU coding style.
87452
87453         Merge from coreutils.
87454         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87455         1. From glibc.
87456         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87457         from Karl Berry, implemented by Jim Meyering.
87458         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87459         from Dmitry V. Levin.
87460         Remove anachronistic cast of xrealloc.
87461         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87462         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87463         type. Otherwise, it wouldn't compile with at least /bin/cc on
87464         ymp-cray-unicos9.0.2.X.
87465         Combine two mostly-identical uses of alloca into one.
87466         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87467
87468 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87469
87470         [From Emacs.]
87471
87472         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87473         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87474         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87475         obsolete NLIST_NAME_UNION.
87476         [__GNU__]: Undef BSD and FSCALE.
87477         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87478
87479 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87480
87481         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87482         an enum type, so that it's guaranteed to promote to int.  See:
87483         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87484
87485 2003-08-03  Karl Berry  <karl@gnu.org>
87486
87487         * config/depcomp: update from automake.
87488
87489 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87490
87491         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87492         (strerror): Don't assume that a printable int fits in 14 bytes.
87493
87494 2003-07-31  Bruno Haible  <bruno@clisp.org>
87495
87496         * modules/getpass-gnu: New file.
87497         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87498
87499 2003-07-31  Bruno Haible  <bruno@clisp.org>
87500
87501         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87502
87503 2003-07-24  Karl Berry  <karl@gnu.org>
87504
87505         * config/missing: update from automake.
87506
87507 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87508             Bruno Haible  <bruno@clisp.org>
87509
87510         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87511         * lib/getline.c (getline, getdelim): Likewise.
87512         Remove _GNU_SOURCE define; now it's defined in config.h through
87513         m4/getline.m4.
87514
87515 2003-07-23  Karl Berry  <karl@gnu.org>
87516
87517         * config/config.sub: update from prep.
87518
87519 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87520
87521         * modules/xalloc (Depends-on): Add exitfail.
87522         * modules/xmemcoll: Likewise.
87523
87524 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87525
87526         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87527         over-parenthesization in macros.
87528
87529         Sync with coreutils.
87530
87531         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87532         required by C99.
87533
87534         Use `exit_failure' for xalloc and xmemcoll instead of their own
87535         private exit-failure variables.
87536         * lib/xalloc.h (xalloc_exit_failure): Remove.
87537         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87538         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87539         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87540         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87541         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87542
87543 2003-07-20  Jim Meyering  <jim@meyering.net>
87544
87545         * modules/closeout (Depends-on): Add exitfail.
87546         Suggestion from Bruno Haible.
87547
87548 2003-07-19  Karl Berry  <karl@gnu.org>
87549
87550         * config/config.sub: update from prep.
87551
87552 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87553
87554         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87555         Remove.
87556         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87557         to test that it can stand by itself.  Include "exitfail.h".
87558         Clients should set exit_failure instead.
87559         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87560
87561 2003-07-18  Bruno Haible  <bruno@clisp.org>
87562
87563         * modules/getndelim2: New file.
87564         * modules/getline: Share files with module getndelim2.
87565         * modules/getnline: Depend on getndelim2 instead of sharing files with
87566         it. Add getnline.c to lib_SOURCES.
87567         * MODULES.html.sh (func_all_modules): Add getndelim2.
87568
87569 2003-07-18  Bruno Haible  <bruno@clisp.org>
87570
87571         * m4/getndelim2.m4: New file.
87572         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87573         invoke gl_PREREQ_GETNDELIM2.
87574         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87575         gl_PREREQ_GETNDELIM2.
87576         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87577         gl_GETNDELIM2.
87578
87579 2003-07-18  Bruno Haible  <bruno@clisp.org>
87580
87581         * lib/getndelim2.h: New file.
87582         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87583         getndelim2.h.
87584         (getndelim2): Make non-static. Change return type to ssize_t.
87585         * lib/getline.h: Change argument names.
87586         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87587         * lib/getnline.c: Include getndelim2.h.
87588
87589 2003-07-18  Andreas Schwab  <schwab@suse.de>
87590
87591         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87592
87593 2003-07-17  Karl Berry  <karl@gnu.org>
87594
87595         * config/config.sub: update from prep.
87596
87597 2003-07-17  Bruno Haible  <bruno@clisp.org>
87598
87599         * modules/getnline: New file.
87600         * modules/getline: Add lib/getndelim2.c to source file list.
87601         * MODULES.html.sh (func_all_modules): Add getnline.
87602
87603 2003-07-17  Bruno Haible  <bruno@clisp.org>
87604
87605         * m4/getnline.m4: New file.
87606
87607 2003-07-17  Bruno Haible  <bruno@clisp.org>
87608
87609         * m4/Makefile.am.in: Remove file.
87610         * m4/Makefile.am: Remove file.
87611         * m4/Makefile.in: Remove file.
87612
87613 2003-07-17  Bruno Haible  <bruno@clisp.org>
87614
87615         * lib/getnline.h: New file.
87616         * lib/getnline.c: New file.
87617         * lib/getndelim2.c: New file, extracted from getline.c.
87618         (getndelim2): Renamed from getdelim2, with added nmax argument.
87619         * lib/getline.c: Include getndelim2.c.
87620         (getdelim2): Moved out to getndelim2.c.
87621         (getline, getdelim): Update.
87622
87623 2003-07-17  Bruno Haible  <bruno@clisp.org>
87624
87625         * lib/Makefile.am: Remove file.
87626         * lib/Makefile.in: Remove file.
87627
87628 2003-07-17  Bruno Haible  <bruno@clisp.org>
87629
87630         * configure.in: Remove file.
87631         * Makefile.in: Remove file.
87632
87633 2003-07-17  Bruno Haible  <bruno@clisp.org>
87634
87635         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87636
87637 2003-07-16  Karl Berry  <karl@gnu.org>
87638
87639         * config/srclist-update: was running fixlicense twice, which caused
87640                 texinfo.tex to be nullified for some reason.  Simplify,
87641                 $gplsrc is no longer needed as far as I can see?
87642
87643 2003-07-16  Jim Meyering  <jim@meyering.net>
87644
87645         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87646
87647 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87648
87649         * config/srclist.txt: Get the following files from gettext-runtime/intl
87650         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87651         ref-del.sin.  From Bruno Haible.
87652         * config/srclist-update (fixfile): Change grep pattern again, since the
87653         previous fix didn't work (there was another trailing $).  Use
87654         '[$]' to escape the $s.
87655
87656 2003-07-15  Karl Berry  <karl@gnu.org>
87657
87658         * lib/vasnprintf.c: update from gettext.
87659
87660 2003-07-15  Karl Berry  <karl@gnu.org>
87661
87662         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87663         gets expanded when surrounded by '$'.
87664
87665 2003-07-15  Jim Meyering  <jim@meyering.net>
87666
87667         * modules/save-cwd: Don't depend on error.  From Derek Price.
87668
87669 2003-07-15  Jim Meyering  <jim@meyering.net>
87670
87671         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87672
87673 2003-07-14  Simon Josefsson  <jas@extundo.com>
87674
87675         * modules/mempcpy: New file.
87676         * MODULES.html.sh (func_all_modules): Add mempcpy.
87677
87678 2003-07-14  Simon Josefsson  <jas@extundo.com>
87679
87680         * m4/mempcpy.m4: New file.
87681
87682 2003-07-14  Simon Josefsson  <jas@extundo.com>
87683
87684         * lib/mempcpy.h: New file.
87685         * lib/mempcpy.c: New file.
87686
87687 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87688
87689         * modules/getdate, modules/posixtm: Depend on mktime.
87690
87691 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87692
87693         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87694         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87695         unicodeio.c, unicodeio.h, unlocked-io.h:
87696         Switch from LGPL to GPL.
87697
87698 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87699
87700         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87701         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87702         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87703         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87704         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87705         updated automatically by ../config/srclist-update.  This changes
87706         their license from LPGL to GPL.
87707
87708 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87709
87710         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87711         assumed to refer to the root of the most recent stable gettext version.
87712         * config/srclistvars.sh: Add defaults for eggert.
87713         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87714         Match "This program" as well as "The program".  This is needed
87715         for gettext.
87716
87717 2003-07-14  Jim Meyering  <jim@meyering.net>
87718
87719         Don't emit diagnostics.  Let callers do that.
87720         * lib/save-cwd.c: Don't include "error.h".
87721         (save_cwd): Don't call error.  Ensure that errno is valid
87722         when returning nonzero.
87723
87724         * lib/save-cwd.h (restore_cwd): Update prototype.
87725         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87726         Simplify.  Don't call error upon failure.  Let callers do that.
87727         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87728         when auditing is enabled.  But don't bother updating the #if.
87729
87730 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87731
87732         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87733         it breaks C++ compilation.
87734         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87735
87736 2003-07-10  Simon Josefsson  <jas@extundo.com>
87737
87738         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87739
87740 2003-07-10  Jim Meyering  <jim@meyering.net>
87741
87742         * m4/clock_time.m4: Remove trailing blank.
87743         * m4/intmax_t.m4: Likewise.
87744
87745 2003-07-10  Jim Meyering  <jim@meyering.net>
87746
87747         * lib/vasnprintf.c: Remove trailing blanks.
87748         Make cpp indentation consistent.
87749
87750 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87751
87752         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87753         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87754         Switch from LGPL to GPL.
87755
87756 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87757
87758         * config/srclist.txt: Sort sublists.  Add
87759         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87760         that differ from gnulib for one reason or another; we'd like this list
87761         to be smaller but for now let's document what we have.
87762
87763 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87764
87765         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87766         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87767         and sweeter "eval x=$x".
87768         * config/srclist.txt: Get lib/argp* from glibc.
87769
87770 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87771
87772         * lib/mktime.c: Fix some boundary cases and remove need for floating
87773         point.
87774
87775         Issue a compile-time diagnostic if time_t is floating point, or if
87776         two's complement arithmetic is not in effect, or if arithmetic
87777         right shift does not propagate the sign.  These assumptions were
87778         all in the original code but they weren't checked.
87779
87780         (TIME_T_MIDPOINT, verify): New macros.
87781         (__isleap): Remove; it has integer overflow problems.
87782         (leapyear): New function, without those problems.
87783         (ydhms_tm_diff): Remove; splitting into two parts.
87784         (ydhms_diff): New function, containing the arithmetic part of
87785         the old ydhms_tm_diff function.  Issue a compile-time
87786         diagnostic if we are not using C99 integer division.
87787         Avoid casts when possible.
87788         (guess_time_tm): New function, containing the checking part of
87789         the old ydhms_tm_diff function.  Return the new value, rather than
87790         the difference between it and the old.  Accept a new argument T
87791         so that *T specifies the old value.  Check for overflow in the result.
87792
87793         (__mktime_internal): Use a time_t offset, not a long int offset.
87794         This undoes the 2003-06-04 change, which is no longer needed now
87795         that we have better overflow checking.
87796         (localtime_offset): Likewise.
87797
87798         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87799         and long are 64-bit but int is only 32-bit.
87800         (ydhms_diff): Use long int to store year1 and yday1.
87801         Issue a compile-time diagnostic if long int is not wide enough.
87802
87803         (__mktime_internal): Use long int to store adjusted year and yday.
87804         Use plain C rather than preprocessor commands, if that doesn't
87805         affect efficiency.
87806         Check for overflow (and try to repair) after each probe
87807         rather than checking only at the very end.  This avoids some bugs
87808         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87809         does not equal GMT offset at maximum time).
87810         Use integer to check for overflow rather than floating point; this
87811         is more portable to non-IEEE hosts, and is a tad faster.
87812         When we detect that we are oscillating between two values,
87813         don't check whether tm_isdst has the requested value, since
87814         we already know the answer.  When tm_isdst has the wrong value,
87815         use a different heuristic to find the right one, based on the
87816         extreme values actually observed in practice in tz2003a,
87817         rather than the (overly optimistic) "previous 3 calendar quarters".
87818
87819         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87820         "T const" to accommodate glibc style.
87821         (check_result): Use less-confusing report format.  "long" -> "long int.
87822         (main): Likewise.
87823         Don't loop if the iteration overflows time_t.
87824         Allow a negative step in the iteration.
87825
87826 2003-07-06  Karl Berry  <karl@gnu.org>
87827
87828         * config/depcomp: update from automake.
87829         * config/config.sub: update from prep.
87830
87831 2003-07-03  Karl Berry  <karl@gnu.org>
87832
87833         * config/config.guess: update from prep.
87834
87835 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87836
87837         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87838         xreadlink.c now includes it unconditionally.
87839
87840 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87841
87842         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87843         having it depend on HAVE_SYS_TYPES_H.
87844
87845 2003-07-01  Bruno Haible  <bruno@clisp.org>
87846
87847         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87848         <sys/types.h> should be sufficient.
87849         Reported by Paul Eggert.
87850
87851 2003-06-26  Karl Berry  <karl@gnu.org>
87852
87853         * config/depcomp: update from automake.
87854
87855 2003-06-26  Bruno Haible  <bruno@clisp.org>
87856
87857         * modules/human: Depend on module stdbool.
87858
87859 2003-06-25  Bruno Haible  <bruno@clisp.org>
87860
87861         * modules/readlink: New file.
87862         * modules/xreadlink: Depend on it.
87863         * MODULES.html.sh (func_all_modules): Add readlink.
87864
87865 2003-06-25  Bruno Haible  <bruno@clisp.org>
87866
87867         * m4/readlink.m4: New file.
87868
87869 2003-06-25  Bruno Haible  <bruno@clisp.org>
87870
87871         * lib/readlink.c: New file.
87872
87873 2003-06-22  Karl Berry  <karl@gnu.org>
87874
87875         * config/srclist.txt: update mkinstalldirs from automake.
87876         * config/mkinstalldirs: update.
87877
87878 2003-06-22  Bruno Haible  <bruno@clisp.org>
87879
87880         Portability to mingw32.
87881         * m4/ssize_t.m4: New file, from GNU gettext.
87882         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87883         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87884
87885 2003-06-22  Bruno Haible  <bruno@clisp.org>
87886
87887         * modules/safe-read: Add m4/ssize_t.m4.
87888         * modules/xreadlink: Add m4/ssize_t.m4.
87889
87890 2003-06-20  Bruno Haible  <bruno@clisp.org>
87891
87892         Assume C89, so PARAMS isn't needed.
87893         * lib/unicodeio.h (PARAMS): Remove.
87894         * lib/unicodeio.c: Don't use PARAMS.
87895
87896 2003-06-18  Karl Berry  <karl@gnu.org>
87897
87898         * config/config.{guess,sub}: update from prep.
87899
87900 2003-06-18  Jim Meyering  <jim@meyering.net>
87901
87902         Merge changes from coreutils.
87903         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87904         Remove explicit declarations of xmalloc and realloc.
87905         Include xalloc.h.
87906         (read_utmp): Remove anachronistic cast of xmalloc.
87907
87908 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87909
87910         Assume C89, so PARAMS isn't needed.
87911         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87912         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87913         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87914         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87915         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87916         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87917         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87918         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87919         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87920         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87921         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87922         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87923         no longer needed. Anyway, config.h should always be included before any
87924         other file.
87925
87926 2003-06-11  Simon Josefsson  <jas@extundo.com>
87927
87928         * modules/sysexits: New file.
87929         * MODULES.html.sh (func_all_modules): Add sysexits.
87930
87931 2003-06-11  Simon Josefsson  <jas@extundo.com>
87932
87933         * lib/sysexit_.h: New file.
87934
87935 2003-06-11  Derek Price  <derek@ximbiot.com>
87936
87937         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87938         necessary.
87939
87940 2003-06-11  Bruno Haible  <bruno@clisp.org>
87941
87942         * m4/sysexits.m4: New file.
87943
87944 2003-06-10  Simon Josefsson  <jas@extundo.com>
87945
87946         * lib/argp.h: New file, from glibc.
87947         * lib/argp-ba.c: New file, from glibc.
87948         * lib/argp-eexst.c: New file, from glibc.
87949         * lib/argp-fmtstream.c: New file, from glibc.
87950         * lib/argp-fmtstream.h: New file, from glibc.
87951         * lib/argp-fs-xinl.c: New file, from glibc.
87952         * lib/argp-help.c: New file, from glibc.
87953         * lib/argp-namefrob.h: New file, from glibc.
87954         * lib/argp-parse.c: New file, from glibc.
87955         * lib/argp-pv.c: New file, from glibc.
87956         * lib/argp-pvh.c: New file, from glibc.
87957         * lib/argp-xinl.c: New file, from glibc.
87958
87959 2003-06-10  Simon Josefsson  <jas@extundo.com>
87960
87961         * modules/strchrnul: New file.
87962
87963 2003-06-10  Simon Josefsson  <jas@extundo.com>
87964
87965         * modules/argp: New file.
87966
87967 2003-06-10  Simon Josefsson  <jas@extundo.com>
87968
87969         * m4/strchrnul.m4: New file.
87970
87971 2003-06-10  Simon Josefsson  <jas@extundo.com>
87972
87973         * lib/strchrnul.h: New file.
87974         * lib/strchrnul.c: New file.
87975
87976 2003-06-10  Bruno Haible  <bruno@clisp.org>
87977
87978         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87979
87980 2003-06-07  Karl Berry  <karl@gnu.org>
87981
87982         * config/config.{guess,sub}: update from prep.
87983
87984 2003-06-07  Jim Meyering  <jim@meyering.net>
87985
87986         * modules/strtod: Use $(...) notation, not @...@ for
87987         AC_REPLACE'd variables.
87988         * modules/localcharset: Likewise.
87989
87990 2003-06-07  Jim Meyering  <jim@meyering.net>
87991
87992         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87993         in place of my name in the copyright comment.
87994         Remove definition and uses of __P.
87995
87996         From coreutils.
87997         * lib/stat.c: Don't declare xmalloc explicitly.
87998         Instead, include "xalloc.h".
87999         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
88000         xrealloc, and xcalloc return values.
88001         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
88002         Improve comment.
88003         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
88004
88005 2003-06-07  Bruno Haible  <bruno@clisp.org>
88006
88007         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
88008         avoid AC_CONFIG_LINKS.
88009         * modules/fnmatch (Makefile.am): Use explicit creation rule for
88010         fnmatch.h, to avoid AC_CONFIG_LINKS.
88011         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
88012
88013 2003-06-07  Bruno Haible  <bruno@clisp.org>
88014
88015         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
88016         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
88017         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88018         directory.
88019         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
88020         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
88021         directory.
88022
88023 2003-06-06  Jim Meyering  <jim@meyering.net>
88024
88025         Merge from coreutils.
88026         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
88027         Consolidate declarations and initializations of *_base* locals.
88028
88029         Merge from coreutils.
88030         This avoids a core dump on systems without GNU putenv,
88031         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
88032         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
88033         (unsetenv): New static function, from GNU libc.
88034         (rpl_putenv): Use it.
88035
88036         * lib/modechange.c: Remove trailing blanks.
88037
88038         Merge from coreutils.
88039         * lib/fsusage.c: Remove declaration of statfs.
88040         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
88041
88042         * lib/posixtm.c: Include <stdbool.h> unconditionally.
88043
88044 2003-06-06  Jim Meyering  <jim@meyering.net>
88045
88046         * lib/stdbool_.h: Renamed from stdbool.h.in.
88047
88048 2003-06-06  Jim Meyering  <jim@meyering.net>
88049             Bruno Haible  <bruno@clisp.org>
88050
88051         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
88052         Adjust Makefile.am snippet not to redirect directly to target.
88053         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
88054
88055 2003-06-05  Paul Eggert  <eggert@twinsun.com>
88056
88057         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
88058         mismatch, look in future quarters as well as past.  This fixes a
88059         bug when processing fall-backwards gaps immediately after a long
88060         period of daylight-saving time.
88061
88062         * lib/mktime.c: Assume freestanding C89 or better.
88063         (HAVE_LIMITS_H): Remove.  Assume it's 1.
88064         (__P): Remove; not used.
88065         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
88066         (mktime, not_equal_tm, print_tm, check_result,
88067         main): Use prototypes.  Use const * where appropriate.
88068         (main): Fix typo in testing code that uncovered by above changes.
88069         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
88070
88071 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88072
88073         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
88074         locale.h, localeconv.  This merges changes from coreutils.
88075
88076         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
88077         It can be removed after the next Autoconf is released.
88078         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
88079         needed.
88080
88081 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88082
88083         * lib/mktime.c: Fix Debian bug 177940
88084         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
88085         (localtime_offset): Now long int, not time_t, because we want it
88086         to be guaranteed to be signed.  All uses changed.
88087         (__mktime_internal): If overflow would occur when adding offset,
88088         don't add it.
88089
88090         Merge 'human' changes from coreutils.  Rewrite to support
88091         locale-specific notations like thousands separators.
88092         * lib/human.c: Simplify authorship notice.
88093         Include human.h immediately after config.h.
88094         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
88095         <limits.h>: Do not include, since human.h does.
88096         (SIZE_MAX, UINTMAX_MAX): New macros.
88097         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
88098         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
88099         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
88100         (power_letter): Renamed from suffixes.
88101         (generate_suffix_backwards): Remove.
88102         (adjust_value): Now takes int style (because of human.h changes)
88103         and long double value (for greater precision on some platforms).
88104         (group_number): New function.
88105         (human_readable): Use it.  Use integer options, not enum.
88106         Put the options before the sizes in the arg list.
88107         Support all the new options.
88108         The old human_readable function has been removed;
88109         use inttostr.h instead.
88110         (human_readable, default_block_size, humblock):
88111         Use uintmax_t, not int, for block sizes.
88112         (human_readable_inexact, block_size_types): Remove.
88113         (block_size_opts): New constant.
88114         (human_options): Renamed from human_block_size, with new signature
88115         that allows block sizes up to UINTMAX_MAX.  All callers changed.
88116         * lib/human.h: Add copyright and authorship notice.
88117         Include <limits.h> and <stdbool.h> unconditionally.
88118         (PARAMS): Remove.  All uses removed.
88119         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
88120         (enum human_inexact_style): Remove tag; now a nameless enum.
88121         (human_floor, human_ceiling, human_round_to_even): Now have
88122         values 2, 0, 1 rather than -1, 1, 0.
88123         (human_group_digits, human_suppress_point_zero, human_autoscale,
88124         human_base_1024, human_SI, human_B): New constants.
88125         (human_readable_inexact, human_block_size): Remove.
88126         (human_readable): Size args are now uintmax_t, not int.
88127         (human_options): New decl.
88128
88129         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
88130         unnecessary now that we assume C89 or better.  This change
88131         imported from coreutils.
88132
88133         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88134         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
88135         in the 2003-05-30 sync from glibc.
88136
88137         .h files should stand alone, but we shouldn't include <sys/types.h>
88138         if we can get away with just <stddef.h>.
88139
88140         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
88141         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
88142         rather than <sys/types.h>, as we merely need size_t.
88143         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
88144         to get size_t.
88145         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
88146         Include <stdio.h>, to get FILE.
88147         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
88148         memcasecmp.h has included <stddef.h> and all we need is size_t.
88149         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
88150         our interface, instead of including <sys/types.h>
88151
88152 2003-06-04  Paul Eggert  <eggert@twinsun.com>
88153
88154         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
88155         now, as glibc mktime is buggy on non-glibc systems.
88156
88157 2003-06-03  Karl Berry  <karl@gnu.org>
88158
88159         * config/config.sub: update from prep.
88160
88161 2003-06-02  Paul Eggert  <eggert@twinsun.com>
88162
88163         [from coreutils]
88164         Fix some minor time-related bugs with POSIX time arguments.
88165         Some valid time stamps were being rejected (notably -1, and
88166         time stamps before 1900 on 64-bit hosts).  And some invalid
88167         time stamps were being accepted, e.g. September 31.
88168
88169         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
88170         that we can return (time_t) -1 successfully.
88171         * lib/posixtm.c: Likewise.
88172         [HAVE_STDBOOL_H]: Include <stdbool.h>.
88173         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
88174         (t): Remove static var.
88175         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
88176         of static var.  All uses changed.
88177         (year): Do not reject years before 1900; they can occur with
88178         64-bit time_t.
88179         (posix_time_parse): Do not check for out-of-range components;
88180         that is now the caller's responsibility, since our checks were
88181         only approximations.
88182         (posixtime): Use mktime to check for out-of-range components,
88183         since it knows them exactly.
88184         If mktime returns (time_t) -1, check whether an error actually occurred
88185         by invoking localtime on -1.
88186         (main) [TEST_POSIXTIME]: Check for input data errors, and report
88187         posixtime failures better.
88188         Improve the test data (in comments only).
88189
88190 2003-06-02  Karl Berry  <karl@gnu.org>
88191
88192         * config/mkinstalldirs (version): new variable.
88193         (--version): new option.
88194         (usage): improve message.
88195
88196 2003-05-30  Karl Berry  <karl@gnu.org>
88197
88198         * lib/mktime.c: update from libc.
88199
88200 2003-05-30  Bruno Haible  <bruno@clisp.org>
88201
88202         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
88203         * config/config.rpath: Upgrade to gettext-0.12.1.
88204
88205 2003-05-30  Bruno Haible  <bruno@clisp.org>
88206
88207         * m4/gettext.m4: Upgrade to gettext-0.12.1.
88208         * m4/nls.m4: New file, from gettext-0.12.1.
88209         * m4/po.m4: New file, from gettext-0.12.1.
88210         * m4/progtest.m4: Upgrade to gettext-0.12.1.
88211
88212 2003-05-30  Bruno Haible  <bruno@clisp.org>
88213
88214         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
88215         * lib/localcharset.h: Likewise.
88216         * lib/localcharset.c: Likewise.
88217
88218 2003-05-29  Karl Berry  <karl@gnu.org>
88219
88220         * config/config.rpath: update from gettext.
88221
88222 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88223
88224         Assume the headers required for C89 freestanding compilers.
88225         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
88226         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
88227         * m4/human.m4 (gl_HUMAN): Likewise.
88228         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
88229         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
88230         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88231         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
88232         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88233         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
88234
88235 2003-05-28  Paul Eggert  <eggert@twinsun.com>
88236
88237         Assume the headers required for C89 freestanding compilers.
88238         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
88239         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
88240         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
88241         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
88242         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
88243         define, since <limits.h> is guaranteed to do that.
88244         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
88245         * lib/exclude.c: Include <stdbool.h> unconditionally.
88246         * lib/tempname.c: Include <stddef.h> unconditionally.
88247         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
88248         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
88249         <stddef.h> does that.
88250         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
88251         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
88252         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
88253         needed.
88254         * lib/xstrtol.c: Likewise.
88255         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
88256         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
88257
88258         * lib/addext.c (addext): Use assignment rather than cast, to avoid
88259         warnings on some platforms.
88260
88261         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
88262         arbitrarily.
88263
88264 2003-05-26  Jim Meyering  <jim@meyering.net>
88265
88266         Merge in a change from coreutils:
88267         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
88268         that is guaranteed to be `no'.  Use `no_such_member' to indicate
88269         that condition, rather than `-1' which is slightly misleading.
88270         Change the name of the cache variable to have the gl_ prefix.
88271         Prompted by a patch from Richard Dawe for DJGPP.
88272
88273 2003-05-24  Karl Berry  <karl@gnu.org>
88274
88275         * config/config.guess: update from prep.
88276
88277 2003-05-22  Karl Berry  <karl@gnu.org>
88278
88279         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
88280
88281 2003-05-20  Karl Berry  <karl@gnu.org>
88282
88283         * config/config.guess: update from prep.
88284
88285 2003-05-18  Karl Berry  <karl@gnu.org>
88286
88287         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
88288         might actually be set by the user.
88289
88290         * config/depcomp, install-sh, mdate-sh: update from automake.
88291
88292 2003-05-17  Bruno Haible  <bruno@clisp.org>
88293
88294         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
88295         invalid expansion for AC_EGREP_CPP.
88296         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
88297         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
88298         Suggested by Akim Demaille <akim@epita.fr> in
88299         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
88300
88301 2003-05-12  Jim Meyering  <jim@meyering.net>
88302
88303         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
88304         the space-padded-by-default conversion specifiers, %e, %k, %l.
88305
88306 2003-05-12  Bruno Haible  <bruno@clisp.org>
88307
88308         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
88309         the string is longer than 4 KB.
88310
88311 2003-05-11  Karl Berry  <karl@gnu.org>
88312
88313         * config/config.{guess,sub}: update from prep.
88314
88315 2003-05-09  Bruno Haible  <bruno@clisp.org>
88316
88317         * modules/error: Add m4/strerror_r.m4 to file list.
88318
88319 2003-05-03  Bruno Haible  <bruno@clisp.org>
88320
88321         Upgrade to Unicode-4.0.
88322         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
88323         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
88324         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
88325         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
88326         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
88327         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
88328         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
88329         Change width of U+E0100..U+E01EF from 1 to 0.
88330
88331 2003-04-25  Jim Meyering  <jim@meyering.net>
88332
88333         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
88334         of type size_t, not int.
88335
88336 2003-04-25  Bruno Haible  <bruno@clisp.org>
88337
88338         * lib/copy-file.c: Include <stddef.h>, for size_t.
88339
88340 2003-04-21  Paul Eggert  <eggert@twinsun.com>
88341
88342         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
88343         code which expansion is under static control.  Patch imported from
88344         Akim Demaille's patch to Bison; see
88345         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
88346
88347 2003-04-14  Bruno Haible  <bruno@clisp.org>
88348
88349         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
88350
88351 2003-04-11  Jim Meyering  <jim@meyering.net>
88352
88353         Merge changes from Coreutils.
88354
88355         2003-03-22  Jim Meyering  <jim@meyering.net>
88356
88357         * lib/strftime.c (widen): Cast alloca return value to proper type.
88358
88359         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
88360
88361         From GNU libc.
88362         * lib/strftime.c (my_strftime): Handle very large width
88363         specifications for numeric values correctly.  Improve checks for
88364         overflow.
88365
88366         2003-01-19  Jim Meyering  <jim@meyering.net>
88367
88368         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
88369         definitions.
88370         (nl_get_alt_digit) [! defined my_strftime]: Define.
88371         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
88372         _nl_get_alt_digit and _nl_get_walt_digit.
88373
88374         * lib/strftime.c (my_strftime): Merge in locale-related changes from
88375         libc. These changes have no effect outside of _LIBC.
88376
88377 2003-04-10  Bruno Haible  <bruno@clisp.org>
88378
88379         * modules/findprog: New file.
88380         * MODULES.html.sh (func_all_modules): Add it.
88381
88382 2003-04-10  Bruno Haible  <bruno@clisp.org>
88383
88384         * m4/findprog.m4: New file.
88385         * m4/eaccess.m4: New file.
88386
88387 2003-04-10  Bruno Haible  <bruno@clisp.org>
88388
88389         * lib/findprog.h: New file, from GNU gettext.
88390         * lib/findprog.c: New file, from GNU gettext.
88391
88392 2003-04-05  Jim Meyering  <jim@meyering.net>
88393
88394         Merge changes from Coreutils.
88395
88396         * lib/exclude.h (PARAMS): Remove definition and uses.
88397         * lib/exclude.c: Remove uses of `PARAMS'.
88398
88399         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
88400         Add test-cases for DOS filenames. Declare program_name.
88401         (main): Set up program_name.  Patch by Rich Dawe.
88402
88403         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
88404         error from mntctl.
88405         Use mntctl's return value to drive the entry-processing loop, since
88406         we can't rely on the value of the vmt_length member in the last
88407         entry.  On some systems doing so could result in exhausting
88408         virtual memory.  Based in part on a patch from Mike Jetzer.
88409
88410 2003-04-04  Bruno Haible  <bruno@clisp.org>
88411
88412         * modules/linebreak: New file.
88413         * MODULES.html.sh (func_all_modules): Add it.
88414
88415 2003-04-04  Bruno Haible  <bruno@clisp.org>
88416
88417         * m4/linebreak.m4: New file.
88418
88419 2003-04-04  Bruno Haible  <bruno@clisp.org>
88420
88421         * lib/linebreak.h: New file, from GNU gettext.
88422         * lib/linebreak.c: New file, from GNU gettext with slight
88423         modifications.
88424         * lib/lbrkprop.h: New file, from GNU gettext.
88425
88426 2003-04-03  Bruno Haible  <bruno@clisp.org>
88427
88428         * modules/utf8-ucs4: New file.
88429         * modules/utf16-ucs4: New file.
88430         * modules/ucs4-utf8: New file.
88431         * modules/ucs4-utf16: New file.
88432         * MODULES.html.sh (func_all_modules): Add them.
88433
88434 2003-04-03  Bruno Haible  <bruno@clisp.org>
88435
88436         * m4/utf-ucs4.m4: New file.
88437         * m4/ucs4-utf.m4: New file.
88438
88439 2003-04-03  Bruno Haible  <bruno@clisp.org>
88440
88441         * lib/utf8-ucs4.h: New file, from GNU gettext.
88442         * lib/utf16-ucs4.h: New file, from GNU gettext.
88443         * lib/ucs4-utf8.h: New file, from GNU gettext.
88444         * lib/ucs4-utf16.h: New file, from GNU gettext.
88445
88446 2003-04-02  Bruno Haible  <bruno@clisp.org>
88447
88448         * modules/binary-io: New file.
88449         * MODULES.html.sh (func_all_modules): Add it.
88450
88451 2003-04-02  Bruno Haible  <bruno@clisp.org>
88452
88453         * lib/binary-io.h: New file, from GNU gettext.
88454
88455 2003-04-01  Bruno Haible  <bruno@clisp.org>
88456
88457         * modules/pathname: New file.
88458         * MODULES.html.sh (func_all_modules): Add it.
88459
88460 2003-04-01  Bruno Haible  <bruno@clisp.org>
88461
88462         * lib/pathname.h: New file, from GNU gettext.
88463         * lib/concatpath.c: New file, from GNU gettext.
88464
88465 2003-03-30  Bruno Haible  <bruno@clisp.org>
88466
88467         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88468
88469 2003-03-30  Bruno Haible  <bruno@clisp.org>
88470
88471         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88472         function chown() doesn't exist.
88473
88474 2003-03-28  Bruno Haible  <bruno@clisp.org>
88475
88476         * modules/copy-file: New file.
88477         * MODULES.html.sh (func_all_modules): Add it.
88478
88479 2003-03-28  Bruno Haible  <bruno@clisp.org>
88480
88481         * m4/copy-file.m4: New file.
88482
88483 2003-03-28  Bruno Haible  <bruno@clisp.org>
88484
88485         * lib/copy-file.h: New file, from GNU gettext.
88486         * lib/copy-file.c: New file, from GNU gettext.
88487
88488 2003-03-18  Jim Meyering  <jim@meyering.net>
88489
88490         * lib/quote.c (quote_n): Fix typo in comment.
88491
88492 2003-03-18  Bruno Haible  <bruno@clisp.org>
88493
88494         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88495         checking.
88496         * m4/onceonly_2_57.m4: Likewise.
88497
88498 2003-03-17  Bruno Haible  <bruno@clisp.org>
88499
88500         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88501         (m4_quote): Remove macro.
88502         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88503
88504 2003-03-14  Jim Meyering  <jim@meyering.net>
88505
88506         Merge changes from Coreutils.
88507         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88508         to be const, in order to avoid warnings.
88509         (obstack_room): Likewise.
88510         (obstack_empty_p): Likewise.
88511
88512 2003-03-14  Bruno Haible  <bruno@clisp.org>
88513
88514         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88515         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88516
88517 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88518
88519         Merge changes from Bison.
88520         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88521         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88522         when compiling Bison 1.875's `bitset bset = obstack_alloc
88523         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88524         * lib/hash.c: Include <stdbool.h> unconditionally.
88525
88526 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88527
88528         * m4/onceonly.m4 (m4_quote): New macro.
88529         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88530         Quote AC_FOREACH variable-expansions properly.
88531
88532 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88533
88534         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88535
88536 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88537
88538         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88539         Reported by Bruce Becker; see:
88540         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88541
88542 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88543             Bruno Haible  <bruno@clisp.org>
88544
88545         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88546         Reported by John Hughes, see
88547         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88548
88549 2003-02-20  Bruno Haible  <bruno@clisp.org>
88550
88551         * MODULES.html.sh (func_all_modules): Add poll.
88552
88553 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88554
88555         * modules/poll: New file.
88556
88557 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88558
88559         * lib/poll_.h: New file.
88560         * lib/poll.c: New file.
88561
88562 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88563
88564         * m4/poll.m4: New file.
88565
88566 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88567
88568         * modules/mathl: New file.
88569
88570 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88571
88572         * lib/mathl.h: New file.
88573         * lib/acosl.c: New file.
88574         * lib/asinl.c: New file.
88575         * lib/atanl.c: New file.
88576         * lib/ceill.c: New file.
88577         * lib/cosl.c: New file.
88578         * lib/expl.c: New file.
88579         * lib/floorl.c: New file.
88580         * lib/frexpl.c: New file.
88581         * lib/ldexpl.c: New file.
88582         * lib/logl.c: New file.
88583         * lib/sincosl.c: New file.
88584         * lib/sinl.c: New file.
88585         * lib/sqrtl.c: New file.
88586         * lib/tanl.c: New file.
88587         * lib/trigl.c: New file.
88588         * lib/trigl.h: New file.
88589
88590 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88591
88592         * m4/mathl.m4: New file.
88593
88594 2003-02-18  Bruno Haible  <bruno@clisp.org>
88595
88596         * MODULES.html.sh (func_all_modules): Add mathl.
88597
88598 2003-02-17  Bruno Haible  <bruno@clisp.org>
88599
88600         * modules/mkdtemp: New module.
88601         * MODULES.html.sh (func_all_modules): Add it.
88602
88603 2003-02-17  Bruno Haible  <bruno@clisp.org>
88604
88605         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88606
88607 2003-02-17  Bruno Haible  <bruno@clisp.org>
88608
88609         * lib/mkdtemp.h: New file, from GNU gettext.
88610         * lib/mkdtemp.c: New file, from GNU gettext.
88611
88612 2003-02-02  Jim Meyering  <jim@meyering.net>
88613
88614         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88615         e.g. glibc-2.2.93.
88616
88617 2003-01-31  Bruno Haible  <bruno@clisp.org>
88618
88619         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88620         'rpl_rename'.
88621         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88622         'rpl_strnlen'.
88623         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88624         'rpl_strtod'.
88625         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88626         'rpl_utime'.
88627
88628 2003-01-31  Bruno Haible  <bruno@clisp.org>
88629
88630         * lib/rename.c: #undef rename before defining rpl_rename.
88631         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88632
88633 2003-01-30  Bruno Haible  <bruno@clisp.org>
88634
88635         * modules/vasnprintf, modules/vasprintf: New modules.
88636         * MODULES.html.sh (func_all_modules): Add them.
88637
88638 2003-01-30  Bruno Haible  <bruno@clisp.org>
88639
88640         * m4/signed.m4: New file, from GNU gettext.
88641         * m4/longdouble.m4: New file, from GNU gettext.
88642         * m4/wchar_t.m4: New file, from GNU gettext.
88643         * m4/wint_t.m4: New file, from GNU gettext.
88644         * m4/vasnprintf.m4: New file.
88645         * m4/vasprintf.m4: New file.
88646
88647 2003-01-30  Bruno Haible  <bruno@clisp.org>
88648
88649         * lib/printf-args.h: New file, from GNU gettext.
88650         * lib/printf-args.c: New file, from GNU gettext.
88651         * lib/printf-parse.h: New file, from GNU gettext.
88652         * lib/printf-parse.c: New file, from GNU gettext.
88653         * lib/vasnprintf.h: New file, from GNU gettext.
88654         * lib/vasnprintf.c: New file, from GNU gettext.
88655         * lib/asnprintf.c: New file, from GNU gettext.
88656         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88657         * lib/vasprintf.c: New file, from GNU gettext.
88658         * lib/asprintf.c: New file, from GNU gettext.
88659
88660 2003-01-29  Bruno Haible  <bruno@clisp.org>
88661
88662         * modules/stpncpy: New module.
88663         * MODULES.html.sh (func_all_modules): Add it.
88664
88665 2003-01-29  Bruno Haible  <bruno@clisp.org>
88666
88667         * m4/stpncpy.m4: New file.
88668
88669 2003-01-29  Bruno Haible  <bruno@clisp.org>
88670
88671         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88672         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88673
88674 2003-01-28  Bruno Haible  <bruno@clisp.org>
88675
88676         * modules/c-ctype: New module.
88677         * MODULES.html.sh (func_all_modules): Add it.
88678
88679 2003-01-28  Bruno Haible  <bruno@clisp.org>
88680
88681         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88682         Paul Eggert.
88683         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88684         Paul Eggert.
88685
88686 2003-01-27  Bruno Haible  <bruno@clisp.org>
88687
88688         * modules/xsetenv: New module.
88689         * MODULES.html.sh (func_all_modules): Add it.
88690
88691 2003-01-27  Bruno Haible  <bruno@clisp.org>
88692
88693         * lib/xsetenv.h: New file, from GNU gettext.
88694         * lib/xsetenv.c: New file, from GNU gettext.
88695
88696 2003-01-23  Jim Meyering  <jim@meyering.net>
88697
88698         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88699         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88700
88701 2003-01-23  Bruno Haible  <bruno@clisp.org>
88702
88703         * modules/minmax: New module.
88704         * MODULES.html.sh (func_all_modules): Add it.
88705
88706 2003-01-23  Bruno Haible  <bruno@clisp.org>
88707
88708         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88709         Eggert.
88710
88711 2003-01-22  Bruno Haible  <bruno@clisp.org>
88712
88713         * modules/exit: New module.
88714         * MODULES.html.sh (func_all_modules): Add it.
88715
88716 2003-01-22  Bruno Haible  <bruno@clisp.org>
88717
88718         * lib/exit.h: New file, from GNU gettext.
88719
88720 2003-01-19  Bruno Haible  <bruno@clisp.org>
88721
88722         * gnulib-tool: Recognize option --extract-maintainer.
88723         (func_get_maintainer): New function.
88724         * modules/*: Add Maintainer entry.
88725
88726 2003-01-16  Jim Meyering  <jim@meyering.net>
88727
88728         * m4/regex.m4: The `regex' struct is both input and output.
88729         Initialize it before each use.  Patch by Tim Waugh.
88730
88731 2003-01-16  Bruno Haible  <bruno@clisp.org>
88732
88733         * MODULES.html.sh: Add a table of contents. Add the module name as
88734         leftmost column. Add hyperlinks.
88735
88736 2003-01-15  Bruno Haible  <bruno@clisp.org>
88737
88738         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88739
88740 2003-01-15  Bruno Haible  <bruno@clisp.org>
88741
88742         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88743         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88744         suffix.
88745
88746 2003-01-15  Bruno Haible  <bruno@clisp.org>
88747
88748         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88749
88750 2003-01-15  Bruno Haible  <bruno@clisp.org>
88751
88752         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88753         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88754
88755 2003-01-14  Jim Meyering  <jim@meyering.net>
88756
88757         * lib/same.c (same_name): Tweak a comment.
88758
88759 2003-01-14  Bruno Haible  <bruno@clisp.org>
88760
88761         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88762         when a string comparison is sufficient.
88763
88764 2003-01-14  Bruno Haible  <bruno@clisp.org>
88765
88766         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88767         'unsigned int'.
88768
88769 2003-01-14  Bruno Haible  <bruno@clisp.org>
88770
88771         * lib/hash-pjw.c: Add comment about low quality of this function.
88772
88773 2003-01-13  Bruno Haible  <bruno@clisp.org>
88774
88775         * modules/stpcpy: Distribute lib/stpcpy.h.
88776         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88777
88778 2003-01-13  Bruno Haible  <bruno@clisp.org>
88779
88780         * modules/*: Add a description.
88781         * modules/strpbrk: Fix Makefile.am snippet.
88782         * modules/strtoimax: Fix dependencies.
88783         * modules/strtoumax: Likewise.
88784
88785 2003-01-13  Bruno Haible  <bruno@clisp.org>
88786
88787         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88788         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88789         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88790
88791 2003-01-13  Bruno Haible  <bruno@clisp.org>
88792
88793         * gnulib-tool (func_create_testdir): Store config/* files in the main
88794         directory.
88795         * config.rpath: Move to ...
88796         * config/config.rpath: ... here.
88797         * modules/gettext: Contains config/config.rpath, not config.rpath.
88798         * modules/iconv: Likewise.
88799
88800 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88801
88802         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88803         to avoid collisions with libcurses and libreadline.
88804
88805         * m4/getstr.m4: Remove.
88806         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88807
88808 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88809
88810         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88811         to avoid collisions with libcurses and libreadline.
88812
88813         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88814         * lib/getstr.h, getstr.c: Remove.
88815         * lib/getline.c: Include "getline.h", to check interface.
88816         Move body of old getstr.c here: this defines MIN_CHUNK and
88817         declares getdelim2, which is renamed from getstr.
88818         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88819
88820         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88821         All uses changed.
88822         * lib/linebuffer.h: Likewise.
88823         (readline): Remove backward-compatibility macro.
88824
88825 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88826
88827         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88828         to avoid collisions with libcurses and libreadline.
88829         * getstr: Remove.
88830         * MODULES.html.sh: Remove getstr.
88831         * modules/getline: Depend on unlocked-io, not getstr.
88832
88833 2003-01-12  Jim Meyering  <jim@meyering.net>
88834
88835         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88836
88837 2003-01-10  Bruno Haible  <bruno@clisp.org>
88838
88839         * modules/alloca: Change Makefile.am requirements. Simplify Include
88840         requirements. Add lib/alloca_.h to file list.
88841
88842 2003-01-10  Bruno Haible  <bruno@clisp.org>
88843
88844         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88845
88846 2003-01-10  Bruno Haible  <bruno@clisp.org>
88847
88848         * lib/alloca_.h: New file.
88849         * lib/getdate.y: Unconditionally include alloca.h.
88850         * lib/makepath.c: Likewise.
88851         * lib/setenv.c: Likewise.
88852         * lib/userspec.c: Likewise.
88853
88854 2003-01-09  Karl Berry  <karl@gnu.org>
88855
88856         * MODULES.html.sh: include `dirname $0` in PATH, to find
88857         gnulib-tool.
88858
88859 2003-01-09  Bruno Haible  <bruno@clisp.org>
88860
88861         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88862         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88863
88864 2003-01-09  Bruno Haible  <bruno@clisp.org>
88865
88866         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88867
88868 2003-01-09  Bruno Haible  <bruno@clisp.org>
88869
88870         * lib/stdbool.h.in: New file.
88871
88872 2003-01-09  Bruno Haible  <bruno@clisp.org>
88873
88874         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88875         * MODULES.html.sh: Likewise.
88876
88877 2003-01-08  Jim Meyering  <jim@meyering.net>
88878
88879         * lib/full-write.c: Undefine and define-away `const' after inclusion
88880         of errno.h, not before.  Suggestion from Bruno Haible.
88881
88882 2003-01-08  Bruno Haible  <bruno@clisp.org>
88883
88884         * modules/full-read: Depend on full-write.
88885
88886 2003-01-08  Bruno Haible  <bruno@clisp.org>
88887
88888         * lib/safe-read.c: Include specification header first, to ensure its
88889         selfcontainedness.
88890         * lib/full-write.c: Likewise.
88891
88892 2003-01-07  Jim Meyering  <jim@meyering.net>
88893
88894         * lib/full-write.c: Rework so that it may serve to define full_read,
88895         too.
88896         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88897
88898 2003-01-07  Bruno Haible  <bruno@clisp.org>
88899
88900         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88901         <inttypes.h>.
88902         * lib/xstrtol.h: Likewise.
88903         * lib/xstrtoimax.c: Likewise.
88904         * lib/xstrtoumax.c: Likewise.
88905         * lib/human.h: Likewise.
88906
88907         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88908         on systems that have <inttypes.h> but not <stdint.h>.
88909
88910 2003-01-07  Bruno Haible  <bruno@clisp.org>
88911
88912         * MODULES.html.sh: Add copyright notice.
88913         (missed_files): Omit CVS directory entries.
88914         (func_module): Make it work with sed-3.02.
88915         * MODULES.txt: Remove file.
88916
88917 2003-01-06  Jim Meyering  <jim@meyering.net>
88918
88919         * lib/version-etc.c: Update year in translatable copyright string.
88920
88921 2003-01-03  Karl Berry  <karl@gnu.org>
88922
88923         * config/config.{guess,sub}: update from prep.
88924
88925 2003-01-02  Karl Berry  <karl@gnu.org>
88926
88927         * doc/COPYING.DOC: belatedly updated to 1.2.
88928
88929 2003-01-01  Karl Berry  <karl@gnu.org>
88930
88931         * gnulib-tool (func_verify_module): report module name $module in
88932         error message, not $1.
88933         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88934         be created, only if it doesn't exist.
88935         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88936
88937 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88938
88939         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88940
88941 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88942
88943         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88944         memcmp if strcoll doesn't work.
88945
88946 2002-12-31  Bruno Haible  <bruno@clisp.org>
88947
88948         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88949         nonempty.
88950
88951 2002-12-31  Bruno Haible  <bruno@clisp.org>
88952
88953         * lib/memcoll.c (STRCOLL): New macro.
88954         (memcoll): Use it.
88955
88956 2002-12-31  Bruno Haible  <bruno@clisp.org>
88957
88958         * lib/localcharset.h: New file.
88959         * lib/localcharset.c: Include it.
88960         * lib/unicodeio.c: Likewise.
88961
88962 2002-12-31  Bruno Haible  <bruno@clisp.org>
88963
88964         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88965         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88966
88967 2002-12-31  Bruno Haible  <bruno@clisp.org>
88968
88969         * lib/getline.h: Include <stddef.h>, for size_t.
88970
88971         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88972         * lib/unicodeio.c: Don't include <stddef.h>.
88973
88974 2002-12-31  Bruno Haible  <bruno@clisp.org>
88975
88976         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88977         HAVE_TM_ZONE.
88978
88979 2002-12-24  Karl Berry  <karl@gnu.org>
88980
88981         * config/config.guess: update from prep.
88982
88983 2002-12-24  Bruno Haible  <bruno@clisp.org>
88984
88985         General infrasructure.
88986         * m4/README: Rewritten.
88987         * m4/onceonly.m4: New file.
88988         * m4/onceonly_2_57.m4: New file.
88989
88990         Module atexit.
88991         * m4/atexit.m4: New file.
88992
88993         Module strtod.
88994         * m4/strtod.m4: New file.
88995
88996         Module strtol.
88997         * m4/strtol.m4: New file.
88998
88999         Module strtoul.
89000         * m4/strtoul.m4: New file.
89001
89002         Module memchr.
89003         * m4/memchr.m4: New file.
89004
89005         Module memcmp.
89006         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
89007         (jm_FUNC_MEMCMP): Invoke it.
89008
89009         Module memcpy.
89010         * m4/memcpy.m4: New file.
89011
89012         Module memmove.
89013         * m4/memmove.m4: New file.
89014
89015         Module memset.
89016         * m4/memset.m4: New file.
89017
89018         Module strcspn.
89019         * m4/strcspn.m4: New file.
89020
89021         Module strpbrk.
89022         * m4/strpbrk.m4: New file.
89023
89024         Module strstr.
89025         * m4/strstr.m4: New file.
89026
89027         Module strerror.
89028         * m4/strerror.m4: New file.
89029
89030         Module mktime.
89031         * m4/mktime.m4: Renamed from jm-mktime.m4.
89032         (gl_PREREQ_MKTIME): New macro.
89033         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
89034
89035         Module malloc.
89036         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
89037         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
89038         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
89039
89040         Module realloc.
89041         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
89042         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
89043         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
89044
89045         Module strftime.
89046         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
89047         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
89048         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
89049         gl_TM_GMTOFF.
89050         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
89051
89052         Module xalloc.
89053         * m4/xalloc.m4: New file.
89054
89055         Module alloca.
89056         * m4/alloca.m4: New file.
89057
89058         Module putenv.
89059         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
89060         (jm_FUNC_PUTENV): Invoke it.
89061
89062         Module setenv.
89063         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
89064         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
89065         when invoked twice.
89066         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
89067         gt_FUNC_SETENV.
89068
89069         Module memrchr.
89070         * m4/memrchr.m4: New file.
89071
89072         Module stpcpy.
89073         * m4/stpcpy.m4: New file.
89074
89075         Module strcase.
89076         * m4/strcase.m4: New file.
89077
89078         Module strdup.
89079         * m4/strdup.m4: New file.
89080
89081         Module strnlen.
89082         * m4/strnlen.m4: New file.
89083
89084         Module strndup.
89085         * m4/strndup.m4: New file.
89086
89087         Module xstrtod.
89088         * m4/xstrtod.m4: New file.
89089
89090         Module xstrtol.
89091         * m4/xstrtol.m4: New file.
89092
89093         Module getdate.
89094         * m4/getdate.m4: New file.
89095
89096         Module unlocked-io.
89097         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
89098         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
89099         * m4/jm-glibc-io.m4n: Remove file.
89100
89101         Module long-options.
89102         * m4/long-options.m4: New file.
89103
89104         Module md5.
89105         * m4/md5.m4: New file.
89106
89107         Module sha.
89108         * m4/sha.m4: New file.
89109
89110         Module getstr.
89111         * m4/getstr.m4: New file.
89112
89113         Module getline.
89114         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
89115         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
89116         <sys/types.h>, for size_t. Use the function name gnu_getline, not
89117         simply getline. Infoke gl_PREREQ_GETLINE.
89118
89119         Module obstack.
89120         * m4/obstack.m4: New file.
89121
89122         Module hash.
89123         * m4/hash.m4: New file.
89124
89125         Module readtokens.
89126         * m4/readtokens.m4: New file.
89127
89128         Module strverscmp.
89129         * m4/strverscmp.m4: New file.
89130
89131         Module stdbool.
89132         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
89133         OSF/1.
89134
89135         Module strtoll.
89136         * m4/strtoll.m4: New file.
89137
89138         Module strtoull.
89139         * m4/strtoull.m4: New file.
89140
89141         Module strtoimax.
89142         * m4/strtoimax.m4: New file.
89143
89144         Module strtoumax.
89145         * m4/strtoumax.m4: New file.
89146
89147         Module xstrtoimax.
89148         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
89149         jm_AC_PREREQ_XSTRTOIMAX.
89150         Moved the strtol prerequisites to strtol.m4.
89151         Moved the strtoll prerequisites to strtoll.m4.
89152         Moved the strtoimax prerequisites to strtoimax.m4.
89153
89154         Module xstrtoumax.
89155         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
89156         jm_AC_PREREQ_XSTRTOUMAX.
89157         Moved the strtoul prerequisites to strtoul.m4.
89158         Moved the strtoull prerequisites to strtoull.m4.
89159         Moved the strtoumax prerequisites to strtoumax.m4.
89160
89161         Module chown.
89162         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
89163         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
89164
89165         Module dup2.
89166         * m4/dup2.m4: New file.
89167
89168         Module ftruncate.
89169         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
89170         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
89171
89172         Module getgroups.
89173         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
89174         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
89175
89176         Module gettimeofday.
89177         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
89178         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
89179         gl_PREREQ_GETTIMEOFDAY.
89180
89181         Module mkdir.
89182         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
89183         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
89184
89185         Module mkstemp.
89186         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
89187         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
89188         jm_AC_TYPE_UINTMAX_T.
89189         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
89190
89191         Module stat.
89192         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
89193         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
89194
89195         Module lstat.
89196         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
89197         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
89198
89199         Module timespec.
89200         * m4/timespec.m4 (gl_TIMESPEC): New macro.
89201         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
89202         * m4/st_mtim.m4: Indentation.
89203
89204         Module nanosleep.
89205         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
89206         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
89207         gl_PREREQ_NANOSLEEP.
89208
89209         Module regex.
89210         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
89211         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
89212         (gl_REGEX): New macro.
89213
89214         Module rename.
89215         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
89216         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
89217
89218         Module rmdir.
89219         * m4/rmdir.m4: New file.
89220
89221         Module utime.
89222         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
89223         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
89224         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
89225
89226         Module dirname.
89227         * m4/dirname.m4: New file.
89228
89229         Module getopt.
89230         * m4/getopt.m4: New file.
89231
89232         Module unistd-safer.
89233         * m4/unistd-safer.m4: New file.
89234
89235         Module fnmatch.
89236         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
89237         declaration.
89238         (gl_PREREQ_FNMATCH_EXTRA): New macro.
89239         (gl_FUNC_FNMATCH_POSIX): New macro.
89240         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
89241         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
89242         simply fnmatch.
89243
89244         Module exclude.
89245         * m4/exclude.m4: New file.
89246
89247         Module human.
89248         * m4/human.m4: New file.
89249
89250         Module acl.
89251         * m4/acl.m4: Nop.
89252
89253         Module backupfile.
89254         * m4/backupfile.m4: New file.
89255         * m4/d-ino.m4: Indentation.
89256
89257         Module fsusage.
89258         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
89259         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
89260         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
89261
89262         Module dirfd.
89263         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
89264         requirements.
89265
89266         Module euidaccess.
89267         * m4/euidaccess.m4: New file.
89268
89269         Module file-type.
89270         * m4/file-type.m4: New file.
89271
89272         Module fileblocks.
89273         * m4/fileblocks.m4: New file.
89274
89275         Module filemode.
89276         * m4/filemode.m4: New file.
89277
89278         Module isdir.
89279         * m4/isdir.m4: New file.
89280
89281         Module lchown.
89282         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
89283         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
89284
89285         Module makepath.
89286         * m4/makepath.m4: New file.
89287
89288         Module modechange.
89289         * m4/modechange.m4: New file.
89290
89291         Module mountlist.
89292         * m4/mountlist.m4: New file.
89293         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
89294         Indentation.
89295
89296         Module path-concat.
89297         * m4/path-concat.m4: New file.
89298
89299         Module pathmax.
89300         * m4/pathmax.m4: New file.
89301
89302         Module same.
89303         * m4/same.m4: New file.
89304
89305         Module save-cwd.
89306         * m4/save-cwd.m4: New file.
89307
89308         Module savedir.
89309         * m4/savedir.m4: New file.
89310
89311         Module xgetcwd.
89312         * m4/xgetcwd.m4: New file.
89313         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
89314
89315         Module xreadlink.
89316         * m4/xreadlink.m4: New file.
89317
89318         Module safe-read.
89319         * m4/safe-read.m4: New file.
89320
89321         Module safe-write.
89322         * m4/safe-write.m4: New file.
89323
89324         Module closeout.
89325         * m4/closeout.m4: New file.
89326
89327         Module stdio-safer.
89328         * m4/stdio-safer.m4: New file.
89329
89330         Module getpass.
89331         * m4/getpass.m4: New file.
89332
89333         Module getugroups.
89334         * m4/getugroups.m4: New file.
89335
89336         Module group-member.
89337         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
89338         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
89339
89340         Module idcache.
89341         * m4/idcache.m4: New file.
89342
89343         Module userspec.
89344         * m4/userspec.m4: New file.
89345
89346         Module gettime.
89347         * m4/clock_time.m4: New file.
89348         * m4/gettime.m4: New file.
89349
89350         Module settime.
89351         * m4/settime.m4: New file.
89352
89353         Module posixtm.
89354         * m4/posixtm.m4: New file.
89355
89356         Module gethostname.
89357         * m4/gethostname.m4: New file.
89358
89359         Module canon-host.
89360         * m4/canon-host.m4: New file.
89361
89362         Module gettext.
89363         * m4/codeset.m4: New file, from gettext-0.11.5.
89364         * m4/gettext.m4: New file, from gettext-0.11.5.
89365         * m4/glibc21.m4: New file, from gettext-0.11.5.
89366         * m4/iconv.m4: New file, from gettext-0.11.5.
89367         * m4/intdiv0.m4: New file, from gettext-0.11.5.
89368         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
89369         * m4/inttypes.m4: New file, from gettext-0.11.5.
89370         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
89371         * m4/isc-posix.m4: New file, from gettext-0.11.5.
89372         * m4/lcmessage.m4: New file, from gettext-0.11.5.
89373         * m4/lib-ld.m4: New file, from gettext-0.11.5.
89374         * m4/lib-link.m4: New file, from gettext-0.11.5.
89375         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
89376         * m4/progtest.m4: New file, from gettext-0.11.5.
89377         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
89378         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
89379         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
89380
89381         Module localcharset.
89382         * m4/localcharset.m4: New file.
89383
89384         Module hard-locale.
89385         * m4/hard-locale.m4: New file.
89386
89387         Module mbswidth.
89388         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
89389         onceonly macros.
89390         * m4/mbrtowc.m4: Add comment.
89391
89392         Module memcasecmp.
89393         * m4/memcasecmp.m4: New file.
89394
89395         Module memcoll.
89396         * m4/memcoll.m4: New file.
89397
89398         Module unicodeio.
89399         * m4/unicodeio.m4: New file.
89400
89401         Module rpmatch.
89402         * m4/rpmatch.m4: New file.
89403
89404         Module yesno.
89405         * m4/yesno.m4: New file.
89406
89407         Module exitfail.
89408         * m4/exitfail.m4: New file.
89409
89410         Module c-stack.
89411         * m4/c-stack.m4 (gl_C_STACK): New macro.
89412         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
89413
89414         Module error.
89415         * m4/error.m4 (gl_ERROR): New macro.
89416         (jm_PREREQ_ERROR): Use onceonly macros.
89417
89418         Module fatal.
89419         * m4/fatal.m4: New file.
89420
89421         Module getloadavg.
89422         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
89423         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
89424
89425         Module getpagesize.
89426         * m4/getpagesize.m4: New file.
89427
89428         Module getusershell.
89429         * m4/getusershell.m4: New file.
89430
89431         Module physmem.
89432         * m4/physmem.m4: New file.
89433
89434         Module posixver.
89435         * m4/posixver.m4: New file.
89436
89437         Module quotearg.
89438         * m4/quotearg.m4: New file.
89439
89440         Module quote.
89441         * m4/quote.m4: New file.
89442
89443         Module readutmp.
89444         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89445
89446         Module sig2str.
89447         * m4/sig2str.m4: New file.
89448
89449         Other.
89450         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89451         ulonglong.m4.
89452         * m4/intmax_t.m4: New file.
89453         * m4/d-type.m4: Indentation.
89454         * m4/jm-macros.m4: Update.
89455         * m4/prereq.m4 (jm_PREREQ): Update.
89456         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89457         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89458         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89459         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89460         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89461         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89462         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89463         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89464         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89465         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89466         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89467         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89468         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89469         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89470         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89471         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89472         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89473         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89474         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89475
89476 2002-12-24  Bruno Haible  <bruno@clisp.org>
89477
89478         * MODULES.txt: Update according to m4/ changes.
89479
89480         Module gettext.
89481         * config.rpath: New file, from gettext-0.11.5.
89482
89483         * modules/*: New module descriptions.
89484         * gnulib-tool: New file.
89485         * MODULES.html.sh: New file.
89486
89487 2002-12-21  Karl Berry  <karl@gnu.org>
89488
89489         * doc/fdl.texi: update to version 1.2.
89490
89491 2002-12-19  Karl Berry  <karl@gnu.org>
89492
89493         * config/config.guess: update from prep.
89494
89495 2002-12-18  Bruno Haible  <bruno@clisp.org>
89496
89497         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89498         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89499
89500 2002-12-17  Bruno Haible  <bruno@clisp.org>
89501
89502         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89503         stdlib.h, string.h.
89504
89505 2002-12-17  Bruno Haible  <bruno@clisp.org>
89506
89507         * lib/canon-host.c (strdup): Remove unused declaration.
89508
89509         * lib/fsusage.c: Include full_read.h.
89510         (get_fs_usage): Use full_read instead of safe_read.
89511
89512         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89513
89514 2002-12-12  Karl Berry  <karl@gnu.org>
89515
89516         * config/config.guess: update from prep.
89517
89518 2002-12-11  Bruno Haible  <bruno@clisp.org>
89519
89520         * m4/setenv.m4: New file, from gettext-0.11.5.
89521
89522 2002-12-11  Bruno Haible  <bruno@clisp.org>
89523
89524         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89525         not unsetenv().
89526         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89527         modifications:
89528
89529         2002-12-11  Bruno Haible  <bruno@clisp.org>
89530
89531                 * setenv.c (alloca): Fall back to malloc.
89532                 (freea): New macro.
89533                 (setenv): Use freea() to free memory allocated with alloca().
89534
89535         2002-11-13  Bruno Haible  <bruno@clisp.org>
89536
89537                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89538                 function declarations.
89539                 * unsetenv.c (unsetenv): Likewise.
89540
89541         2002-03-04  Bruno Haible  <bruno@clisp.org>
89542
89543                 Portability to AIX 4.3.3.
89544                 * unsetenv.c: New file, extracted from setenv.c.
89545                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89546
89547         2001-12-20  Bruno Haible  <bruno@clisp.org>
89548
89549                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89550                 use malloc instead. For SunOS 4.
89551
89552         2001-12-11  Bruno Haible  <bruno@clisp.org>
89553
89554                 * setenv.c: Declare alloca.
89555                 (compar_fn_t): New typedef.
89556                 (KNOWN_VALUE, STORE_VALUE): Use it.
89557
89558         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89559         setenv.h.
89560
89561 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89562
89563         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89564         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89565         Choose values that are less likely to collide with system fnmatch
89566         options.
89567         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89568         defined (e.g., a pure POSIX system).
89569         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89570         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89571
89572 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89573
89574         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89575         a pain in practice to deal with generated m4 files.  This change
89576         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89577
89578         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89579         and jm-glibc-io.m4, as they are no longer a special case.
89580         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89581         kludge and the auto-generation stuff.  Check only whether the
89582         functions are declared, not whether they exist, since older hosts
89583         that don't declare the functions can't use the optimization anyway.
89584
89585 2002-12-06  Jim Meyering  <jim@meyering.net>
89586
89587         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89588
89589         Merge in changes from libc's misc/error.c, in preparation
89590         for the merge of gnulib's changes back into libc.
89591
89592         * lib/error.c (_): Define only if not already defined.
89593         Move definition to follow all #include directives.
89594         Include unlocked-io.h only if !_LIBC.
89595         [_LIBC]: Include <libio/libioP.h>.
89596         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89597         (fflush): Tweak definition to use INTUSE.
89598         (putc): Define.
89599
89600 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89601
89602         * lib/alloca.c [defined emacs]: Include "lisp.h".
89603         (xalloc_die) [defined emacs]: New macro.
89604         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89605         [! defined emacs]: Include <xalloc.h>.
89606         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89607         (pointer): Typedef to POINTER_TYPE *.
89608         (malloc): Remove decl; we now always use xmalloc.
89609         (alloca): Use old-style definition, since Emacs needs this.
89610         Check for arithmetic overflow when computing combined size.
89611
89612 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89613
89614         Do not generate unlocked-io.h automatically, since it's easier to
89615         maintain it by hand.
89616
89617         * lib/unlocked-io.h: New file, from GNU diffutils,
89618         but with proper copyright notice and attribution.
89619         * lib/gen-uio: Remove.
89620         * lib/Makefile.am: Add copyright notice.
89621         (libfetish_a_SOURCES): Add unlocked-io.h.
89622         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89623         (DISTCLEANFILES, io_functions): Remove macros.
89624         (EXTRA_DIST): Remove gen_uio.
89625         (unlocked-io.h): Remove rule.
89626
89627 2002-12-04  Jim Meyering  <jim@meyering.net>
89628
89629         Reflect the fact that stat.c and lstat.c are no longer generated.
89630         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89631         (DISTCLEANFILES): Likewise.
89632         (EXTRA_DIST): Likewise.
89633         (all_local): Don't depend on stat.c or lstat.c.
89634         (stat.c, lstat.c): Remove rules.
89635         (EXTRA_DIST): Remove xstat.in.
89636
89637         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89638         * lib/stat.c: New file.  Contents mostly from xstat.in.
89639         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89640         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89641
89642         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89643         too.
89644         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89645
89646 2002-12-03  Jim Meyering  <jim@meyering.net>
89647
89648         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89649         but not semantics, to minimize the differences between these two files.
89650         (safe_read): Change comment to mention SAFE_READ_ERROR.
89651
89652         * lib/safe-read.c (IS_EINTR): Define.
89653         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89654
89655 2002-12-02  Jim Meyering  <jim@meyering.net>
89656
89657         * lib/safe-read.c (EINTR): Define.
89658         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89659         (INT_MAX): Provide fallback.
89660         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89661
89662         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89663
89664 2002-12-02  Bruno Haible  <bruno@clisp.org>
89665
89666         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89667         Define, taken from safe-read.c.
89668         (INT_MAX): Provide fallback.
89669         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89670         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89671
89672         * lib/safe-read.c (EINTR): Remove definition.
89673         (safe_read): Don't use EINTR if it is absent.
89674
89675 2002-12-01  Jim Meyering  <jim@meyering.net>
89676
89677         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89678         zero.
89679         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89680
89681 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89682
89683         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89684         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89685         with `if (! (value < limit)) abort ();', for readability.
89686
89687 2002-11-26  Karl Berry  <karl@gnu.org>
89688
89689         * lib/strdup.c: copy from libc again, with jim's ok.
89690         * lib/.cppi-disable: re-add strdup.c
89691
89692 2002-11-25  Karl Berry  <karl@gnu.org>
89693
89694         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89695         instead of "strtol.c".
89696
89697 2002-11-25  Karl Berry  <karl@gnu.org>
89698
89699         * config/install-sh: update from automake for variable quoting, $0 in
89700         error msgs, etc.
89701
89702         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89703         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89704         entry.
89705
89706 2002-11-25  Jim Meyering  <jim@meyering.net>
89707
89708         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89709
89710 2002-11-24  Karl Berry  <karl@gnu.org>
89711
89712         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89713         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89714
89715 2002-11-24  Jim Meyering  <jim@meyering.net>
89716
89717         Update from coreutils:
89718
89719         * lib/mktime.c: Merge in changes from libc.
89720
89721         Avoid a link-time failure on some Linux systems.
89722         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89723         (otherwise).
89724         (__mon_yday): Declare with the STATIC attribute.
89725         (__mktime_internal): Likewise.
89726         Based on a report from Greg Schafer.
89727
89728 2002-11-23  Jim Meyering  <jim@meyering.net>
89729
89730         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89731         Use `unsigned', not `int', as type of index.
89732
89733         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89734
89735         * lib/fsusage.c: Remove unneeded parentheses around operands of
89736         `defined'.
89737
89738 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89739
89740         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89741         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89742         so that we can be included first.
89743         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89744         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89745         No need to include stddef.h or sys/types.h any more.
89746         Surround local include files with "", not "<>".
89747         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89748         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89749         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89750         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89751         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89752         (ISPRINT): Remove; no longer needed now that we assume C89.
89753
89754         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89755         Preserve errno.
89756
89757         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89758         quotearg_char): Use SIZE_MAX rather than
89759         (size_t) -1 when we are talking about "infinity".
89760
89761         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89762
89763 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89764
89765         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89766         hint that one should use `if (! x) abort ();' rather than `assert
89767         (x);', and anyway it's one less thing to worry about configuring.
89768         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89769         hash_rehash, hash_insert): Use abort rather than assert.
89770
89771 2002-11-22  Bruno Haible  <bruno@clisp.org>
89772
89773         * lib/safe-read.h: Assume C89. Add comments.
89774         (safe_read): Change return type to size_t.
89775         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89776         byte counts > SSIZE_MAX correctly.
89777         * lib/safe-write.h: New file.
89778         * lib/safe-write.c: New file.
89779         * lib/full-read.h: New file.
89780         * lib/full-read.c: New file.
89781         * lib/full-write.h: Assume C89. Add comments.
89782         * lib/full-write.c: Include safe-write.h.
89783         (full_write): Rewritten to use safe_write.
89784         Suggested by Jim Meyering and Paul Eggert.
89785
89786 2002-11-21  Jim Meyering  <jim@meyering.net>
89787
89788         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89789
89790         Merge in changes from the coreutils.
89791
89792         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89793         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89794         <stdint.h>.
89795         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89796         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89797         int.  Work more efficiently if X is the same width as uintmax_t.
89798         Do not compare X to -1, to avoid bogus compiler warning.
89799         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89800         Don't assume that f_frsize and f_bsize are the same type.
89801
89802         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89803         warning on FreeBSD.
89804
89805         * lib/makepath.c (make_path): Restore umask *before* creating the final
89806         component.
89807         (make_path): Minor reformatting.
89808
89809         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89810         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89811         HAVE_MALLOC/HAVE_REALLOC.
89812
89813         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89814         dummy ones.  At least on GNU/Linux systems, `auto' means something
89815         else.
89816         From Michael Stone.
89817
89818 2002-11-21  Bruno Haible  <bruno@clisp.org>
89819
89820         Remove case insensitive option matching.
89821         * lib/argmatch.h (argcasematch): Remove declaration.
89822         (ARGCASEMATCH): Remove macro.
89823         (__xargmatch_internal): Remove case_sensitive argument.
89824         (XARGMATCH): Update.
89825         (XARGCASEMATCH): Remove macro.
89826         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89827         case_sensitive argument.
89828         (argcasematch): Remove function.
89829         (__xargmatch_internal): Remove case_sensitive argument.
89830         (main): Use XARGMATCH instead of XARGCASEMATCH.
89831
89832         * lib/xmalloc.c: Change compile-time error message. Add comment about
89833         required autoconf version.
89834
89835 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89836
89837         Merge argmatch cleanups from Bison.  Assume C89.
89838
89839         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89840         Include stdlib.h, for EXIT_FAILURE.
89841         Always include <string.h>, since we assume C89.
89842         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89843         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89844         Include <stddef.h> instead, since it's all we need for size_t.
89845         (PARAMS): Remove.  All uses removed.
89846         (ARRAY_CARDINALITY): Do not bother to #undef.
89847         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89848         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89849         Remove unnecessary parentheses.
89850         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89851         Insert necessary parentheses.
89852         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89853         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89854
89855 2002-11-19  Bruno Haible  <bruno@clisp.org>
89856
89857         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89858         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89859
89860         * lib/mbswidth.h (PARAMS): Remove macro.
89861         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89862         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89863
89864         * lib/gcd.h (PARAMS): Remove macro.
89865         (gcd): Use ANSI C function declarations.
89866         * lib/gcd.c (gcd): Likewise.
89867
89868 2002-11-15  Bruno Haible  <bruno@clisp.org>
89869
89870         * lib/strcspn.c: Include <stddef.h>.
89871         (strcspn): Use ANSI C function declaration. Change return type to
89872         size_t. Use NULL.
89873         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89874         (strpbrk): Use NULL.
89875         * lib/strpbrk.h (PARAMS): Remove macro.
89876         (strpbrk): Use ANSI C function declaration.
89877         * lib/strstr.c: Don't include <sys/types.h>.
89878         * lib/strstr.h (PARAMS): Remove macro.
89879         (strstr): Use ANSI C function declarations.
89880
89881 2002-11-14  Karl Berry  <karl@gnu.org>
89882
89883         * config/mkinstalldirs: `do' on separate line, instead of
89884         `for var; do'.
89885
89886 2002-11-06  Bruno Haible  <bruno@clisp.org>
89887
89888         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89889         * lib/gcd.c (gcd): Likewise.
89890
89891 2002-11-05  Bruno Haible  <bruno@clisp.org>
89892
89893         * lib/gcd.h: New file, from gettext-0.11.5.
89894         * lib/gcd.c: New file, from gettext-0.11.5.
89895
89896 2002-11-05  Bruno Haible  <bruno@clisp.org>
89897
89898         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89899         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89900         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89901         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89902
89903         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89904         <libintl.h>.
89905         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89906         <libintl.h>.
89907
89908         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89909         * lib/human.c: Include gettext.h instead of <libintl.h>.
89910         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89911         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89912         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89913         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89914         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89915         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89916         (textdomain): Remove definition.
89917         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89918
89919         * lib/long-options.c: Remove include of <libintl.h> and definition of
89920         _.
89921         * lib/same.c: Remove include of <libintl.h> and definition of _.
89922
89923 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89924
89925         * lib/config.charset: A few additions for Solaris.
89926
89927 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89928
89929         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89930         * lib/localcharset.c (locale_charset): Declare as extern "C".
89931
89932 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89933
89934         * lib/config.charset: msdos in uk_UA uses CP1125.
89935
89936 2002-11-04  Bruno Haible  <bruno@clisp.org>
89937
89938         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89939         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89940         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89941         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89942         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89943
89944 2002-11-04  Bruno Haible  <bruno@clisp.org>
89945
89946         * lib/localcharset.c (locale_charset): Don't return an empty string.
89947
89948 2002-11-04  Bruno Haible  <bruno@clisp.org>
89949
89950         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89951         aliases.
89952
89953 2002-11-04  Bruno Haible  <bruno@clisp.org>
89954
89955         * lib/config.charset: Update for newest glibc. Add canonical names
89956         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89957
89958 2002-11-04  Bruno Haible  <bruno@clisp.org>
89959
89960         * lib/config.charset: Add support for NetBSD.
89961
89962 2002-11-04  Bruno Haible  <bruno@clisp.org>
89963
89964         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89965
89966 2002-11-01  Bruno Haible  <bruno@clisp.org>
89967
89968         * configure.in: Add AC_CONFIG_AUX_DIR call.
89969         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89970         test/Makefile.
89971         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89972
89973 2002-09-28  Karl Berry  <karl@gnu.org>
89974
89975         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89976         installed automake until the next release, since changes have been
89977         made.
89978
89979 2002-09-25  Karl Berry  <karl@gnu.org>
89980
89981         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89982         * lib/getopt*: copy from libc/posix.
89983         * lib/gettext.h: copy from gettext.
89984         * lib/.cppi-disable: add strdup.c, gettext.h.
89985
89986 2002-09-25  Karl Berry  <karl@gnu.org>
89987
89988         * config/srclist.txt: enable gettext.h check.
89989         * config/config.{guess,sub}: update from prep.
89990         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89991                 from automake 1.6.3.
89992         See srclist*.
89993
89994 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89995
89996         * regex.c (PATFETCH): Remove the translating fetch.
89997         (PATFETCH_RAW): Rename to PATFETCH.
89998         (set_image_of_range): New fun.
89999         (SET_RANGE_TABLE_WORK_AREA): Use it.
90000         (regex_compile): Don't translate the pattern chars so eagerly.
90001         Only do it when inserting an `exactn' bytecode or when handling
90002         a char-range.
90003         (mutually_exclusive_p): Avoid empty statement.
90004
90005 2002-07-06  Jim Meyering  <meyering@lucent.com>
90006
90007         * m4/README: Don't mention Makefile.am.in.
90008         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
90009
90010 2002-07-01  Jim Meyering  <meyering@lucent.com>
90011
90012         * lib/c-stack.c: Include sys/time.h.
90013         From Volker Borchert.
90014
90015 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90016
90017         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
90018
90019 2002-06-26  Paul Eggert  <eggert@twinsun.com>
90020
90021         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
90022         New macro.  Use it uniformly instead of
90023         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
90024         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
90025         reported by Vin Shelton.
90026
90027 2002-06-22  Paul Eggert  <eggert@twinsun.com>
90028
90029         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
90030         Do not assume SA_SIGINFO behavior.
90031         Bug reported by Jim Meyering on NetBSD 1.5.2.
90032
90033 2002-06-22  Jim Meyering  <meyering@lucent.com>
90034
90035         * m4/c-stack.m4: New file, from diffutils-2.8.2.
90036         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
90037
90038         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
90039         now that configure.ac uses AC_GNU_SOURCE.
90040         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
90041         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
90042
90043         Update to latest tools.  Suggestions from Paul Eggert.
90044         * m4/stdbool.m4: New file, from diffutils-2.8.2.
90045         * m4/gnu-source.m4: Update from diffutils-2.8.2.
90046         * m4/fnmatch.m4: Likewise.
90047         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
90048         to AC_HEADER_STDBOOL
90049
90050 2002-06-22  Jim Meyering  <meyering@lucent.com>
90051
90052         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
90053         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
90054
90055 2002-06-22  Jim Meyering  <meyering@lucent.com>
90056
90057         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
90058
90059         * lib/exitfail.c, exitfail.h: Likewise.
90060         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
90061
90062         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
90063         of fnmatch.h.
90064         (EXTRA_DIST): Add fnmatch_loop.c.
90065         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
90066
90067         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
90068         * lib/fnmatch.c: Update from diffutils-2.8.2.
90069         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
90070         * lib/fnmatch.h: Remove file.
90071
90072 2002-06-21  Jim Meyering  <meyering@lucent.com>
90073
90074         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
90075         * m4/mbrtowc.m4: Likewise.
90076
90077         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
90078         * m4/mbswidth.m4: Reflect name change:
90079         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
90080         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
90081
90082         * m4/lib-link.m4: Update from gettext-0.11.2.
90083         * m4/gettext.m4: Likewise.
90084
90085         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
90086         From Alfred M. Szmidt.
90087
90088 2002-06-18  Paul Eggert  <eggert@twinsun.com>
90089
90090         * lib/file-type.h: Report an error if neither S_ISREG nor
90091         S_IFREG is defined, instead of using a test specific to glibc
90092         2.2.  This should be safe, since POSIX requires S_ISREG and
90093         Unix Version 7 had S_IFREG.  We don't need to check for
90094         <sys/types.h> since we don't use any symbols that it defines.
90095
90096 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
90097
90098         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
90099         $@-t, so that each temporary file name is unique and valid in the first
90100         8 characters, for operation under DOS.
90101
90102 2002-06-15  Paul Eggert  <eggert@twinsun.com>
90103
90104         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
90105
90106 2002-06-15  Jim Meyering  <meyering@lucent.com>
90107
90108         Work even with DJGPP 2.03, which lacks support for symlinks.
90109         From Richard Dawe.
90110         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
90111         is defined.
90112         * lib/lchown.c (S_ISLNK): Likewise.
90113
90114 2002-06-15  Jim Meyering  <meyering@lucent.com>
90115
90116         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
90117         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
90118         have been included before this file.
90119
90120 2002-06-14  Jim Meyering  <meyering@lucent.com>
90121
90122         * lib/file-type.h: Use the version from diffutils-2.8.2.
90123         * lib/file-type.c: Likewise.
90124
90125 2002-06-07  Jim Meyering  <meyering@lucent.com>
90126
90127         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
90128         They're needed at least for NetBSD 1.5.2.
90129         ($statxfs_includes): Include those same headers.
90130         ($statxfs_includes): Include sys/vfs.h if available.
90131         ($statxfs_includes): Likewise for sys/statvfs.h.
90132         Check for the following members in both structs statfs and statvfs:
90133         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
90134
90135 2002-06-01  Jim Meyering  <meyering@lucent.com>
90136
90137         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
90138         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
90139
90140 2002-05-28  Jim Meyering  <meyering@lucent.com>
90141
90142         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
90143         Reported by Volker Borchert.
90144
90145 2002-05-27  Jim Meyering  <meyering@lucent.com>
90146
90147         Fix a problem seen only on nonconforming systems whereby ls.c's
90148         use of localtime, and then of gettimeofday would cause trouble:
90149         the localtime call used to initialize rpl_gettimeofday's save
90150         mechanism would clobber ls's current local time information so
90151         that in any long listing the first file would always be listed
90152         with date 1970-01-01.  Analysis by Volker Borchert.
90153
90154         * lib/gettimeofday.c (localtime): Undefine.
90155         (rpl_localtime): New function.
90156
90157 2002-05-27  Jim Meyering  <meyering@lucent.com>
90158
90159         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
90160         localtime.
90161
90162         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
90163         use the replacement function; it wouldn't resolve at link time.
90164         Reported by Volker Borchert.
90165
90166 2002-05-22  Jim Meyering  <meyering@lucent.com>
90167
90168         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
90169         file-type.h.
90170         * lib/file-type.h: New file.
90171         * lib/file-type.c (file_type): New file/function.  Extracted from
90172         diffutils.
90173
90174 2002-04-30  Jim Meyering  <meyering@lucent.com>
90175
90176         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
90177
90178 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90179
90180         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
90181
90182 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90183
90184         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
90185         Do not check for alloca.h (no longer used) or stdbool.h (was never
90186         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
90187
90188 2002-04-29  Paul Eggert  <eggert@twinsun.com>
90189
90190         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
90191
90192 2002-04-29  Jim Meyering  <meyering@lucent.com>
90193
90194         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
90195         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
90196         Use AC_FUNC_STRNLEN here instead.
90197
90198         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
90199         With autoconf-2.53a, it's part of AC_PROG_CC.
90200
90201 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90202
90203         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
90204         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
90205
90206 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90207
90208         * lib/sig2str.h, lib/sig2str.c: New files.
90209         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
90210
90211 2002-04-28  Paul Eggert  <eggert@twinsun.com>
90212
90213         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
90214         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
90215         of 127, since 64 is the largest conceivable number for ancient
90216         nonstandard hosts.
90217         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
90218
90219 2002-04-28  Jim Meyering  <meyering@lucent.com>
90220
90221         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
90222
90223 2002-04-24  Jim Meyering  <meyering@lucent.com>
90224
90225         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
90226         (jm_PREREQ): Use it.
90227
90228         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
90229         mach/mach.h fcntl.h.
90230         Check for this function: setlocale.
90231
90232 2002-04-24  Jim Meyering  <meyering@lucent.com>
90233
90234         * lib/gettext.h: New file, from Gettext.
90235         * lib/Makefile.am (INCLUDES): Remove -I../intl.
90236         (libfetish_a_SOURCES): Add gettext.h.
90237
90238 2002-04-16  Jim Meyering  <meyering@lucent.com>
90239
90240         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
90241         ut_pid, ut_id, ut_exit.
90242
90243 2002-04-16  Jim Meyering  <meyering@lucent.com>
90244
90245         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
90246         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
90247         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
90248
90249 2002-04-12  Jim Meyering  <meyering@lucent.com>
90250
90251         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
90252         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
90253         existence of the getmntinfo function.  Needed for Darwin 5.3.
90254
90255         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
90256         This is necessary at least on Darwin 5.3.
90257
90258         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
90259         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
90260         strnlen.o in the library, and that makes some versions of ranlib
90261         object.
90262
90263 2002-04-12  Jim Meyering  <meyering@lucent.com>
90264
90265         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
90266
90267 2002-04-09  Jim Meyering  <meyering@lucent.com>
90268
90269         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
90270         to be more precise.  Rather than saying we're checking whether the
90271         function `works', say what we're testing.
90272         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
90273         Reported by Bruno Haible.
90274
90275 2002-03-10  Jim Meyering  <meyering@lucent.com>
90276
90277         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
90278         Suggestion from Santiago Vila.
90279
90280 2002-03-08  Jim Meyering  <meyering@lucent.com>
90281
90282         * lib/rename.c: Mention that this wrapper is needed also on
90283         mips-dec-ultrix4.4 systems.
90284
90285 2002-03-02  Jim Meyering  <meyering@lucent.com>
90286
90287         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
90288         not HAVE_CLOCK_SETTIME.
90289
90290 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90291
90292         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
90293         Check for clock_settime.
90294
90295 2002-02-27  Paul Eggert  <eggert@twinsun.com>
90296
90297         * lib/nanosleep.h: Rename to....
90298         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
90299
90300         * lib/gettime.c: New file.
90301         * lib/settime.c: New file.
90302         * lib/stime.c: Remove.
90303
90304         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
90305         timespec.h.  Remove nanosleep.h.
90306
90307 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90308
90309         * m4/acl.m4: New file.
90310         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
90311         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
90312
90313 2002-02-25  Paul Eggert  <eggert@twinsun.com>
90314
90315         * lib/acl.c, lib/acl.h: New files.
90316         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
90317
90318 2002-02-24  Jim Meyering  <meyering@lucent.com>
90319
90320         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
90321         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
90322         cause trouble.  Reported by Nelson Beebe.
90323
90324 2002-02-23  Paul Eggert  <eggert@twinsun.com>
90325
90326         * lib/path-concat.c (xpath_concat): Reorder code to pacify
90327         compilers that don't know that xalloc_die never returns.
90328
90329 2002-02-20  Jim Meyering  <meyering@lucent.com>
90330
90331         * lib/getdate.c: Regenerate using bison-1.33.
90332
90333 2002-02-17  Jim Meyering  <meyering@lucent.com>
90334
90335         * config/config.guess (main): Don't use `head -1'; it's no longer
90336         portable. Use `sed 1q' instead.
90337
90338 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
90339
90340         * m4/codeset.m4: Upgrade to gettext-0.11.
90341         * m4/gettext.m4: Upgrade to gettext-0.11.
90342         * m4/glibc21.m4: Upgrade to gettext-0.11.
90343         * m4/iconv.m4: Upgrade to gettext-0.11.
90344         * m4/isc-posix.m4: Upgrade to gettext-0.11.
90345         * m4/lcmessage.m4: Upgrade to gettext-0.11.
90346         * m4/lib-ld.m4: New file, from gettext-0.11.
90347         * m4/lib-link.m4: New file, from gettext-0.11.
90348         * m4/lib-prefix.m4: New file, from gettext-0.11.
90349         * m4/progtest.m4: Upgrade to gettext-0.11.
90350
90351 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90352
90353         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
90354         (jm_PREREQ): Use it.
90355
90356 2002-02-15  Paul Eggert  <eggert@twinsun.com>
90357
90358         * lib/posixver.c, lib/posixver.h: New files.
90359         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90360
90361 2002-02-02  Paul Eggert  <eggert@twinsun.com>
90362             Bruno Haible  <bruno@clisp.org>
90363
90364         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
90365         (fwrite_success_callback): New declaration.
90366         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
90367         print_unicode_char. Call failure callback instead of error.
90368         (fwrite_success_callback): New function.
90369         (exit_failure_callback): New function.
90370         (fallback_failure_callback): New function.
90371         (print_unicode_char): Call unicode_to_mb.
90372
90373 2002-01-26  Jim Meyering  <meyering@lucent.com>
90374
90375         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
90376         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
90377
90378 2002-01-26  Jim Meyering  <meyering@lucent.com>
90379
90380         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
90381
90382 2002-01-22  Paul Eggert  <eggert@twinsun.com>
90383
90384         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
90385
90386 2002-01-22  Jim Meyering  <meyering@lucent.com>
90387
90388         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
90389         Otherwise, some versions of automake would omit the rule that makes
90390         Makefile from Makefile.in.
90391
90392 2002-01-21  Paul Eggert  <eggert@twinsun.com>
90393
90394         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
90395         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
90396         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
90397         (memcoll): Set errno to zero if there is no error.
90398
90399         * lib/quotearg.c (quotearg_buffer_restyled):
90400         Fix bug with quoting buffers containing NUL when backslashing escapes.
90401         This bug was exposed by the other changes in this patch.
90402         (quotearg_n_options): New arg ARGSIZE.
90403         All callers changed.
90404         (quoting_options_from_style): New function.
90405         (quotearg_n_style): Use it.
90406         (quotearg_n_style_mem): New function.
90407
90408         * lib/quotearg.h (quotearg_n_style_mem): New function.
90409
90410 2002-01-19  Jim Meyering  <meyering@lucent.com>
90411
90412         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
90413         Remove useless quotes: DF_PROG="df".
90414         * m4/strnlen.m4: New file.
90415
90416 2002-01-16  Paul Eggert  <eggert@twinsun.com>
90417
90418         * lib/backupfile.c (ISDIGIT): Comment fix.
90419         * lib/getdate.y (ISDIGIT): Likewise.
90420         * lib/posixtm.c (ISDIGIT, year): Likewise.
90421         * lib/strverscmp.c (ISDIGIT): Likewise.
90422         * lib/userspec.c (ISDIGIT): Likewise.
90423
90424 2002-01-16  Jim Meyering  <meyering@lucent.com>
90425
90426         * lib/getdate.y: Add three semicolons, each just before a closing
90427         brace. Bison (as of version 1.31) no longer papers over that mistake.
90428
90429 2002-01-05  Jim Meyering  <meyering@lucent.com>
90430
90431         * lib/version-etc.c (version_etc_copyright): Update copyright year.
90432
90433 2001-12-19  Paul Eggert  <eggert@twinsun.com>
90434
90435         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
90436         not silently exit merely because the output buffer happens to
90437         have nothing pending.
90438
90439 2001-12-18  Paul Eggert  <eggert@twinsun.com>
90440
90441         See the big note in ../ChangeLog.
90442         * lib/human.c (suffixes): Prefer K to k for 1024.
90443         (generate_suffix_backwards): New function.
90444         (human_readable_inexact): Use it.
90445         * lib/xstrtol.c (__xstrtol): If there is no number but there
90446         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90447         Accept 'K' as well as 'k'.
90448
90449 2001-12-15  Jim Meyering  <meyering@lucent.com>
90450
90451         * lib/regex.h (__restrict_arr): Update from libc.
90452
90453         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90454         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90455         (STREQ): Define.
90456
90457 2001-12-14  Jim Meyering  <meyering@lucent.com>
90458
90459         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90460         Suggestion from Bruno Haible.
90461
90462 2001-12-10  Jim Meyering  <meyering@lucent.com>
90463
90464         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90465         xrealloc, Instead, include "xalloc.h".
90466         (initbuffer): Don't cast xmalloc return value to char*.
90467         (readline): Reword comment.
90468         Don't cast xrealloc return value to char*
90469         Return NULL, not 0.
90470
90471 2001-12-09  Jim Meyering  <meyering@lucent.com>
90472
90473         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90474         about `signed and unsigned type in conditional expression'.
90475         * lib/posixtm.c (posix_time_parse): Likewise.
90476
90477         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90478
90479         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90480         to avoid a pedantic warning.
90481
90482         * lib/getstr.c: Don't include assert.h.
90483         (getstr): Remove warning-evoking assertions.
90484         Return -1 if offset parameter is out of bounds.
90485         Change the type of a local from int to size_t.
90486
90487         * lib/strftime.c (my_strftime_localtime_r): Include this function
90488         definition in the `#if ! HAVE_TM_GMTOFF' block.
90489
90490         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90491         Include xalloc.h instead.
90492
90493 2001-12-02  Jim Meyering  <meyering@lucent.com>
90494
90495         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90496         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90497         included.
90498
90499         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90500         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90501
90502 2001-11-30  Akim Demaille  <akim@epita.fr>
90503
90504         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90505         before being defined.
90506
90507 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90508
90509         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90510         First arg is int, not unsigned.
90511         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90512         (SIZE_MAX, UINT_MAX): New macros.
90513         (quotearg_n_options): Abort if N is negative.
90514         Avoid overflow check on hosts where size_t is 64 bits and int
90515         is 32 bits, as overflow is impossible there.
90516         Fix off-by-one typo that caused unnecessary reallocation.
90517
90518 2001-11-27  Jim Meyering  <meyering@lucent.com>
90519
90520         * lib/tempname.c: Merge with version from libc.
90521         * lib/regex.c: Likewise.
90522
90523         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90524         systems for which STDC_HEADERS is 0, it was not included, resulting in
90525         a warning about an integer-to-pointer conversion problem with getenv.
90526         Reported by Volker Borchert.
90527
90528 2001-11-26  Jim Meyering  <meyering@lucent.com>
90529
90530         * lib/gtod.h: Remove file.
90531         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90532         * lib/gettimeofday.c: Don't include gtod.h.
90533         (GTOD_init): Remove function.
90534         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90535         Suggestion from Volker Borchert.
90536
90537 2001-11-23  Jim Meyering  <meyering@lucent.com>
90538
90539         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90540         it.
90541         * lib/hash.c (struct hash_table): Define it here instead.
90542
90543 2001-11-22  Jim Meyering  <meyering@lucent.com>
90544
90545         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90546
90547 2001-11-20  Jim Meyering  <meyering@lucent.com>
90548
90549         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90550         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90551
90552 2001-11-19  Jim Meyering  <meyering@lucent.com>
90553
90554         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90555         directory.  Use "conftestXXXXXX" as the template.
90556         Suggestion from Paul Eggert.
90557
90558         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90559         immediately, so the test doesn't mistakenly hit the max-open-files
90560         limit.
90561
90562 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90563
90564         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90565         (TEMPORARIES): New macro.
90566         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90567         removes an artificial limitation (e.g. HP-UX 10.20, where
90568         TMP_MAX is 17576).
90569
90570 2001-11-18  Jim Meyering  <meyering@lucent.com>
90571
90572         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90573
90574 2001-11-18  Jim Meyering  <meyering@lucent.com>
90575
90576         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90577         on SunOS 4.
90578
90579         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90580         files will be created before anything else.
90581
90582 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90583
90584         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90585         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90586
90587 2001-11-17  Jim Meyering  <meyering@lucent.com>
90588
90589         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90590         Prompted by a report from Bob Proulx.
90591
90592         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90593         Instead, require UTILS_FUNC_MKSTEMP.
90594
90595 2001-11-17  Jim Meyering  <meyering@lucent.com>
90596
90597         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90598         Now, that's done as part of AC_FUNC_STRTOD.
90599
90600 2001-11-17  Jim Meyering  <meyering@lucent.com>
90601
90602         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90603         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90604         rather than group writable.  Patch by Juan F. Codagnone.
90605
90606         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90607         xrealloc, Instead, include "xalloc.h".
90608
90609         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90610         Remove explicit declarations of xmalloc, xrealloc,
90611         and xstrdup.  Instead, include "xalloc.h".
90612
90613         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90614         unlocked-io.h.
90615         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90616         Likewise.
90617         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90618
90619         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90620         Reported by Padraig Brady.
90621
90622         * lib/mkstemp.c: #undef mkstemp.
90623         Include config.h.
90624         (rpl_mkstemp): Rename from mkstemp.
90625         Protoize.
90626
90627 2001-11-16  Jim Meyering  <meyering@lucent.com>
90628
90629         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90630         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90631         determine the amount of total physical memory, use pstat_getstatic.
90632         HPUX-11 doesn't define _SC_PHYS_PAGES.
90633         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90634         If sysconf couldn't be used to determine the amount of available
90635         physical memory, use both pstat_getstatic and pstat_getdynamic.
90636         Based on a patch from Bob Proulx.
90637
90638 2001-11-10  Jim Meyering  <meyering@lucent.com>
90639
90640         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90641         (jm_PREREQ): Use it.
90642
90643 2001-11-09  Jim Meyering  <meyering@lucent.com>
90644
90645         * m4/jm-macros.m4: Require autoconf-2.52f.
90646         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90647         Use these AC_-prefixed names, not the AM_-prefixed ones.
90648
90649         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90650
90651 2001-11-05  Jim Meyering  <meyering@lucent.com>
90652
90653         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90654
90655 2001-11-04  Jim Meyering  <meyering@lucent.com>
90656
90657         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90658         $DEFS.
90659
90660 2001-11-03  Jim Meyering  <meyering@lucent.com>
90661
90662         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90663         of AC_DEFUN.
90664
90665         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90666         know the name of the variable in the macro definition.
90667
90668 2001-11-03  Jim Meyering  <meyering@lucent.com>
90669
90670         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90671         in argmatch_to_argument call.
90672
90673         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90674         argument.
90675
90676         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90677         e.g., a fault due to an attempt to free a NULL pointer.
90678
90679 2001-11-01  Jim Meyering  <meyering@lucent.com>
90680
90681         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90682         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90683
90684 2001-11-01  Jim Meyering  <meyering@lucent.com>
90685
90686         * lib/dirfd.c, lib/dirfd.h: New files.
90687         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90688
90689         * lib/hash.c (hash_print) [TESTING]: Clean up.
90690
90691 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90692
90693         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90694         to avoid a warning if -Wall.
90695
90696 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90697
90698         * README: New file
90699         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90700         (per RMS's instructions, this is now the canonical source)
90701         * lgpl/, gpl/: New directories.
90702
90703 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90704
90705         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90706
90707 2001-10-21  Jim Meyering  <meyering@lucent.com>
90708
90709         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90710         this code would end up calling gettext even in packages built
90711         with --disable-nls.
90712         * lib/getopt.c (_): Likewise.
90713         * lib/regex.c (_): Likewise.
90714
90715 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90716
90717         * m4/error.m4 (jm_PREREQ_ERROR):
90718         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90719         AC_FUNC_STRERROR_R does that.
90720         Check for strerror declaration.
90721
90722         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90723         are supposed to have them these days.
90724         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90725         Merge changes from latest Autoconf CVS.
90726         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90727         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90728         POSIX decided to standardize on the int flavor of strerror_r.
90729
90730 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90731
90732         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90733         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90734         Use strerror_r that is only a macro, even if it is not a function.
90735         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90736         (private_strerror): Use prototypes, not old-style function definition.
90737         (print_errno_message): New function.
90738         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90739         char*-flavored one.
90740         (error_tail, error, error_at_line): Use it.
90741
90742 2001-10-11  Jim Meyering  <meyering@lucent.com>
90743
90744         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90745         and quote_n (1, ... to avoid clobbering a buffer.
90746
90747 2001-10-05  Jim Meyering  <meyering@lucent.com>
90748
90749         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90750         hash-pjw.h.
90751         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90752         * lib/hash-pjw.h: New file.
90753
90754 2001-09-30  Jim Meyering  <meyering@lucent.com>
90755
90756         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90757         `struct fsstat' has the `f_fstypename' member.
90758         Use that to define FS_TYPE, which is now used to make
90759         the getfsstat link test tighter.
90760
90761 2001-09-30  Jim Meyering  <meyering@lucent.com>
90762
90763         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90764         Include <sys/ucred.h>, for Apple Darwin.
90765         Include sys/mount.h and sys/fs_types.h only if available.
90766         (FS_TYPE): Define.
90767         (read_filesystem_list): Use FS_TYPE.
90768
90769 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90770
90771         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90772         a boolean context.
90773
90774 2001-09-29  Jim Meyering  <meyering@lucent.com>
90775
90776         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90777         [one-argument getmntent function]): Include stdio.h before mntent.h.
90778         SunOS 4.1.x needs it for the declaration of `FILE'.
90779         Patch by Volker Borchert.
90780
90781         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90782         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90783         sys/fs_types.h, and make the link-test for getfsstat guard #include
90784         directives with appropriate #if HAVE_*_H tests so that we can
90785         detect getfsstat on Apple Darwin1.3.7 systems.
90786         Reported by Nelson Beebe.
90787         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90788
90789 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90790
90791         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90792         #defines strtoimax.  Also treat the other strto* functions
90793         like strtoimax.
90794
90795         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90796         Check for strtoul and strtoumax,
90797         as those declarations are made even in the signed case.
90798         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90799         Likewise, for strtol and strtoimax.
90800
90801 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90802
90803         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90804         #defines strtoimax.  Also treat the other strto* functions
90805         like strtoimax.
90806
90807         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90808         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90809         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90810
90811 2001-09-26  Jim Meyering  <meyering@lucent.com>
90812
90813         Most macros in unlocked-io.h had the wrong number of arguments.
90814         * lib/gen-uio: New script.
90815         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90816         * lib/unlocked-io.hin: Remove file.
90817         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90818         rather than trying to embed it here.
90819         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90820         Reported by Padraig Brady.
90821
90822 2001-09-25  Volker Borchert  <bt@teknon.de>
90823
90824         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90825         `result'.
90826
90827 2001-09-24  Jim Meyering  <meyering@lucent.com>
90828
90829         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90830
90831 2001-09-23  Jim Meyering  <meyering@lucent.com>
90832
90833         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90834         instead of the mere test for existence of mntent.h.  The latter
90835         would get a false-positive on AIX 3.4 systems.
90836         In the outer getmntent if-block, don't die if neither of the getmntent
90837         tests succeeds.  Instead, just fall through and continue with the
90838         remaining tests.
90839
90840 2001-09-23  Jim Meyering  <meyering@lucent.com>
90841
90842         * lib/mountlist.c: Remove useless parentheses in #if directives.
90843         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90844         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90845
90846 2001-09-22  Jim Meyering  <meyering@lucent.com>
90847
90848         * m4/gettext.m4: New file.  From gettext.
90849         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90850         * m4/progtest.m4: Likewise
90851         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90852         * m4/glibc21.m4: Likewise.
90853
90854         * m4/libintl.m4: Remove.  No longer used.
90855
90856 2001-09-22  Jim Meyering  <meyering@lucent.com>
90857
90858         * lib/localcharset.c: Update from latest gettext.
90859         * lib/config.charset: Likewise.
90860
90861 2001-09-20  Jim Meyering  <meyering@lucent.com>
90862
90863         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90864         strtoimax.
90865         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90866         strtoumax.
90867
90868 2001-09-20  Jim Meyering  <meyering@lucent.com>
90869
90870         * lib/xstrtol.c (strtoimax): Guard declaration with
90871         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90872         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90873         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90874         (strtoumax): Likewise, for completeness (it wasn't necessary).
90875
90876 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90877
90878         * lib/strtoimax.c (HAVE_LONG_LONG):
90879         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90880         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90881         to work around bug in IBM C compiler.
90882
90883 2001-09-17  Jim Meyering  <meyering@lucent.com>
90884
90885         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90886         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90887         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90888         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90889         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90890         whenever the right hand side need not be expanded by the shell.
90891
90892 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90893
90894         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90895         library.  It's not correct, as some older glibcs are buggy.
90896         fnmatch wasn't fixed until glibc 2.2.
90897
90898         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90899         special shell magic here.
90900
90901 2001-09-16  Jim Meyering  <meyering@lucent.com>
90902
90903         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90904         * m4/jm-macros.m4: Require it.
90905
90906 2001-09-16  Jim Meyering  <meyering@lucent.com>
90907
90908         * lib/mkdir.c: New file.
90909
90910 2001-09-15  Jim Meyering  <meyering@lucent.com>
90911
90912         * m4/jm-macros.m4: Check for help2man.
90913
90914 2001-09-11  Jim Meyering  <meyering@lucent.com>
90915
90916         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90917         The body, by Paul Eggert, was moved here from configure.in.
90918         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90919
90920 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90921
90922         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90923         (jm_PREREQ): Use it.
90924
90925 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90926
90927         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90928         Use ssize_t, not int, to store result of readlink.
90929         Check for ssize_t overflow as well as size_t overflow,
90930         as POSIX says the result of readlink is implementation-defined
90931         when ssize_t overflows.
90932         Remove unnecessary cast to char*.
90933         Use free+malloc instead of realloc, as the storage doesn't need
90934         to be preserved and it's clearer and can be more efficient that way.
90935         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90936         * lib/xreadlink.h (xreadlink): Update prototype.
90937
90938 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90939
90940         * lib/xgetcwd.c: Revert some of the previous change; intead,
90941         fix the HAVE_GETCWD_NULL code to behave more like the
90942         !HAVE_GETCWD_NULL code used to.
90943
90944         Include "xalloc.h".
90945         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90946         invoke xalloc_die.
90947
90948 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90949
90950         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90951         sys/param.h, as pathmax.h includes them.
90952
90953 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90954
90955         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90956         (jm_PREREQ_XGETCWD): New macro.
90957
90958         * m4/getcwd.m4: New file.
90959
90960 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90961
90962         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90963         like the HAVE_GETCWD_NULL code.
90964         Include pathmax.h if not HAVE_GETCWD.
90965         Do not include xalloc.h.
90966         (INITIAL_BUFFER_SIZE): New symbol.
90967         Do not use xmalloc / xrealloc, since the caller is responsible for
90968         handling errors.  Preserve errno around `free' during failure.
90969         Do not overrun buffer when using getwd.
90970
90971 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90972
90973         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90974         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90975         getcwd (NULL, 0).
90976
90977 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90978
90979         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90980         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90981         spotted by Jim Meyering.
90982
90983 2001-09-03  Jim Meyering  <meyering@lucent.com>
90984
90985         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90986         failure.
90987
90988 2001-09-02  Jim Meyering  <meyering@lucent.com>
90989
90990         * lib/error.c: Update from GNU libc.
90991
90992 2001-09-01  Jim Meyering  <meyering@lucent.com>
90993
90994         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90995         Used by df.
90996
90997 2001-09-01  Jim Meyering  <meyering@lucent.com>
90998
90999         * lib/xreadlink.c: New file.
91000         * lib/xreadlink.h: New file.
91001         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
91002         xreadlink.h.
91003
91004         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
91005         doesn't conflict with sparc Solaris 7's definition in
91006         /usr/include/sys/int_types.h.
91007
91008         * lib/exclude.c: Use `""', not `<>' to #include non-system header
91009         files.
91010         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
91011         and strncasecmp as r-values.  Unixware didn't have declarations.
91012
91013 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91014
91015         * lib/xstrtol.h: Add copyright notice.
91016         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
91017         LONGINT_INVALID_SUFFIX_CHAR.
91018
91019 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91020
91021         * lib/xstrtol.c (strtoimax): New decl.
91022
91023 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91024
91025         * lib/xgetcwd.c: Don't include pathmax.h.
91026         Include stdlib.h and unistd.h if available.
91027         Include xalloc.h.
91028         (xmalloc, xstrdup, free): Remove decls.
91029         (xgetcwd): Don't assume sizes fit in unsigned.
91030         Check for overflow when computing sizes.
91031         Simplify reallocation code.
91032
91033 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91034
91035         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
91036         a directory's st_size can have an arbitrary value, so the old
91037         usage could waste an arbitrary amount of memory.  All uses
91038         changed.
91039         * lib/savedir.h: Update prototype.
91040
91041 2001-08-31  Paul Eggert  <eggert@twinsun.com>
91042
91043         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
91044
91045         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
91046         old strtoimax.c.
91047
91048         Also, make the following further changes to make this file's
91049         configuration more similar to that of strtol.c:
91050         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
91051         (strtoumax, uintmax_t, strtoull, strtol): Remove.
91052         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
91053         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
91054         changed to signed values.
91055
91056         And make the following changes as well:
91057         Fix copyright notice, as 1999 was missing.
91058         (verify): New macro.
91059         (strtoimax): Check sizes at compile-time, not run-time.
91060         Prefer strtol to strtoll if both work.
91061         (main): Remove; it was not that useful and was a pain to maintain.
91062
91063         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
91064
91065 2001-08-31  Jim Meyering  <meyering@lucent.com>
91066
91067         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
91068         Use an initial, malloc'd, buffer of length 128 rather than
91069         a statically allocated one of length 1024.
91070
91071 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91072
91073         Simplify code, partly by assuming autoconf 2.52 semantics.
91074
91075         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
91076
91077         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
91078         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
91079         All uses removed.
91080         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
91081         Move AC_REQUIRE to next-to-top level, to avoid confusion.
91082         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
91083         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
91084         jm_AC_HEADER_INTTYPES_H.
91085         * m4/jm-macros.m4 (jm_MACROS): Likewise.
91086
91087         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
91088
91089         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
91090         Quote first arg of AC_DEFUN.
91091         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
91092         since they are needed to parse the include file even if we need
91093         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
91094         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
91095         but with opposite signedness.
91096
91097 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91098
91099         Merge 'exclude' changes from tar 1.13.22.
91100         This fixes one or two unlikely storage allocation overflow bugs,
91101         but doesn't change user-visible behavior otherwise.
91102
91103 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91104
91105         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
91106         (jm_PREREQ_EXCLUDE): New macro.
91107
91108 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91109
91110         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
91111         tm to be declared.
91112
91113 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91114
91115         * lib/hash.c: Remove '2001' from copyright notice.
91116
91117 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91118
91119         * lib/full-write.h: New file.
91120         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
91121         * lib/full-write.c: Correct credits, as cccp.c no longer
91122         exists and anyway it was so heavily changed from the old cccp
91123         code as to be unrecognizable.  Include full-write.h.
91124         (full_write): Return size_t, with short writes meaning failure.
91125         All callers changed.  This fixes a bug with large buffers
91126         on 64-bit hosts.
91127         * lib/utime.c: Include full-write.h.
91128
91129 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91130
91131         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
91132         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
91133         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
91134         Include if available.
91135         (<xalloc.h>): Include
91136         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
91137         (verify): New macro.  Use it to verify that EXCLUDE macros do not
91138         collide with FNM macros.
91139         (struct patopts): New struct.
91140         (struct exclude): Use it, as exclude patterns now come with options.
91141         (new_exclude): Support above changes.
91142         (new_exclude, add_exclude_file):
91143         Initial size must now be a power of two to simplify overflow checking.
91144         (free_exclude, fnmatch_no_wildcards): New function.
91145         (excluded_filename): No longer requires options arg, as the options
91146         are determined by add_exclude.  Now returns bool, not int.
91147         (excluded_filename, add_exclude):
91148         Add support for the fancy new exclusion options.
91149         (add_exclude, add_exclude_file): Now takes int options arg.
91150         Check for arithmetic overflow when computing sizes.
91151         (add_exclude_file): xrealloc might modify errno, so don't
91152         realloc until after errno might be used.
91153
91154         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
91155         New macros.
91156         (free_exclude): New decl.
91157         (add_exclude, add_exclude_file): Now takes int options arg.
91158         (excluded_filename): No longer requires options arg, as the options
91159         are determined by add_exclude.  Now returns bool, not int.
91160
91161 2001-08-30  Paul Eggert  <eggert@twinsun.com>
91162
91163         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
91164
91165 2001-08-27  Jim Meyering  <meyering@lucent.com>
91166
91167         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
91168
91169         * lib/version-etc.c (N_): Remove definition.
91170         Revert most of last change.
91171         Instead, simply don't mark the `Copyright...' string for translation.
91172         Based on advice from Paul Eggert.
91173
91174         * lib/strtoxmax.c: Tweak comment.
91175
91176 2001-08-26  Jim Meyering  <meyering@lucent.com>
91177
91178         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
91179
91180         * m4/xstrtoimax.m4: New file.
91181         * m4/xstrtoumax.m4: Add comments explaining why we
91182         AC_REPLACE_FUNCS(strtol).
91183
91184 2001-08-26  Jim Meyering  <meyering@lucent.com>
91185
91186         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
91187         of copyright with `%s' so translators don't get an untranslated
91188         message in 2002.
91189         (COPYRIGHT_YEAR): Define.
91190         (version_etc): Use fprintf rather than fputs.
91191         Suggestion from Ulrich Drepper.
91192
91193         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
91194
91195         * lib/strtoll.c: New file, from GNU libc.
91196         * lib/xstrtoimax.c: New file.
91197
91198         * lib/xstrtol.h: Add xstrtoimax.
91199         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
91200         * lib/strtoimax.c: New file.  Likewise, but first define
91201         STRTOUXMAX_SIGNED.
91202
91203         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
91204         ...
91205         * lib/strtoxmax.c: ... then renamed to this.
91206
91207 2001-08-18  Paul Eggert  <eggert@twinsun.com>
91208
91209         * m4/inttypes.m4: Add AC_PREREQ(2.13).
91210         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
91211         (jm_AC_TYPE_INTMAX_T): New macro.
91212         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
91213
91214         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
91215
91216         * m4/longlong.m4: Renamed from ulonglong.m4.
91217         * m4/inttypes.m4: Renamed from inttypes_h.m4.
91218         * m4/uintmax_t.m4: Removed.
91219
91220 2001-08-13  Paul Eggert  <eggert@twinsun.com>
91221
91222         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
91223         Port to Solaris 8, where 'sed' requires a space after the 'r'
91224         command, and where sh dislikes "$/".  Clean up the spacing a bit.
91225         Redirect output to $tmp just once.
91226
91227 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
91228
91229         * lib/addext.c (<errno.h>): Include.
91230         (errno): Declare if not defined.
91231         (addext): Work correctly when pathconf returns -1 and leaves
91232         errno alone because there is no limit.  Also, work even if
91233         pathconf returns a value greater than SIZE_MAX.
91234
91235 2001-08-12  Jim Meyering  <meyering@lucent.com>
91236
91237         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
91238         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
91239         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
91240         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
91241         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
91242         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
91243         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
91244         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
91245         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
91246         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
91247         utime.m4, utimes.m4, xstrtoumax.m4:
91248         Quote the first argument in each use of AC_DEFUN.
91249
91250 2001-08-12  Jim Meyering  <meyering@lucent.com>
91251
91252         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
91253         Simply `return getcwd (NULL, 0);'.
91254         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
91255         Use 1300 as initial value for length, not PATH_MAX.
91256
91257         * lib/pathmax.h: Clean up cpp syntax.
91258
91259 2001-08-12  Jim Meyering  <meyering@lucent.com>
91260
91261         * lib/gettimeofday.c: New file.
91262         * lib/gtod.h: New file.
91263         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
91264
91265 2001-08-05  Jim Meyering  <meyering@lucent.com>
91266
91267         * m4/jm-macros.m4: Require autoconf-2.52.
91268
91269 2001-08-04  Jim Meyering  <meyering@lucent.com>
91270
91271         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
91272         stmt, to get in sync with glibc.
91273
91274 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91275
91276         The following changes are from gettext 0.10.39 as maintained by
91277         Bruno Haible.
91278
91279         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
91280         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
91281         with inverted sense.  All uses changed.
91282
91283         * lib/mbswidth.c: Don't include <limits.h>.
91284         Include <stdlib.h> and <string.h> unconditionally.
91285         (iswcntrl, mbsinit, ISCNTRL): New macros.
91286         (mbsnwidth): Use K&R style function declarations.
91287         Don't bother checking for MB_LEN_MAX == 1, since the compiler
91288         can optimize it when MB_CUR_MAX == 1.
91289         The width of control characters is zero, not 1.
91290
91291 2001-08-03  Paul Eggert  <eggert@twinsun.com>
91292
91293         The following changes are from gettext 0.10.39 as maintained by
91294         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
91295
91296         * m4/codeset.m4: Upgrade to serial AM1.
91297         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
91298         all uses changed.  Quote first arg of AC_DEFUN.
91299         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
91300
91301         * m4/iconv.m4: Upgrade to serial AM2.
91302         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
91303         Add --with-libconv-prefix.
91304         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
91305         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
91306         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
91307         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
91308         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
91309
91310         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
91311         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
91312         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
91313         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
91314         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
91315         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
91316         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
91317         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
91318         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
91319
91320         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
91321         string.h any more.
91322
91323         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
91324         not the default value.
91325
91326         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
91327         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
91328         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
91329         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
91330         Also check for iswcntrl, used for wcwidth fallback.
91331         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
91332         to Autoconf 2.13.
91333
91334 2001-08-03  Jim Meyering  <meyering@lucent.com>
91335
91336         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
91337         as it was in the original.  Reported by Paul Eggert.
91338
91339 2001-07-16  Jim Meyering  <meyering@lucent.com>
91340
91341         * m4/gettimeofday.m4: New file.
91342         Prompted by a report from Bernhard Baehr.
91343
91344 2001-07-15  Jim Meyering  <meyering@lucent.com>
91345
91346         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
91347         stuff. Now it's in ../Makefile.cfg.
91348
91349 2001-07-15  Jim Meyering  <meyering@lucent.com>
91350
91351         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
91352         (BUILT_SOURCES): Add unlocked-io.h.
91353         (io_functions): Define.
91354         (unlocked-io.h): New rule.
91355         (DISTCLEANFILES): Add unlocked-io.h.
91356         (all-local): Depend on unlocked-io.h, to ensure it is created.
91357
91358         * lib/unlocked-io.hin: New file
91359
91360         * lib/regex.c: Update from glibc.
91361
91362 2001-07-05  Jim Meyering  <meyering@lucent.com>
91363
91364         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
91365         recommendation.
91366         (libfetish_a_SOURCES): Put all .h files here instead.
91367         Remove a thus-exposed (better checks in automake) duplicate and
91368         two unnecessary .h files.
91369
91370 2001-07-04  Jim Meyering  <meyering@lucent.com>
91371
91372         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
91373         that generates jm-glibc-io.m4 so that it doesn't trigger any make
91374         distcheck failure.
91375
91376 2001-07-02  Jim Meyering  <meyering@lucent.com>
91377
91378         The following changes were prompted by suggestions from Bruno Haible.
91379
91380         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
91381         is now generated.
91382         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
91383         definition of EXTRA_DIST.
91384         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
91385         ensure that the generated file is created/updated whenever the list
91386         of $(unlocked_functions) is changed.
91387         (jm-glibc-io.m4): New rule.
91388         (unlocked-io.h): New rule -- currently unused.
91389
91390 2001-06-24  Jim Meyering  <meyering@lucent.com>
91391
91392         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
91393         unmatched right bracket, rather than kludging it with an extra,
91394         falsely-matching quote in a comment.  Patch by Akim Demaille.
91395
91396 2001-06-11  Jim Meyering  <meyering@lucent.com>
91397
91398         * lib/regex.c: Update from GNU libc.
91399
91400 2001-05-27  Jim Meyering  <meyering@lucent.com>
91401
91402         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
91403         Check for ut_type in struct utmp.
91404
91405 2001-05-27  Jim Meyering  <meyering@lucent.com>
91406
91407         * lib/readutmp.h (UT_TYPE): Define.
91408
91409 2001-05-24  Jim Meyering  <meyering@lucent.com>
91410
91411         * lib/argmatch.c: Include "quote.h".
91412         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
91413         quote function.  Reported by Göran Uddeborg.
91414
91415 2001-05-22  Jim Meyering  <meyering@lucent.com>
91416
91417         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
91418         now that we use the package-supplied version unconditionally.
91419         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
91420
91421 2001-05-21  Jim Meyering  <meyering@lucent.com>
91422
91423         * m4/regex.m4: Change a couple backticks to single quotes to avoid
91424         shell syntax errors.
91425
91426 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91427
91428         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
91429
91430 2001-05-20  Paul Eggert  <eggert@twinsun.com>
91431
91432         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
91433         Don't bother to check library strftime, since
91434         we'll be using our own my_strftime function anyway.
91435         Define my_strftime instead of strftime.
91436
91437 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
91438
91439         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
91440         which is not yet declared.
91441
91442 2001-05-15  Jim Meyering  <meyering@lucent.com>
91443
91444         * m4/regex.m4: Use proper quoting so brackets appear in the test
91445         program.
91446         Reported by, and with help from, Bruno Haible.
91447
91448 2001-05-13  Jim Meyering  <meyering@lucent.com>
91449
91450         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91451         undefined.
91452
91453 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91454
91455         dirname code cleanup.  base_name now behaves more compatibly
91456         with POSIX basename when given file names that have trailing
91457         slashes, and similarly for dir_name.  Add new primitives
91458         base_len and dir_len.  Put the directory-name-related decls
91459         into dirname.h.
91460
91461         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91462         * lib/backupfile.c (base_name): Likewise.
91463         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91464         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91465         * lib/makepath.c (strip_trailing_slashes): Likewise.
91466         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91467         ISSLASH): Likewise.
91468         * lib/rename.c (strip_trailing_slashes): Likewise.
91469         * lib/same.c (base_name): Likewise.
91470         * lib/stripslash.c (ISSLASH): Likewise.
91471
91472         * lib/addext.c: Include <dirname.h> after size_t is defined.
91473         * lib/backupfile.c: Likewise.
91474
91475         * lib/addext.c (addext): Use base_len to trim redundant
91476         trailing slashes instead of doing it ourselves.
91477         But do not trim the last slash if it is not redundant.
91478
91479         * lib/backupfile.c (find_backup_file_name,
91480         max_backup_version): Use base_len instead of rolling it ourselves.
91481         Handle the case of "" and (on DOS) "C:" correctly.
91482
91483         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91484         needed. Include <string.h>, <dirname.h>.
91485         (base_name): Allow file names ending in slashes, other than names
91486         that are all slashes.  In this case, return the basename followed
91487         by the slashes.  This is more general, and can be used in places
91488         where the original base_name purposely had an assertion failure.
91489         (base_len): New function.
91490
91491         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91492         Do not include <assert.h>; no longer needed.
91493         Include xalloc.h.
91494         (memrchr): Remove decl.
91495         (dir_name_r): Remove.
91496         (dir_len): Renamed from dirlen.  All callers changed.
91497         Rewrite in terms of base_name, for simplicity and consistency.
91498         (dir_name): Never return NULL.  All callers changed.
91499         Do not include <stdlib.h> in test program; no longer needed.
91500         return 0; is fine for test program.
91501
91502         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91503         New macros.
91504         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91505
91506         * lib/path-concat.c (path_concat): Use base_len to compute
91507         base length, not strlen; this means we cannot rely on memcpy
91508         to null-terminate.
91509
91510         * lib/same.c (STREQ): Remove.
91511         (same_name): Handle the case where the basename ends in trailing '/'.
91512
91513         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91514         a slash was stripped.  Do not strip the last slash after a
91515         file system prefix.
91516
91517 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91518
91519         * lib/Makefile.am (libfetish_a_SOURCES):
91520         Add strftime.c, since we now compile it on all hosts.
91521
91522         * lib/strftime.c (my_strftime):
91523         Define to nstrftime if emacs, but only if my_strftime is not defined.
91524         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91525         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91526         Add one more extra argument: a nanoseconds value.
91527         All uses changed.
91528         (ns): New macro.
91529         (my_strftime function): Add %N format.
91530         (emacs_strftimeu): Renamed from emacs_strftime,
91531         with extra ut argument.
91532
91533 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91534
91535         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91536
91537 2001-04-21  Jim Meyering  <meyering@lucent.com>
91538
91539         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91540         doesn't interfere.
91541
91542 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91543
91544         * m4/ftruncate.m4: Check for chsize.
91545         Link with ftruncate.o unconditionally if ftruncate is missing.
91546         This was required when cross-compiling to i586-mingw32msvc.
91547
91548 2001-04-08  Jim Meyering  <meyering@lucent.com>
91549
91550         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91551         recomputed; that's necessary when the offset spans a DST transition.
91552         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91553
91554 2001-04-02  Jim Meyering  <meyering@lucent.com>
91555
91556         * lib/regex.h, regex.c: Update from GNU libc.
91557
91558 2001-03-24  Jim Meyering  <meyering@lucent.com>
91559
91560         * m4/jm-macros.m4: Require autoconf-2.49d.
91561
91562 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91563
91564         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91565
91566 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91567
91568         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91569
91570 2001-03-17  Jim Meyering  <meyering@lucent.com>
91571
91572         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91573         now that the version in autoconf is equivalent.
91574         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91575
91576         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91577         Suggestion from Akim Demaille.
91578
91579         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91580         (jm_PREREQ_TEMPNAME): New function.
91581
91582 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91583
91584         * lib/tempname.c (uint64_t): Define to uintmax_t if
91585         not defined, and if UINT64_MAX is not defined.
91586         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91587         Reported by John David Anglin.
91588
91589 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91590
91591         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91592         resolve alias if codeset is empty.
91593         * lib/config.charset (BeOS): Use wildcard syntax.
91594
91595 2001-03-13  Jim Meyering  <meyering@lucent.com>
91596
91597         * lib/path-concat.c (path_concat)
91598         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91599         concatenating e.g., `C:' and `foo'.
91600         From Bruno Haible.
91601
91602 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91603
91604         * lib/localcharset.c (locale_charset): Don't use
91605         setlocale(LC_CTYPE,NULL). Don't return NULL.
91606         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91607
91608 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91609
91610         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91611         support for DOS/DJGPP.
91612
91613 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91614
91615         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91616         lacks mkstemp.  Compile our own tempname.c if we compile our own
91617         mkstemp.c, as mkstemp relies on tempname.
91618
91619 2001-03-01  Jim Meyering  <meyering@lucent.com>
91620
91621         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91622         AH_VERBATIM really does output its argument verbatim.
91623
91624 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91625
91626         * lib/Makefile.am (libfetish_a_SOURCES):
91627         Add dup-safer.c, fopen-safer.c.
91628         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91629
91630         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91631         * lib/unistd-safer.h: New files.
91632
91633 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91634
91635         The mkstemp replacement is taken from glibc 2.2.2, with some
91636         portability fixes for use outside glibc, as follows:
91637
91638         * lib/tempname.c (struct_stat64): New macro.
91639         (direxists, __gen_tempname): Use it.
91640         This avoids a portability problem with Solaris 8.
91641
91642         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91643         (<stddef.h>, <stdint.h>, <string.h>):
91644         Include only if STDC_HEADERS || _LIBC.
91645         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91646         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91647         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91648         (__set_errno): Define this macro if <errno.h> doesn't.
91649         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91650         Define these macros if <stdio.h> doesn't.
91651         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91652         Define these macros if <sys/stat.h>
91653         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91654         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91655         __xstat64): Define if not _LIBC.
91656         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91657         (__gen_tempname): Invoke gettimeofday only if
91658         HAVE_GETTIMEOFDAY || _LIBC;
91659         otherwise, fall back on plain "time".
91660         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91661
91662         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91663
91664         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91665
91666 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91667
91668         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91669
91670 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91671
91672         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91673         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91674         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91675         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91676
91677 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91678
91679         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91680         Remove workaround macros for hosts that have mbrtowc but not
91681         mbstate_t, as we now insist on proper declarations for both
91682         before using mbrtowc.
91683
91684 2001-02-17  Jim Meyering  <meyering@lucent.com>
91685
91686         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91687         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91688         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91689         UnixWare 7.1.1.
91690
91691         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91692         rather than AC_CACHE_VAL.
91693
91694 2001-02-17  Jim Meyering  <meyering@lucent.com>
91695
91696         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91697         around included file name.
91698
91699         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91700
91701         * lib/strftime.c: Update from GNU libc (the only changes were to
91702         comments).
91703
91704 2001-02-17  Jim Meyering  <meyering@lucent.com>
91705
91706         * lib/regex.c: Update from libc.
91707
91708 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91709
91710         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91711         clash.
91712
91713 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91714
91715         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91716         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91717         Reported by Mark Hounschell via Paul Eggert.
91718
91719 2001-02-07  Jim Meyering  <meyering@lucent.com>
91720
91721         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91722
91723 2001-02-05  Jim Meyering  <meyering@lucent.com>
91724
91725         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91726         it includes the patch required for `large file' support with at least
91727         HP-UX's 10.20 /bin/cc.
91728
91729 2001-02-03  Jim Meyering  <meyering@lucent.com>
91730
91731         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91732         AS_IF, now that it works once again (mysteriously).
91733         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91734
91735 2001-01-30  Jim Meyering  <meyering@lucent.com>
91736
91737         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91738         * m4/chown.m4: Rename conftestchown to conftest.chown.
91739         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91740         s/conftestdir2/conftest.d2/.
91741         * m4/utimes.m4: s/conftestdata/conftest.data/
91742         Inspired by Pavel Roskin's change in autoconf.
91743
91744 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91745
91746         * lib/config.charset: Update for FreeBSD 4.2.
91747
91748 2001-01-27  Jim Meyering  <meyering@lucent.com>
91749
91750         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91751         a use of AS_IF.
91752         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91753
91754 2001-01-26  Jim Meyering  <meyering@lucent.com>
91755
91756         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91757         quotearg.c includes it.
91758
91759 2001-01-26  Jim Meyering  <meyering@lucent.com>
91760
91761         * lib/quotearg.c: Include stddef.h.
91762         * lib/quote.c: Include stddef.h.
91763         Reported by Axel Kittenberger.
91764
91765         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91766         line in double quotes so that it evokes a better diagnostic.
91767         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91768         Reported by Axel Kittenberger.
91769
91770 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91771
91772         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91773         as if it was a `charset'.
91774
91775 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91776
91777         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91778         has const.
91779
91780 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91781
91782         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91783         to avoid a warning.  Add back 'const' to inptr.
91784
91785 2001-01-20  Jim Meyering  <meyering@lucent.com>
91786
91787         Be sure that headers are checked before used in code compiled
91788         for the type checks.
91789         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91790         In place of that, invoke jm_CHECK_ALL_TYPES.
91791         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91792         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91793         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91794         The check for ssize_t was mistakenly run before the test for unistd.h.
91795
91796         The configure-time check for stdbool.h was missing.
91797         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91798         (jm_PREREQ_HASH): New function.
91799
91800 2001-01-17  Jim Meyering  <meyering@lucent.com>
91801
91802         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91803         for autoconf-2.49c.
91804         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91805
91806 2001-01-16  Jim Meyering  <meyering@lucent.com>
91807
91808         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91809         From Bruno Haible.
91810
91811 2001-01-14  Jim Meyering  <meyering@lucent.com>
91812
91813         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91814         foo and bar.  Create conftestdir/ in the script, not in the C code.
91815         Remove directories in the script, not in the C code.
91816         Remove conftestdir{,2} before trying to create the directory.
91817         Make the entire configure script fail if the mkdir fails.
91818
91819 2001-01-14  Jim Meyering  <meyering@lucent.com>
91820
91821         * lib/rename.c: New file.  From Volker Borchert.
91822         Include stdlib.h, string.h or strings.h, and xalloc.h.
91823         Use strip_trailing_slashes rather than open-coding it.
91824
91825 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91826
91827         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91828
91829 2001-01-03  Jim Meyering  <meyering@lucent.com>
91830
91831         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91832         of local `inptr' to avoid warning with some system declarations of
91833         iconv.
91834
91835 2001-01-02  Volker Borchert  <bt@teknon.de>
91836
91837         * m4/rename.m4: New file.
91838         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91839
91840 2001-01-01  Jim Meyering  <meyering@lucent.com>
91841
91842         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91843         even on systems with utmpx.h.  It's necessary for the declaration of
91844         utmp's ut_user member.  Reported by Andreas Jaeger.
91845
91846         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91847         available. They are required for the declarations of getgrgid and
91848         getpwuid resp.
91849         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91850         Reported by Andreas Jaeger.
91851
91852 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91853
91854         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91855         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91856         so `make install' also works in VPATH builds.
91857
91858 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91859
91860         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91861         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91862         can be used in subdirectories.
91863
91864 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91865
91866         * lib/modechange.c: Do not assume that mode_t uses the
91867         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91868         the other-execute bit of FOO even if S_IXOTH != 1.
91869
91870         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91871         WOTH, XOTH, ALLM): New macros.
91872         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91873          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91874         Use them.
91875         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91876         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91877         (mode_compile):
91878         No need to use uintmax_t; unsigned long is long enough.
91879         Don't bother to get suffix since we don't use it.
91880
91881 2000-12-26  Jim Meyering  <meyering@lucent.com>
91882
91883         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91884         better with autoheader.
91885
91886 2000-12-24  Jim Meyering  <meyering@lucent.com>
91887
91888         * lib/hash.c (is_prime): Return explicit boolean values.
91889         (hash_get_first): Return NULL to appease Irix5.6's 89.
91890         Reported by Nelson Beebe.
91891
91892 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91893
91894         * lib/localcharset.c (locale_charset): Add support for Win32.
91895
91896 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91897
91898         * lib/physmem.h, lib/physmem.c: New files.
91899
91900         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91901         (noinst_HEADERS): Add physmem.h.
91902
91903         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91904         't' for compatibility with Solaris 8 sort.
91905
91906 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91907
91908         * lib/config.charset: Add support for BeOS.
91909
91910 2000-12-17  Jim Meyering  <meyering@lucent.com>
91911
91912         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91913         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91914
91915 2000-12-16  Jim Meyering  <meyering@lucent.com>
91916
91917         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91918         N and M) would have treated it like `chown N:N FILE'.
91919
91920         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91921
91922 2000-12-16  Jim Meyering  <meyering@lucent.com>
91923
91924         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91925         SHELLS_FILE to a file name that's useful on djgpp systems.
91926         Include stdlib.h.
91927         (ADDITIONAL_DEFAULT_SHELLS): Define.
91928         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91929         Based mostly on a patch from Prashant TR.
91930
91931 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91932
91933         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91934         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91935         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91936
91937 2000-12-08  Andreas Schwab  <schwab@suse.de>
91938
91939         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91940         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91941
91942 2000-12-07  Jim Meyering  <meyering@lucent.com>
91943
91944         * lib/stripslash.c (ISSLASH): Define.
91945         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91946         `/'.
91947         From Prashant TR.
91948
91949         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91950         (dir_name_r): Declare this function as static.
91951         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91952         manifest itself on a name containing a mix of slashes and
91953         backslashes.
91954         Make this function work with names starting with a DOS-style
91955         drive letter and colon prefix.
91956         (dir_name): Append `.' if necessary.
91957         Based mostly on patches from Prashant TR and Eli Zaretskii.
91958
91959         * lib/dirname.h (dir_name_r): Remove prototype.
91960
91961 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91962
91963         * m4/off_t-format.m4: Remove this file.
91964         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91965
91966 2000-12-06  Jim Meyering  <meyering@lucent.com>
91967
91968         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91969         replacement strtoull, we may well need the replacement strtoul, too.
91970         Check for declarations of strtoul and strtoull.
91971         Check for strtol.  Mainly as a cue to cause automake to include
91972         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91973         Check for limits.h -- strtol.c needs it.
91974
91975 2000-12-05  Jim Meyering  <meyering@lucent.com>
91976
91977         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91978
91979 2000-12-04  Jim Meyering  <meyering@lucent.com>
91980
91981         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91982         Also include memory.h, stdlib.h, unistd.h if appropriate.
91983         Reported by Andreas Jaeger (conflicting declaration of malloc).
91984
91985 2000-12-02  Jim Meyering  <meyering@lucent.com>
91986
91987         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91988         * m4/jm-macros.m4 (jm_MACROS): require it.
91989
91990 2000-12-02  Jim Meyering  <meyering@lucent.com>
91991
91992         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91993
91994 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91995
91996         * lib/memrchr.c: Include <config.h> before any system include file.
91997
91998 2000-11-30  Jim Meyering  <meyering@lucent.com>
91999
92000         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
92001
92002 2000-11-30  Jim Meyering  <meyering@lucent.com>
92003
92004         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
92005
92006 2000-11-29  Paul Eggert  <eggert@twinsun.com>
92007
92008         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
92009
92010 2000-11-26  Jim Meyering  <meyering@lucent.com>
92011
92012         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
92013
92014 2000-11-22  Paul Eggert  <eggert@twinsun.com>
92015
92016         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
92017         size of (size_t) -1; it's not portable.
92018
92019 2000-11-17  Jim Meyering  <meyering@lucent.com>
92020
92021         * lib/strstr.c: Update from GNU libc.
92022
92023 2000-11-17  Akim Demaille  <akim@epita.fr>
92024
92025         * lib/obstack.h: Formatting changes.
92026         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
92027         prevent type checking.
92028         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
92029         cast the value to (void *): assigning a `foo *' to a `void *'
92030         variable is valid.
92031         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
92032
92033 2000-11-16  Jim Meyering  <meyering@lucent.com>
92034
92035         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
92036
92037 2000-11-11  Jim Meyering  <meyering@lucent.com>
92038
92039         * lib/error.c: Add a couple #includes, merging from GNU libc version.
92040
92041 2000-11-10  Jim Meyering  <meyering@lucent.com>
92042
92043         * lib/obstack.h: Update from GNU libc.
92044         * lib/obstack.c: Likewise.
92045
92046 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
92047
92048         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
92049
92050 2000-11-06  Paul Eggert  <eggert@twinsun.com>
92051
92052         * lib/getusershell.c (setusershell): Use rewind rather than
92053         fseek/fseeko, to avoid configuration hassles with fseeko.
92054         Don't bother opening SHELLS_FILE if shellstream is NULL;
92055         it's not necessary.
92056
92057 2000-11-05  Jim Meyering  <meyering@lucent.com>
92058
92059         * lib/makepath.h (make_dir): Declare.
92060         * lib/makepath.c (make_dir): Remove `static' attribute.
92061         Tweak a comment.
92062
92063 2000-11-04  Jim Meyering  <meyering@lucent.com>
92064
92065         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
92066
92067 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
92068
92069         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
92070         last one in a bucket, advance to the next bucket.
92071
92072 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
92073
92074         * lib/fnmatch.c: Do not comment out all the code if we are using
92075         the GNU C library, because in some cases we are replacing buggy
92076         code in the GNU C library itself.
92077
92078 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
92079
92080         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
92081         (regex_compile): Catch bogus \(\1\).
92082
92083 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92084
92085         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
92086         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
92087         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
92088
92089 2000-10-30  Paul Eggert  <eggert@twinsun.com>
92090
92091         * lib/error.h, getline.h, modechange.h:
92092         Remove "2000" from Copyright line, as the file hasn't been
92093         changed this year other than in the copyright notice.
92094
92095         * lib/xalloc.h: Add "2000" to Copyright line, as this file
92096         was changed this year.
92097
92098 2000-10-29  Jim Meyering  <meyering@lucent.com>
92099
92100         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
92101         renaming.
92102         * m4/ls-mntd-fs.m4: Likewise
92103
92104 2000-10-29  Jim Meyering  <meyering@lucent.com>
92105
92106         * lib/xstat.in: Fix grammar in comment.
92107
92108 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
92109
92110         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
92111         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
92112         doesn't define __restrict_arr.
92113
92114 2000-10-28  Jim Meyering  <meyering@lucent.com>
92115
92116         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
92117         (jm_PREREQ_MEMCHR): New function.
92118
92119 2000-10-28  Jim Meyering  <meyering@lucent.com>
92120
92121         * lib/memchr.c: Update from libc.
92122         Adjust for portability:
92123         [HAVE_STDLIB_H]: Include stdlib.h.
92124         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
92125         Undef __memchr, too.
92126         [!weak_alias]: Define __memchr to memchr.
92127
92128         * lib/regex.c: Update from libc.
92129         * lib/regex.h: Likewise.
92130         * lib/getopt1.c: Likewise.
92131         * lib/memcmp.c: Likewise.
92132
92133         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
92134         Avoid using fseek, when possible -- it's broken by design.
92135         Patch by Ulrich Drepper.
92136
92137 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
92138
92139         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
92140         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
92141         Giving in to popular pressure to shut up the compiler with casts.
92142
92143 2000-10-26  Jim Meyering  <meyering@lucent.com>
92144
92145         * lib/strftime.c: Update from libc.
92146
92147 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
92148
92149         * regex.c: More `unsigned char' -> `re_char' changes.
92150         Also change several `int' into `re_wchar_t'.
92151         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
92152         (PUSH_FAILURE_POINTER): Don't cast any more.
92153         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
92154         We want GCC to complain, since this piece of code makes
92155         re_match non-reentrant, which *should* be fixed.
92156         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
92157         (EXTEND_BUFFER): Use RETALLOC.
92158         (SET_LIST_BIT): Don't cast.
92159         (re_wchar_t): New type.
92160         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
92161         that those two functions will always properly return.
92162         (IMMEDIATE_QUIT_CHECK): Cast to void.
92163         (analyse_first): Use recursion rather than an explicit stack.
92164         (re_compile_fastmap): Can't fail anymore.
92165         (re_search_2): Don't check re_compile_fastmap for failure.
92166         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
92167         Now also sets the new value (passed in a new argument).
92168         (re_match_2_internal): Use it.
92169         Also, use a new var `reg' of type size_t when looping through regs
92170         rather than reuse the inappropriate `mcnt'.
92171
92172 2000-10-25  Jim Meyering  <meyering@lucent.com>
92173
92174         * lib/obstack.c: Update from libc.
92175
92176 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
92177
92178         * regex.c (regex_compile): Change the way of handling a range from
92179         a char less than 256 to a char not less than 256.
92180
92181 2000-10-24  Andrew Innes  <andrewi@gnu.org>
92182
92183         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
92184         NT-Emacs only.
92185         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
92186         so that re_search functions only quit when callers expect them to.
92187
92188 2000-10-23  Jim Meyering  <meyering@lucent.com>
92189
92190         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
92191         wrong.  That set_locale call must not have any side effects.
92192         From Paul Eggert.
92193
92194 2000-10-22  Jim Meyering  <meyering@lucent.com>
92195
92196         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
92197         [CYCLIC]: Remove now-unused definition.
92198
92199         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
92200         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
92201         Suggestion from Ulrich Drepper.
92202
92203 2000-10-21  Jim Meyering  <meyering@lucent.com>
92204
92205         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
92206         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
92207         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
92208
92209 2000-10-21  Jim Meyering  <meyering@lucent.com>
92210
92211         * lib/dirname.c (memrchr): Declare if necessary.
92212         (dir_name): Remove the restriction that there be no
92213         trailing slashes.  Now, this code skips past them, effectively
92214         ignoring them.
92215         [TEST_DIRNAME] (main): New unit tests.
92216
92217         * lib/memrchr.c: New file from GNU libc.
92218         Undef __memrchr, too.
92219         [!weak_alias]: Define __memrchr to memrchr.
92220         Guard weak_alias use with `#ifdef weak_alias'.
92221
92222 2000-10-21  Jim Meyering  <meyering@lucent.com>
92223
92224         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
92225         (dir_name): Use dir_name_r.
92226         * lib/dirname.h (dir_name_r): Declare it.
92227
92228 2000-10-17  Jim Meyering  <meyering@lucent.com>
92229
92230         * lib/quote.h (PARAMS): Define and use.
92231         Reported by Akim Demaille.
92232
92233         * lib/getopt.c: Update from libc.
92234
92235 2000-10-16  Jim Meyering  <meyering@lucent.com>
92236
92237         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
92238         setlocale.
92239         From Jan Fedak.
92240
92241 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
92242
92243         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
92244
92245 2000-09-25  Jim Meyering  <meyering@lucent.com>
92246
92247         * lib/md5.h (rol): Define (from GnuPG).
92248
92249         * lib/sha.c: Give credit (GnuPG) where due.
92250         (M): Use rol rather than open-coding it.
92251         Add a FIXME comment.
92252
92253 2000-09-21  Jim Meyering  <meyering@lucent.com>
92254
92255         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
92256         Reported by Michael Stone.
92257
92258 2000-09-20  Jim Meyering  <meyering@lucent.com>
92259
92260         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
92261         (noinst_HEADERS): Add sha.h.
92262         Based on code from Scott G. Miller and from GnuPG.
92263
92264 2000-09-18  Jim Meyering  <meyering@lucent.com>
92265
92266         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
92267         LIBS. Otherwise, everyone ends up linking with -lelf for some
92268         configurations.
92269         Reported by Mike Stone.
92270
92271 2000-09-15  Jim Meyering  <meyering@lucent.com>
92272
92273         * lib/regex.c: Update from libc.
92274
92275 2000-09-10  Jim Meyering  <meyering@lucent.com>
92276
92277         * lib/getopt.c (_getopt_internal): Update from glibc.
92278
92279 2000-09-09  Jim Meyering  <meyering@lucent.com>
92280
92281         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
92282         think it should be used as a general replacement for isascii.
92283         * lib/fnmatch.c: Likewise.
92284         * lib/mbswidth.c: Likewise
92285         * lib/regex.c: Likewise.
92286
92287         Don't use atoi.
92288         * lib/userspec.c: Include sys/param.h and limits.h.
92289         Include xstrtol.h.
92290         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92291         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
92292         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
92293         UID, GID.  Check range.
92294
92295 2000-09-06  Jim Meyering  <meyering@lucent.com>
92296
92297         * lib/getopt.c (_getopt_internal): Update from glibc.
92298
92299 2000-08-30  Jim Meyering  <meyering@lucent.com>
92300
92301         * lib/strftime.c: Merge in changes from GNU libc.
92302
92303 2000-08-26  Jim Meyering  <meyering@lucent.com>
92304
92305         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
92306         * m4/fpending.m4: New file.
92307
92308 2000-08-26  Jim Meyering  <meyering@lucent.com>
92309
92310         * lib/closeout.c: Include "__fpending.h".
92311         (close_stdout_status): Return right away if there's nothing to flush.
92312
92313         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
92314         * lib/__fpending.c: New file.
92315         * lib/__fpending.h: New file.
92316
92317 2000-08-20  Jim Meyering  <meyering@lucent.com>
92318
92319         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
92320         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
92321         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
92322
92323 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
92324
92325         Improve fileutils installation on systems where running
92326         programs (like install) can't be unlinked.
92327         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
92328         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
92329
92330 2000-08-07  Paul Eggert  <eggert@twinsun.com>
92331
92332         Standardize on "memory exhausted" instead of "Memory exhausted"
92333         or "virtual memory exhausted".
92334         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
92335         "virtual memory exhausted".
92336         * lib/same.c (same_name): Invoke xalloc_die instead of printing
92337         our own message.
92338         * lib/userspec.c (parse_user_spec): Likewise.
92339         * lib/bumpalloc.h: comment fix
92340         * lib/same.c, userspec.c: Include xalloc.h.
92341
92342         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
92343         not char *const and pointing to a constant array.
92344         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
92345         (xrealloc): Comment fix.
92346
92347         * lib/userspec.c (parse_user_spec):
92348         Don't translate a message until just before returning,
92349         to avoid unnecessary translation.
92350
92351 2000-08-07  Jim Meyering  <meyering@lucent.com>
92352
92353         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
92354         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
92355         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
92356         getgroups.c, gethostname.c, getopt.h, group-member.c,
92357         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
92358         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
92359         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
92360         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
92361         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
92362         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
92363         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
92364         yesno.c: Back out Copyright date changes for each file with no change
92365         this year.  This eases coordination with other programs using the same
92366         source code modules.  From Paul Eggert.
92367
92368 2000-08-06  Paul Eggert  <eggert@twinsun.com>
92369
92370         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
92371         not char, for compatibility with glibc 2.1.3 strftime.c.
92372
92373 2000-08-03  Greg McGary  <greg@mcgary.org>
92374
92375         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
92376         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
92377         (EXTEND_BUFFER): Use them.
92378
92379 2000-08-01  Jim Meyering  <meyering@lucent.com>
92380
92381         * lib/dirname.c (ISSLASH): Define.
92382         (BACKSLASH_IS_PATH_SEPARATOR): Define.
92383         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
92384         both `\' and `/' may be use as path separators.
92385         Based on a patch from Prashant TR.
92386
92387 2000-07-31  Paul Eggert  <eggert@twinsun.com>
92388
92389         * lib/quotearg.c (quotearg_n_options): Don't make the initial
92390         slot vector a constant, since it might get modified.
92391
92392 2000-07-31  Jim Meyering  <meyering@lucent.com>
92393
92394         * lib/xmalloc.c: Use `virtual memory exhausted', not
92395         `Memory exhausted'.
92396         * lib/obstack.c (print_and_abort): Likewise.
92397
92398 2000-07-30  Paul Eggert  <eggert@twinsun.com>
92399
92400         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
92401         buffer, so that the caller can always quote one small
92402         component of a "memory exhausted" message in slot 0.
92403         From a suggestion by Jim Meyering.
92404
92405 2000-07-30  Jim Meyering  <meyering@lucent.com>
92406
92407         * lib/makepath.c (make_path): Quote the other instance, too.
92408
92409         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
92410         (STATIC_BUF_SIZE): Define.
92411         (quotearg_n_options): Use only statically allocated storage when
92412         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
92413         than STATIC_BUF_SIZE.
92414
92415 2000-07-29  Jim Meyering  <meyering@lucent.com>
92416
92417         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
92418         * lib/dirname.c (dir_name): Likewise.
92419
92420         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
92421         `/'.
92422
92423         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
92424         (dir_name): Assert that there are no trailing slashes.
92425
92426 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
92427
92428         * lib/mbswidth.h (mbswidth): Add a flags argument.
92429         (mbswidth): New declaration.
92430         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
92431         * lib/mbswidth.c (mbswidth): Add a flags argument.
92432         (mbsnwidth): New function.
92433
92434 2000-07-24  Jim Meyering  <meyering@lucent.com>
92435
92436         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
92437
92438 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92439
92440         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92441
92442 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92443
92444         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92445         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92446         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92447         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92448         invoke multibyte primitives.
92449
92450 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92451
92452         * lib/quotearg.c:
92453         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92454         so that mbstate_t is always defined.
92455
92456         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92457         be 1 in at least one GCC installation, and this configuration
92458         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92459         performance on hosts that have mbrtowc but have only unibyte
92460         locales, but I assume these hosts are rare.
92461
92462 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92463
92464         * lib/mbswidth.c (_XOPEN_SOURCE):
92465         Don't define; this causes problems on Solaris 7.
92466         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92467
92468 2000-07-23  Jim Meyering  <meyering@lucent.com>
92469
92470         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92471         too: getgrgid, getpwuid, getuid.
92472
92473 2000-07-23  Jim Meyering  <meyering@lucent.com>
92474
92475         * lib/basename.c (base_name): Add an assertion.
92476
92477 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92478
92479         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92480         shadow its mbsinit function.
92481
92482 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92483
92484         * lib/mbswidth.h: New file.
92485         * lib/mbswidth.c: New file.
92486         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92487         (noinst_HEADERS): Add mbswidth.h.
92488
92489 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92490
92491         * lib/config.charset: Add support for FreeBSD. Improve support for
92492         HP-UX and IRIX 6.
92493
92494 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92495
92496         * m4/mbswidth.m4: New file.
92497         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92498
92499 2000-07-15  Jim Meyering  <meyering@lucent.com>
92500
92501         * lib/makepath.c: Include quote.h.
92502         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92503         corresponding argument in a `quote (...)' call.
92504         Give better diagnostics.
92505
92506         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92507         (noinst_HEADERS): Add quote.h.
92508
92509         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92510         from tar's src/misc.c.
92511         * lib/quote.h: New file.  Prototypes for same.
92512
92513 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92514
92515         From a suggestion by Bruno Haible.
92516         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92517         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92518         to decide whether to define the BeOS workaround macro;
92519         this adjusts to the change to AC_MBSTATE_T.
92520
92521 2000-07-14  Jim Meyering  <meyering@lucent.com>
92522
92523         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92524         jm_AC_TYPE_UINTMAX_T.
92525
92526 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92527
92528         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92529
92530         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92531         quotearg_buffer_restyled): Add support for
92532         clocale_quoting_style.  Undo previous change to
92533         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92534         and "{RIGHT QUOTATION MARK}" msgids.
92535
92536 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92537
92538         From a suggestion by Bruno Haible.
92539         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92540         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92541         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92542         and mbstate_t, to a single-part test that simply defines mbstate_t.
92543         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92544         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92545
92546 2000-07-10  Jim Meyering  <meyering@lucent.com>
92547
92548         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92549
92550         * m4/gnu-source.m4: Output to confdefs.h directly.
92551         Suggestion from Akim Demaille.
92552
92553 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92554
92555         The old behavior of quoting `like this' doesn't look good with
92556         newer, ISO-style fonts.  See:
92557         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92558
92559         Instead, quote "like this" by default.  Let the translator
92560         tailor the locale-specific quoting behavior by providing
92561         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92562
92563         * lib/quotearg.c (N_): New macro.
92564         (gettext_default): New function.
92565         (quotearg_buffer_restyled): Use
92566         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92567         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92568
92569 2000-07-09  Jim Meyering  <meyering@lucent.com>
92570
92571         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92572         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92573
92574         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92575         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92576
92577 2000-07-09  Jim Meyering  <meyering@lucent.com>
92578
92579         * lib/Most files: Update copyright dates to include 2000.
92580
92581 2000-07-08  Jim Meyering  <meyering@lucent.com>
92582
92583         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92584         if not defined.
92585         (xgethostname): Remove now-unnecessary #ifdef.
92586         Move declaration of `err' into loop where it's used.
92587
92588 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92589         and Bruno Haible  <haible@clisp.cons.org>
92590
92591         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92592         only if the test for an object-type mbstate_t fails.  This
92593         prevents us from mistakenly reporting that mbstate_t is a
92594         system object type after we "#define mbstate_t int" to work
92595         around its lack.
92596
92597 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92598         and Bruno Haible  <haible@clisp.cons.org>
92599
92600         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92601
92602 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92603
92604         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92605         to strerror_r.
92606         Include <ctype.h> for use of isalpha.
92607
92608 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92609
92610         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92611         by allocating a larger buffer. Test the gethostname return value for
92612         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92613         returns an error and ENAMETOOLONG isn't defined.
92614
92615 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92616
92617         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92618         dimension.
92619
92620 2000-07-04  Jim Meyering  <meyering@lucent.com>
92621
92622         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92623         of the deprecated AC_CHECKING.
92624
92625 2000-07-04  Jim Meyering  <meyering@lucent.com>
92626
92627         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92628         Reported by Bruno Haible.
92629
92630 2000-07-04  Jim Meyering  <meyering@lucent.com>
92631
92632         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92633         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92634         lacks mbrtowc.
92635
92636 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92637
92638         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92639         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92640
92641 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92642         and Bruno Haible  <haible@clisp.cons.org>
92643
92644         * lib/quotearg.c (mbrtowc):
92645         Assign to *pwc, and return 1 only if result is nonzero.
92646         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92647
92648 2000-07-03  Jim Meyering  <meyering@lucent.com>
92649
92650         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92651
92652 2000-07-03  Jim Meyering  <meyering@lucent.com>
92653
92654         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92655         This is necessary to get a definition of e.g., UTMP_FILE on
92656         HP-UX 10.20.
92657         From Bob Proulx.
92658
92659 2000-07-02  Jim Meyering  <meyering@lucent.com>
92660
92661         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92662
92663         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92664         AC_LIBOBJ(function_name).
92665         * m4/chown.m4: Likewise.
92666         * m4/fnmatch.m4: Likewise.
92667         * m4/ftruncate.m4: Likewise.
92668         * m4/getgroups.m4: Likewise.
92669         * m4/getline.m4: Likewise.
92670         * m4/group-member.m4: Likewise.
92671         * m4/jm-macros.m4: Likewise.
92672         * m4/lstat.m4: Likewise.
92673         * m4/malloc.m4: Likewise.
92674         * m4/memcmp.m4: Likewise.
92675         * m4/nanosleep.m4: Likewise.
92676         * m4/putenv.m4: Likewise.
92677         * m4/realloc.m4: Likewise.
92678         * m4/regex.m4: Likewise.
92679         * m4/stat.m4: Likewise.
92680         * m4/strftime.m4: Likewise.
92681
92682 2000-07-02  Jim Meyering  <meyering@lucent.com>
92683
92684         * lib/quotearg.c (mbstate_t): Don't define here.
92685
92686 2000-07-02  Jim Meyering  <meyering@lucent.com>
92687
92688         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92689
92690 2000-07-01  Jim Meyering  <meyering@lucent.com>
92691
92692         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92693
92694 2000-07-01  Jim Meyering  <meyering@lucent.com>
92695
92696         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92697         problem.
92698
92699 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92700
92701         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92702         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92703
92704 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92705
92706         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92707         per change in ../m4/ls-mntd-fs.m4.
92708         (read_filesystem_list): Ignore symbolic links.
92709
92710 2000-06-29  Jim Meyering  <meyering@lucent.com>
92711
92712         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92713         for declaration of strcmp.
92714
92715         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92716
92717         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92718         Avoid warning by casting result to `char *' to remove `const'.
92719
92720 2000-06-28  Jim Meyering  <meyering@lucent.com>
92721
92722         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92723         included by quotearg.c, for which we perform this test.  From
92724         Bruno Haible.
92725
92726 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92727
92728         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92729         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92730         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92731
92732 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92733
92734         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92735
92736 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92737
92738         savedir now sets errno on failure and invokes xmalloc to get memory.
92739         Fix a couple of other minor bugs while we're at it.
92740
92741         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92742         (NAMLEN): Remove macro.
92743         (malloc, realloc): Remove decls.
92744         (stpcpy): Likewise.
92745         ("xalloc.h"): Include.
92746         (NAME_SIZE_DEFAULT): New macro.
92747         (savedir): Use xmalloc / xrealloc to allocate memory.
92748         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92749         Skip "" directory entries.
92750         Use strlen to calculate directory entry length, since the old method
92751         is rarely used these days and isn't worth supporting.
92752         Don't use a pointer after freeing it.
92753         Check for integer overflow when calculating allocation size.
92754         Use memcpy to copy entries, instead of stpcpy.
92755         Set errno properly when returning NULL.
92756         Check for readdir error.
92757
92758 2000-06-26  Jim Meyering  <meyering@lucent.com>
92759
92760         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92761
92762 2000-06-25  Jim Meyering  <meyering@lucent.com>
92763
92764         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92765         Linux header bug when _XOPEN_SOURCE is defined to 500.
92766
92767 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92768
92769         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92770         deficiency.
92771
92772 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92773
92774         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92775         Include xalloc.h.
92776         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92777
92778 2000-06-24  Jim Meyering  <meyering@lucent.com>
92779
92780         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92781         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92782         for which strerror does return char*, but which lacks a conveniently
92783         accessible declaration of the function.  If the compile-test says
92784         strerror_r doesn't work, then resort to a `run'-test that works on
92785         BeOS and segfaults on DEC Unix.
92786
92787 2000-06-24  Jim Meyering  <meyering@lucent.com>
92788
92789         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92790
92791 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92792
92793         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92794         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92795
92796 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92797
92798         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92799         (mbrtowc, mbstate_t): Define substitutes if
92800         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92801         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92802         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92803
92804 2000-06-23  Jim Meyering  <meyering@lucent.com>
92805
92806         * m4/afs.m4: Add missing AC_MSG_RESULT.
92807         Reported by Bruno Haible.
92808
92809         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92810         Suggestion from Bruno Haible.
92811
92812 2000-06-23  Jim Meyering  <meyering@lucent.com>
92813
92814         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92815
92816 2000-06-21  Jim Meyering  <meyering@lucent.com>
92817
92818         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92819
92820 2000-06-21  Jim Meyering  <meyering@lucent.com>
92821
92822         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92823         (noinst_HEADERS): Add getstr.h.
92824
92825         * lib/getline.c (getstr): Move into a separate file.
92826         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92827         the following changes: new parameter, delim2; both delim[12]
92828         parameters have type `int', not `char'.  The latter would lose
92829         with 8-bit delimiters.
92830         * lib/getstr.h: New file.
92831
92832 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92833
92834         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92835         than 1024, return a memory chunk of least possible size, instead
92836         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92837         Use free/xmalloc instead of xrealloc to avoid copying for very long
92838         paths.
92839
92840 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92841
92842         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92843         the empty string.
92844
92845 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92846
92847         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92848         address, not strdup.  Include <stdlib.h> and don't declare free().
92849
92850 2000-06-19  Jim Meyering  <meyering@lucent.com>
92851
92852         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92853
92854 2000-06-18  Jim Meyering  <meyering@lucent.com>
92855
92856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92857
92858         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92859         `checking whether...' message to be consistent with that of the
92860         lstat test.
92861
92862 2000-06-18  Jim Meyering  <meyering@lucent.com>
92863
92864         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92865         Besides, these days every porting target provides a mkdir function.
92866
92867         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92868         needed. (this snippet comes from src/system.h).
92869
92870 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92871
92872         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92873
92874 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92875
92876         * lib/human.c (adjust_value): New function.
92877         (human_readable_inexact): Apply rounding style even when
92878         printing approximate values.
92879
92880 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92881
92882         * lib/human.c (human_readable_inexact): Allow an input block
92883         size that is not a multiple of the output block size, and vice versa.
92884         Reported by Piergiorgio Sartor.
92885
92886 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92887
92888         * lib/getdate.y (get_date): Apply relative times after time
92889         zone indicator, not before.  Reported by Todd A. Jacobs.
92890
92891 2000-06-13  Jim Meyering  <meyering@lucent.com>
92892
92893         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92894
92895         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92896
92897 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92898
92899         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92900
92901 2000-06-12  Jim Meyering  <meyering@lucent.com>
92902
92903         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92904         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92905         optional argument.
92906         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92907         the optional argument, `lib'.
92908
92909 2000-06-08  Jim Meyering  <meyering@lucent.com>
92910
92911         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92912
92913 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92914
92915         Rewrite largefile configuration so that we don't need to run
92916         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92917         AC_CANONICAL_HOST in configure.in -- jmm]
92918
92919         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92920         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92921         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92922         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92923         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92924         All uses changed.
92925         Instead of inspecting the output of getconf, try to compile the
92926         test program without and with the macro definition.
92927         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92928         for getconf.  Instead, check for the needed flags by compiling
92929         test programs.
92930
92931 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92932
92933         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92934
92935 2000-06-04  Jim Meyering  <meyering@lucent.com>
92936
92937         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92938         SunOS 4.1.4 for which gid_t is an unsigned type.
92939
92940 2000-06-03  Jim Meyering  <meyering@lucent.com>
92941
92942         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92943         now that autoconf requires that.
92944
92945         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92946         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92947         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92948
92949 2000-06-03  Jim Meyering  <meyering@lucent.com>
92950
92951         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92952
92953 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92954
92955         * m4/glibc21.m4: New file.
92956         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92957
92958 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92959
92960         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92961         newer, don't install charset.alias.
92962         * lib/config.charset: Change the Linux/glibc rules so they become empty
92963         on glibc-2.1 or newer.
92964
92965 2000-06-02  Jim Meyering  <meyering@lucent.com>
92966
92967         * lib/mountlist.c: Back out last change.  Instead, do this...
92968         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92969         me_dummy member using the same `ignore'-testing code.
92970         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92971         fs_type strings.
92972         From Mark D. Roth.
92973
92974 2000-05-29  Jim Meyering  <meyering@lucent.com>
92975
92976         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92977         mounts with the `ignore' attribute.  Based on a patch from
92978         Mark D. Roth.
92979
92980 2000-05-28  Jim Meyering  <meyering@lucent.com>
92981
92982         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92983         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92984         * m4/stat.m4: Likewise.
92985         * m4/lstat.m4: Likewise.
92986         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92987
92988         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92989         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92990
92991 2000-05-26  Jim Meyering  <meyering@lucent.com>
92992
92993         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92994
92995 2000-05-24  Jim Meyering  <meyering@lucent.com>
92996
92997         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92998         autoconf requires that.
92999         * m4/lib-check.m4: Likewise.
93000         * m4/jm-macros.m4: Likewise.
93001         * m4/strftime.m4: Likewise.
93002
93003         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
93004         AC_CHECK_DECLS, now that autoconf requires that.
93005
93006 2000-05-22  Jim Meyering  <meyering@lucent.com>
93007
93008         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93009         * m4/lstat.m4: Likewise.
93010
93011 2000-05-22  Jim Meyering  <meyering@lucent.com>
93012
93013         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
93014
93015 2000-05-20  Jim Meyering  <meyering@lucent.com>
93016
93017         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
93018         (jm_PREREQ): Use it.
93019
93020 2000-05-18  Jim Meyering  <meyering@lucent.com>
93021
93022         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
93023         back, too, since it may have been modified by allocate_entry.
93024         (hash_delete): Rewrite to use neither the assignment operator
93025         nor the comma operator in an if-expression.
93026
93027 2000-05-15  Paul Eggert  <eggert@twinsun.com>
93028
93029         * lib/closeout.c:
93030         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
93031         Remove; no longer needed.
93032         "quotearg.h": Add include.
93033         (file_name): Do not bother to explicitly initialize to NULL; it's less
93034         efficient on some hosts.
93035         (close_stdout_status): Remove test as to whether stdout was already
93036         closed; it breaks for the case "echo x | sort >&-".
93037         Quote file name colons.
93038         Do not assume that _("write error") lacks format strings.
93039
93040 2000-05-15  Jim Meyering  <meyering@lucent.com>
93041
93042         * lib/version-etc.c (version_etc_copyright): Update the copyright
93043         string used in all --version output.
93044
93045 2000-05-14  Jim Meyering  <meyering@lucent.com>
93046
93047         * lib/closeout.c (close_stdout_set_file_name): New function.
93048         (close_stdout_status): Use new file-scoped global.
93049         Return right away if fstat says the stdout file descriptor is invalid.
93050         * lib/closeout.h (close_stdout_set_file_name): Declare.
93051
93052 2000-05-10  Jim Meyering  <meyering@lucent.com>
93053
93054         * lib/closeout.c [default_exit_status]: New file-scoped variable.
93055         (close_stdout_set_status): New function.
93056         * lib/closeout.h (close_stdout_set_status): Declare.
93057
93058 2000-05-09  Jim Meyering  <meyering@lucent.com>
93059
93060         * m4/gettext.m4: Rename this...
93061         * m4/libintl.m4: ...to this.
93062
93063 2000-05-08  Jim Meyering  <meyering@lucent.com>
93064
93065         * lib/long-options.c: Don't include closeout.h.
93066         (parse_long_options): Don't call close_stdout for --version.
93067
93068 2000-05-06  Paul Eggert  <eggert@twinsun.com>
93069
93070         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
93071         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
93072         2.1.3 bug.  This avoids a clash when files like regex.c define
93073         _GNU_SOURCE.
93074
93075 2000-05-06  Jim Meyering  <meyering@lucent.com>
93076
93077         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
93078         (AC_REPLACE_FUNCS): Add strnlen.
93079
93080         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
93081         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
93082
93083         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
93084         AC_SEARCH_LIBS call for nanosleep.
93085         (LIB_NANOSLEEP): Set and AC_SUBST.
93086
93087 2000-05-06  Jim Meyering  <meyering@lucent.com>
93088
93089         * lib/strnlen.c: Undefine __strnlen and strnlen.
93090         [!weak_alias]: Define __strnlen to strnlen.
93091
93092         * lib/atexit.c: New file, from libiberty.
93093
93094 2000-05-06  Jim Meyering  <meyering@lucent.com>
93095
93096         * lib/closeout.c (close_stdout_status): Also check for errors on the
93097         stderr stream.
93098
93099 2000-05-05  Jim Meyering  <meyering@lucent.com>
93100
93101         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
93102         AC_SEARCH_LIBS call for clock_gettime.
93103         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
93104
93105         * m4/search-libs.m4: Update from autoconf.
93106
93107         su doesn't work on Solaris 2.6.
93108         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
93109         <shadow.h>.  Reported by Dragos Harabor.
93110
93111 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
93112
93113         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
93114         memcpy instead of xmalloc, xrealloc, path_concat.
93115         (locale_charset): Treat empty environment variables as absent.
93116         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
93117
93118 2000-05-04  Jim Meyering  <meyering@lucent.com>
93119
93120         * lib/getopt.c: Update from glibc.
93121         * lib/obstack.c: Likewise.
93122         * lib/obstack.h: Likewise.
93123         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
93124         file
93125
93126         * lib/regex.h: Likewise.
93127         * lib/strndup.c: Likewise.
93128         * lib/strnlen.c: New file, from glibc.
93129
93130 2000-05-03  Jim Meyering  <meyering@lucent.com>
93131
93132         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
93133
93134 2000-05-02  Paul Eggert  <eggert@twinsun.com>
93135
93136         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
93137         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
93138         compile-time test, rather than inspecting host and OS, to
93139         decide whether to define _LARGEFILE_SOURCE.
93140
93141 2000-05-01  Jim Meyering  <meyering@lucent.com>
93142
93143         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
93144
93145         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
93146         Based on a patch from Bruno Haible.
93147
93148 2000-05-01  Jim Meyering  <meyering@lucent.com>
93149
93150         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
93151
93152 2000-04-29  Jim Meyering  <meyering@lucent.com>
93153
93154         * lib/path-concat.c: Declare strdup only if it's not defined.
93155         * lib/canon-host.c: Likewise.
93156
93157 2000-04-28  Jim Meyering  <meyering@lucent.com>
93158
93159         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
93160         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
93161         is included first, then limits.h is included by locale.h by libintl.h.
93162         From John David Anglin.
93163
93164 2000-04-25  Jim Meyering  <meyering@lucent.com>
93165
93166         * lib/makepath.c (S_IRWXUGO): Define.
93167         (make_path): Always perform explicit chmod if MODE specifies any
93168         of the `special' permission bits.  Prompted by a bug report against
93169         install from Mate Wierdl and Joost van Baal.
93170
93171 2000-04-18  Jim Meyering  <meyering@lucent.com>
93172
93173         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
93174         (jm_PREREQ): Use it.
93175
93176 2000-04-18  Jim Meyering  <meyering@lucent.com>
93177
93178         * lib/README: New file.
93179
93180         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
93181         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
93182
93183 2000-04-17  Jim Meyering  <meyering@lucent.com>
93184
93185         Get it right :-)
93186         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
93187         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
93188         Suggestion from Akim Demaille.
93189
93190 2000-04-17  Jim Meyering  <meyering@lucent.com>
93191
93192         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
93193         the definition of it to rpl_strftime also defined-away the system's
93194         declaration.
93195
93196 2000-04-15  Jim Meyering  <meyering@lucent.com>
93197
93198         Use `C' to denote so-called `contiguous' files, the same way
93199         that tar does.
93200         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
93201         (ftypelet): Use S_ISCTG.
93202         From Michael Deutschmann.
93203
93204 2000-04-14  Jim Meyering  <meyering@lucent.com>
93205
93206         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
93207         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
93208         clobbered.
93209
93210 2000-04-14  Jim Meyering  <meyering@lucent.com>
93211
93212         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
93213
93214 2000-04-13  Jim Meyering  <meyering@lucent.com>
93215
93216         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
93217         AH_VERBATIM to insert required #ifndef into config.h.in.
93218         Suggestion from Akim Demaille.
93219
93220 2000-04-12  Jim Meyering  <meyering@lucent.com>
93221
93222         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
93223         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
93224         Christian Krackowizer.
93225
93226         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
93227         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
93228         (AC_SYS_LARGEFILE): Require.
93229         (AM_C_PROTOTYPES): Require.
93230
93231 2000-04-08  Jim Meyering  <meyering@lucent.com>
93232
93233         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
93234         names don't conflict.  Reported by Eli Zaretskii.
93235
93236 2000-04-07  Jim Meyering  <meyering@lucent.com>
93237
93238         * lib/putenv.c: Move inclusion of errno.h so it follows that of
93239         sys/types.h, to work around system header problems on AIX 3.2.5.
93240         From Bruno Haible.
93241
93242 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
93243
93244         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
93245         bug.  Deal with the different error behavior of Irix iconv.
93246
93247 2000-04-05  Paul Eggert  <eggert@twinsun.com>
93248
93249         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
93250         IRIX if the installer said otherwise.
93251
93252 2000-04-05  Jim Meyering  <meyering@lucent.com>
93253
93254         Portability tweaks required for ultrix4.3.
93255         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
93256         (jm_CHECK_DECLS): Add getutent to the list of functions.
93257         (_jm_DECL_HEADERS): Add utmpx.h.
93258         From John David Anglin.
93259
93260         * m4/strftime.m4: Back out the 2000-04-02 change.
93261         Instead of that change, simply undefine putenv in the test program.
93262
93263 2000-04-05  Jim Meyering  <meyering@lucent.com>
93264
93265         Portability tweaks required for ultrix4.3.
93266         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
93267         getutent.
93268         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
93269         * lib/canon-host.c: Declare strdup.
93270         * lib/path-concat.c: Likewise.
93271         From John David Anglin.
93272
93273 2000-04-04  Jim Meyering  <meyering@lucent.com>
93274
93275         Be more DOS 8.3-friendly.
93276         * lib/ref-add.sin: Renamed from ref-add.sed.in.
93277         * lib/ref-del.sin: Renamed from ref-del.sed.in.
93278         * lib/Makefile.am: Reflect renaming.
93279         Reported by Eli Zaretskii.
93280
93281         Use a temporary file name that won't clash with `charset.alias'
93282         in the DOS 8.3 name space.
93283         * lib/Makefile.am (charset_tmp): Define.
93284         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
93285         (uninstall-local): Likewise.
93286         Reported by Eli Zaretskii.
93287
93288 2000-04-03  Jim Meyering  <meyering@lucent.com>
93289
93290         * m4/gettext.m4: Fix typo in comment.
93291
93292         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
93293         textutils/configure.in).  Suggestion from Paul Eggert.
93294         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
93295
93296 2000-04-02  Paul Eggert  <eggert@twinsun.com>
93297
93298         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
93299         variable in the shell rather than using putenv, which isn't
93300         portable.  This avoids the configure-time inter-test dependency
93301         on the potentially-renamed putenv function.
93302
93303 2000-03-30  Paul Eggert  <eggert@twinsun.com>
93304
93305         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
93306         before checking struct stat.st_blksize, so that
93307         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
93308
93309 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93310
93311         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
93312         since strftime.c uses HAVE_STRFTIME to decide whether to use
93313         the underlying strftime.
93314
93315 2000-03-29  Paul Eggert  <eggert@twinsun.com>
93316
93317         * lib/time/strftime.c (my_strftime): Make sure we call the system
93318         strftime, not ourselves, when invoking the underlying strftime.
93319
93320 2000-03-24  Jim Meyering  <meyering@lucent.com>
93321
93322         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
93323         (charset_alias): Define.
93324         (install-exec-local): Factor out common code.
93325         (uninstall-local): Split lines longer than 80.
93326         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
93327         (SUFFIXES): Define.
93328         (.sed.in.sed): New rule.  Don't redirect directly to $@.
93329         (CLEANFILES): Add ref-add.sed and ref-del.sed.
93330
93331 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
93332
93333         * lib/config.charset: Output a line containing "Packages using this
93334         file".
93335         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
93336         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
93337         ref-del.sed): New rules.
93338
93339 2000-03-17  Jim Meyering  <meyering@lucent.com>
93340
93341         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
93342         Otherwise, include <strings.h>
93343
93344 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
93345
93346         * lib/unicodeio.c (utf8_wctomb): New function.
93347         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
93348         format instead of in UCS-4 with platform dependent endianness.
93349
93350 2000-03-10  Jim Meyering  <meyering@lucent.com>
93351
93352         * m4/lib-check.m4: Look for getspnam in -lgen, too.
93353         From Marco Franzen.
93354
93355 2000-03-07  Paul Eggert  <eggert@twinsun.com>
93356
93357         * lib/savedir.c (savedir): Work even if directory size is
93358         negative; this can happen with some screwy NFS configurations.
93359
93360 2000-03-06  Jim Meyering  <meyering@lucent.com>
93361
93362         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
93363         if it's NULL (because we ran out of memory).  From Bruno Haible.
93364
93365 2000-03-05  Jim Meyering  <meyering@lucent.com>
93366
93367         * lib/localcharset.c ("path-concat.h"): Include.
93368         (get_charset_aliases): Use path_concat instead of ANSI string
93369         concatenation.
93370
93371         * lib/unicodeio.h (PARAMS): Define.
93372         Use it to guard prototype.
93373
93374 2000-03-04  Jim Meyering  <meyering@lucent.com>
93375
93376         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
93377         for lib/localcharset.c.
93378
93379 2000-03-04  Jim Meyering  <meyering@lucent.com>
93380
93381         * lib/Makefile.am (install-exec-local): Create $(libdir) before
93382         installing into it.
93383         (uninstall-local): Uncomment this rule so `make distcheck' works
93384         once again.
93385
93386         * lib/unicodeio.c (<errno.h>): Include it.
93387         (errno): Declare if not defined.
93388
93389         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
93390
93391         * lib/config.charset: New version, incorporating remarks from a linux
93392         i18n mailing list.  From Bruno Haible.
93393
93394 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
93395
93396         * m4/codeset.m4: New file.
93397         * m4/iconv.m4: New file.
93398         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
93399
93400 2000-03-03  Jim Meyering  <meyering@lucent.com>
93401
93402         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
93403
93404 2000-03-02  Jim Meyering  <meyering@lucent.com>
93405
93406         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
93407         the messages come out on separate lines.
93408
93409         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
93410         rather than jm_CHECK_DECLARATIONS.
93411         * m4/decl.m4: Remove now-unused file.
93412
93413         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
93414         geteuid.
93415
93416 2000-03-02  Jim Meyering  <meyering@lucent.com>
93417
93418         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
93419
93420 2000-03-01  Jim Meyering  <meyering@lucent.com>
93421
93422         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
93423         * lib/unicodeio.c: Likewise.
93424
93425 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
93426
93427         * lib/config.charset: New file.
93428         * lib/localcharset.c: New file.
93429         * lib/unicodeio.h, lib/unicodeio.c: New files.
93430         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
93431         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
93432         (noinst_HEADERS): Add unicodeio.h.
93433         (all-local, install-exec-local, charset.alias): New targets.
93434
93435 2000-02-28  Paul Eggert  <eggert@twinsun.com>
93436
93437         * lib/quotearg.c (ALERT_CHAR): New macro.
93438         (quotearg_buffer_restyled): Use it.
93439
93440 2000-02-27  Jim Meyering  <meyering@lucent.com>
93441
93442         * m4/check-decl.m4: Add getenv to the list.
93443
93444 2000-02-27  Jim Meyering  <meyering@lucent.com>
93445
93446         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93447         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93448
93449         * lib/backupfile.c: Guard inclusion of stdlib.h with
93450         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93451         Declare malloc if needed.
93452
93453         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93454         `#ifndef HAVE_DECL..'
93455         now that autoconf always defines the HAVE_DECL_ symbols.
93456         * lib/human.c: Likewise.
93457         * lib/same.c: Likewise.
93458         * lib/strtoumax.c: Likewise.
93459
93460         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93461         declaration check was not run.
93462         * lib/hash.c: Likewise.
93463         * lib/human.c: Likewise.
93464         * lib/same.c: Likewise.
93465         * lib/strtoumax.c: Likewise.
93466
93467         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93468         `.', then first look up the entire `.'-containing string as a login
93469         name.
93470
93471 2000-02-23  Jim Meyering  <meyering@lucent.com>
93472
93473         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93474         in place of my hack.
93475
93476 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93477
93478         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93479         (textint): New typedef.
93480         (parser_control): Member year changed from int to textint.
93481         All uses changed.
93482         (YYSTYPE): Removed; replaced by %union with int and textint members.
93483         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93484         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93485         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93486         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93487         (date, number, to_year): Use width of number in digits, not its value,
93488         to determine whether it's a 2-digit year, or a 2-digit time.
93489         (yylex): Store number of digits of numeric tokens.
93490         Reported by John Kendall.
93491
93492         (parser_control): Changed from struct parser_control to typedef (for
93493         consistency).  All uses changed.
93494
93495         (tID): Removed; not used.
93496         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93497
93498 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93499
93500         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93501         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93502
93503 2000-02-12  Jim Meyering  <meyering@lucent.com>
93504
93505         * lib/userspec.c (ISDIGIT): Define it.
93506         (isdigit): Remove definition.
93507         (is_number): Use ISDIGIT, not isdigit.
93508         <libintl.h>: Include.
93509         (_ and N_): Define.
93510         (parse_user_spec): Mark translatable strings.
93511
93512 2000-02-10  Jim Meyering  <meyering@lucent.com>
93513
93514         With these changes, nanosleep.[ch] are finally enough like the other
93515         lib/* replacement files to compile on a few more losing systems.
93516
93517         * lib/nanosleep.h: Don't include config.h.
93518         Remove prototype from declaration of nanosleep.
93519         (PARAMS): Remove now-unneeded definition.
93520         * lib/nanosleep.c: #undef nanosleep.
93521         (rpl_nanosleep): Rename from nanosleep.
93522
93523 2000-02-10  Jim Meyering  <meyering@lucent.com>
93524
93525         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93526         gnu_nanosleep to rpl_nanosleep.
93527
93528 2000-02-09  Jim Meyering  <meyering@lucent.com>
93529
93530         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93531         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93532
93533 2000-02-08  Akim Demaille  <akim@epita.fr>
93534
93535         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93536         `[' and `]' and remove uses of `changequote'.
93537         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93538         (AC_SYS_LARGEFILE): Likewise.
93539         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93540         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93541         of changequote.
93542         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93543         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93544         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93545         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93546
93547 2000-02-05  Jim Meyering  <meyering@lucent.com>
93548
93549         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93550         Remove explicit use of AC_HEADER_TIME.  It is required by
93551         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93552         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93553         in autoconf whereby the expansion of the latter ended up preceding
93554         the expansion of its prerequisite, AC_HEADER_TIME.
93555         Reported by Volker Borchert.
93556
93557 2000-02-03  Jim Meyering  <meyering@lucent.com>
93558
93559         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93560
93561 2000-02-03  Jim Meyering  <meyering@lucent.com>
93562
93563         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93564         rather than with `#if HAVE_UTMPNAME'.
93565
93566 2000-02-02  Jim Meyering  <meyering@lucent.com>
93567
93568         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93569         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93570         Reported by Eli Zaretskii.
93571
93572 2000-02-01  Jim Meyering  <meyering@lucent.com>
93573
93574         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93575
93576 2000-01-31  Jim Meyering  <meyering@lucent.com>
93577
93578         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93579         functions.  Add the time.h and sys/time.h headers along with the
93580         AC_REQUIRE'ment of AC_HEADER_TIME.
93581
93582 2000-01-31  Jim Meyering  <meyering@lucent.com>
93583
93584         * lib/nanosleep.h (nanosleep): Guard declaration with
93585         `#if ! HAVE_DECL_NANOSLEEP'.
93586         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93587         the declaration in that vendor's sys/timers.h.
93588         Reported by Christian Krackowizer.
93589
93590         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93591         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93592         (ISPRINT): Likewise.
93593         Reported by Tom Tromey.
93594
93595 2000-01-30  Jim Meyering  <meyering@lucent.com>
93596
93597         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93598
93599         * m4/prereq.m4 (utmp_includes): Define.
93600         Check for ut_user and ut_name members in both struct utmpx
93601         and struct utmp.
93602
93603 2000-01-30  Jim Meyering  <meyering@lucent.com>
93604
93605         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93606         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93607         header files where only utmpx.ut_user is declared.
93608
93609         * lib/readutmp.h (UT_USER): Define.
93610
93611 2000-01-29  Jim Meyering  <meyering@lucent.com>
93612
93613         * m4/lib-check.m4: New file containing library-related checks from
93614         fileutils and sh-utils (textutils had none).
93615
93616 2000-01-28  Jim Meyering  <meyering@lucent.com>
93617
93618         * m4/perl.m4: Change format of warning message to look more like that
93619         from the missing script.  Suggestion from François Pinard.
93620
93621 2000-01-25  Jim Meyering  <meyering@lucent.com>
93622
93623         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93624         well as time.h in the compile check.
93625         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93626         Fix typo in cross-compiling case: s/yes/no/.
93627
93628 2000-01-23  Jim Meyering  <meyering@lucent.com>
93629
93630         * m4/jm-macros.m4: Move df-related tests here from
93631         fileutils/configure.in
93632
93633         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93634         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93635
93636         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93637         s/space/ac_fsusage_space/.
93638         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93639
93640         * m4/ftruncate.m4: New file (derived from part of
93641         fileutils/configure.in).
93642         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93643         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93644
93645         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93646         AC_SUBST these here, rather than just in sh-util/configure.in, so
93647         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93648         all the same.
93649         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93650         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93651         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93652         (AC_SUBST(POW_LIBM)): Likewise.
93653         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93654
93655 2000-01-23  Jim Meyering  <meyering@lucent.com>
93656
93657         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93658         obstack.c.
93659
93660 2000-01-22  Jim Meyering  <meyering@lucent.com>
93661
93662         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93663
93664         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93665
93666         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93667         configure.in
93668         (AC_CHECK_HEADERS): Likewise for sh-utils.
93669         (AC_CHECK_HEADERS): Likewise for textutils.
93670         Merge the three lists of headers.
93671
93672         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93673         from fileutils' configure.in.
93674
93675         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93676         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93677         check-decl.m4.
93678
93679         * m4/check-decl.m4: Use #if rather than #ifdef.
93680         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93681         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93682         (_jm_DECL_HEADERS): Define new function.
93683         (jm_CHECK_DECLARATIONS): Require it.
93684
93685 2000-01-22  Jim Meyering  <meyering@lucent.com>
93686
93687         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93688         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93689         Required for some AIX systems.  Reported by Christian Krackowizer.
93690         [TESTING] (main): New function.
93691
93692         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93693         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93694         letters.
93695
93696         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93697         iswprint.
93698
93699         * lib/strverscmp.c (ISDIGIT): Define.
93700         (strverscmp): Use ISDIGIT, not isdigit.
93701
93702 2000-01-19  Jim Meyering  <meyering@lucent.com>
93703
93704         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93705         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93706         defines `struct timespec' in <sys/time.h>
93707
93708         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93709         Thanks to Akim for explaining.
93710
93711 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93712
93713         * lib/nanosleep.c (nanosleep):
93714         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93715         POSIX.1 doesn't require SA_INTERRUPT and some systems
93716         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93717         it's been part of POSIX.1 since day 1 (in 1988).
93718
93719 2000-01-17  Jim Meyering  <meyering@lucent.com>
93720
93721         * lib/interlock: Remove unused file.  Reported by François Pinard.
93722
93723 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93724
93725         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93726         alert, backslash, formfeed, and vertical tab unnecessarily in
93727         shell quoting style.
93728
93729 2000-01-16  Jim Meyering  <meyering@lucent.com>
93730
93731         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93732         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93733         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93734         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93735
93736 2000-01-16  Jim Meyering  <meyering@lucent.com>
93737
93738         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93739         because the latter didn't work.
93740
93741 2000-01-15  Jim Meyering  <meyering@lucent.com>
93742
93743         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93744         (AC_REPLACE_FUNCS): Add memcpy and memset.
93745         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93746         Add strpbrk.
93747         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93748
93749 2000-01-12  Jim Meyering  <meyering@lucent.com>
93750
93751         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93752         (jm_PREREQ): Use it.
93753         (jm_PREREQ_READUTMP): New macro.
93754         (jm_PREREQ): Use it.
93755
93756 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93757
93758         Quote multibyte characters correctly.
93759         * m4/c-bs-a.m4: New file.
93760         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93761         (jm_PREREQ): Use it.
93762
93763 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93764
93765         * m4/uintmax_t.m4: Port to autoconf 2.13.
93766
93767 2000-01-08  Jim Meyering  <meyering@ascend.com>
93768
93769         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93770         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93771
93772 2000-01-04  Jim Meyering  <meyering@ascend.com>
93773
93774         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93775         jm_STRUCT_DIRENT_D_TYPE.
93776         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93777         jm_STRUCT_DIRENT_D_INO.
93778         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93779         jm_STRUCT_UTIMBUF.
93780         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93781         renamings.
93782         * m4/utime.m4: Likewise.
93783
93784         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93785         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93786
93787 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93788
93789         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93790         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93791
93792 2000-01-02  Jim Meyering  <meyering@ascend.com>
93793
93794         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93795         remember if this is necessary.
93796
93797 1999-12-26  Jim Meyering  <meyering@ascend.com>
93798
93799         * m4/jm-macros.m4: Use it here.
93800         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93801
93802 1999-12-23  Jim Meyering  <meyering@ascend.com>
93803
93804         * m4/jm-macros.m4: Check for clock_gettime (moved from
93805         fileutils/configure.in)
93806         Check for gettimeofday.
93807
93808 1999-12-20  Jim Meyering  <meyering@ascend.com>
93809
93810         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93811         autoconf-2.14a-1999-12-20.
93812
93813 1999-12-19  Jim Meyering  <meyering@ascend.com>
93814
93815         * m4/lstat-slash.m4: New file.
93816         * m4/jm-macros.m4: Use the new macro:
93817         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93818
93819 1999-12-07  Jim Meyering  <meyering@ascend.com>
93820
93821         * m4/perl.m4: Require that File::Compare be available, too.
93822         Too many systems seem to lack it.
93823
93824         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93825         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93826
93827 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93828
93829         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93830         problem with the QNX 4.25 shell, which doesn't propagate exit
93831         status of failed commands inside shell assignments.
93832
93833 1999-11-17  Jim Meyering  <meyering@ascend.com>
93834
93835         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93836
93837 1999-11-07  Jim Meyering  <meyering@ascend.com>
93838
93839         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93840
93841 1999-11-06  Jim Meyering  <meyering@ascend.com>
93842
93843         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93844         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93845
93846 1999-11-05  Jim Meyering  <meyering@ascend.com>
93847
93848         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93849         configure.in of textutils, fileutils, and sh-utils into this one
93850         (shared between those packages) file.
93851         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93852         AC_STRUCT_ST_BLKSIZE.
93853
93854 1999-11-03  Jim Meyering  <meyering@ascend.com>
93855
93856         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93857         of AC_CHECK_TYPE checks includes unistd.h.
93858         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93859         Suggestion from Akim Demaille.
93860
93861 1999-10-30  Jim Meyering  <meyering@ascend.com>
93862
93863         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93864         m4-quoted string.
93865         * m4/ls-mntd-fs.m4: Likewise.
93866         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93867         * m4/jm-winsz1.m4: Likewise.
93868
93869         * m4/const.m4: Remove file, since the fix made it into the experimental
93870         version of autoconf.
93871         * m4/mktime.m4: Likewise.
93872
93873         * m4/check-type.m4: Remove file, now that the latest version of
93874         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93875
93876         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93877         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93878         AC_CHECK_TYPE.
93879
93880 1999-10-04  Jim Meyering  <meyering@ascend.com>
93881
93882         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93883
93884 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93885
93886         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93887         2.95.1 bug with HP-UX 10.20.
93888
93889 1999-09-17  Jim Meyering  <meyering@ascend.com>
93890
93891         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93892         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93893         due to missing strdup (against sh-utils-2.0).
93894
93895 1999-08-29  Jim Meyering  <meyering@ascend.com>
93896
93897         * m4/jm-macros.m4: Require jm_BISON.
93898         * m4/bison.m4: New file.
93899
93900 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93901
93902         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93903         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93904
93905 1999-08-05  Jim Meyering  <meyering@ascend.com>
93906
93907         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93908         to avoid conflicts with `conftest' on 8+3 filesystems.
93909         Suggestion from Eli Zaretskii.
93910
93911 1999-08-04  Jim Meyering  <meyering@ascend.com>
93912
93913         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93914         fileutils and sh-utils (textutils's getline test was inadequate).
93915         (AM_FUNC_GETLINE): Run this test.
93916         (AC_CHECK_FUNCS): Check for getdelim.
93917         Reported by Bob Proulx.
93918
93919 1999-08-02  Jim Meyering  <meyering@ascend.com>
93920
93921         * m4/jm-macros.m4: Add a comment.
93922
93923 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93924
93925         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93926         <inttypes.h> defines strtoumax as a macro (and not as a
93927         function).
93928
93929 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93930
93931         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93932         that we can shift, multiply and divide unsigned long long
93933         values; Ultrix cc can't do it.
93934
93935 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93936
93937         * m4/mktime.m4: New file, which is a preview of what should appear
93938         in the next public autoconf release.
93939
93940 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93941
93942         * m4/lfs.m4: Remove this file.
93943         * m4/largefile.m4: New file.  It contains the old contents of
93944         lfs.m4, except that all names with prefix AC_LFS have been
93945         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93946         compatible with future autoconf versions.  Also, some minor m4
93947         quoting problems have been fixed.
93948
93949 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93950
93951         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93952         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93953         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93954         and simplify the shell code.
93955
93956 1999-08-01  Jim Meyering  <meyering@ascend.com>
93957
93958         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93959         m4.
93960
93961 1999-07-20  Jim Meyering  <meyering@ascend.com>
93962
93963         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93964
93965 1999-07-15  Jim Meyering  <meyering@ascend.com>
93966
93967         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93968
93969 1999-05-22  Jim Meyering  <meyering@ascend.com>
93970
93971         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93972
93973 1999-05-20  Jim Meyering  <meyering@ascend.com>
93974
93975         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93976         Add a colon after each `then' in case $4 is empty.
93977
93978 1999-05-16  Jim Meyering  <meyering@ascend.com>
93979
93980         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93981
93982 1999-05-10  Jim Meyering  <meyering@ascend.com>
93983
93984         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93985
93986         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93987         AC_FUNC_MKTIME.
93988
93989 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93990
93991         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93992
93993 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93994
93995         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93996         not CPPFLAGS, so that linking works correctly in IRIX.
93997
93998 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93999
94000         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
94001
94002 1999-04-20  Paul Eggert  <eggert@twinsun.com>
94003
94004         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
94005         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
94006         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
94007         jm_AC_TYPE_UNSIGNED_LONG_LONG.
94008         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
94009
94010         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
94011
94012 1999-04-20  Jim Meyering  <meyering@ascend.com>
94013
94014         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
94015         AC_REPLACE xstroull if necessary.  From Paul Eggert.
94016         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
94017
94018 1999-04-18  Jim Meyering  <meyering@ascend.com>
94019
94020         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
94021         * m4/jm-macros.m4: Use it.
94022
94023 1999-04-06  Jim Meyering  <meyering@ascend.com>
94024
94025         * m4/strftime.m4: Remove test for %f.
94026
94027 1999-03-29  Jim Meyering  <meyering@ascend.com>
94028
94029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
94030         superset of the AC_TYPE_* checks in the textutils, fileutils,
94031         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
94032         AC_TYPE_PID_T.
94033
94034 1999-03-28  Jim Meyering  <meyering@ascend.com>
94035
94036         * m4/jm-macros.m4: Define GNU_PACKAGE here.
94037         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
94038         replaced e.g., in the *.sh files of the sh-utils.
94039
94040 1999-03-20  Jim Meyering  <meyering@ascend.com>
94041
94042         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
94043         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
94044         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
94045
94046 1999-03-19  Jim Meyering  <meyering@ascend.com>
94047
94048         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
94049
94050 1999-03-12  Jim Meyering  <meyering@ascend.com>
94051
94052         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
94053
94054 1999-03-07  Jim Meyering  <meyering@ascend.com>
94055
94056         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
94057         declared.
94058
94059 1999-02-17  Jim Meyering  <meyering@ascend.com>
94060
94061         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
94062         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
94063
94064 1999-02-07  Jim Meyering  <meyering@ascend.com>
94065
94066         * m4/group-member.m4: New file -- extracted from sh-utils'
94067         configure.in.
94068
94069         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
94070         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
94071
94072 1999-02-06  Jim Meyering  <meyering@ascend.com>
94073
94074         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
94075         * m4/fnmatch.m4: Likewise.
94076         * m4/getgroups.m4: Likewise.
94077         * m4/lstat.m4: Likewise.
94078         * m4/malloc.m4: Likewise.
94079         * m4/putenv.m4: Likewise.
94080         * m4/realloc.m4: Likewise.
94081         * m4/regex.m4: Likewise.
94082         * m4/stat.m4: Likewise.
94083         * m4/strftime.m4: Likewise.
94084         Suggestion from Alain Magloire.
94085
94086         * m4/chown.m4: Use `.$ac_objext', not `.o'.
94087         * m4/fnmatch.m4: Likewise.
94088         * m4/getgroups.m4: Likewise.
94089         * m4/getline.m4: Likewise.
94090         * m4/lstat.m4: Likewise.
94091         * m4/malloc.m4: Likewise.
94092         * m4/memcmp.m4: Likewise.
94093         * m4/putenv.m4: Likewise.
94094         * m4/realloc.m4: Likewise.
94095         * m4/regex.m4: Likewise.
94096         * m4/stat.m4: Likewise.
94097         * m4/strftime.m4: Likewise.
94098         Suggestion from Alain Magloire.
94099
94100         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
94101         an argument.
94102
94103         * m4/regex.m4: Add a run-time Test for proper operation of
94104         re_compile_pattern.
94105
94106 1999-01-31  Jim Meyering  <meyering@ascend.com>
94107
94108         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
94109
94110 1999-01-30  Jim Meyering  <meyering@ascend.com>
94111
94112         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
94113
94114         * m4/jm-mktime.m4: Make this a wrapper around the official
94115         AM_FUNC_MKTIME rather than my private copy, now that the official one
94116         is up to date.
94117         * m4/mktime.m4: Remove file.
94118
94119         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
94120         * m4/uptime.m4: Likewise.
94121         * m4/uintmax_t.m4: Likewise.
94122
94123 1999-01-28  Jim Meyering  <meyering@ascend.com>
94124
94125         * m4/jm-macros.m4: Use jm_AFS.
94126         * m4/afs.m4: New file (from fileutils' configure.in).
94127
94128         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
94129         * m4/chown.m4: Likewise.
94130         * m4/d-ino.m4: Likewise.
94131         * m4/d-type.m4: Likewise.
94132         * m4/fnmatch.m4: Likewise.
94133         * m4/getgroups.m4: Likewise.
94134         * m4/gettext.m4: Likewise.
94135         * m4/jm-mktime.m4: Likewise.
94136         * m4/jm-winsz2.m4: Likewise.
94137         * m4/lcmessage.m4: Likewise.
94138         * m4/ls-mntd-fs.m4: Likewise.
94139         * m4/malloc.m4: Likewise.
94140         * m4/memcmp.m4: Likewise.
94141         * m4/putenv.m4: Likewise.
94142         * m4/realloc.m4: Likewise.
94143         * m4/st_mtim.m4: Likewise.
94144         * m4/strftime.m4: Likewise.
94145
94146 1999-01-16  Jim Meyering  <meyering@ascend.com>
94147
94148         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
94149         (ARGMATCH_DIE_DECL): Define.
94150
94151 1999-01-12  Jim Meyering  <meyering@ascend.com>
94152
94153         * m4/Makefile.am.in: Rewrite to avoid using fmt.
94154         Reported by Lars Hecking.
94155
94156 1999-01-10  Jim Meyering  <meyering@ascend.com>
94157
94158         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
94159         gross kludge.
94160         * m4/inttypes_h.m4: Likewise.
94161         * m4/lstat.m4: Likewise.
94162         * m4/malloc.m4: Likewise.
94163         * m4/readdir.m4: Likewise.
94164         * m4/realloc.m4: Likewise.
94165         * m4/st_dm_mode.m4: Likewise.
94166         * m4/stat.m4: Likewise.
94167         * m4/utimbuf.m4: Likewise.
94168         * m4/utimes.m4: Likewise.
94169
94170         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
94171         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
94172         comments in config.h.in are meaningful.
94173
94174         * m4/jm-macros.m4: Require autoconf-2.13 here.
94175
94176         * m4/regex.m4: By default, don't use the included regex.c on systems
94177         with glibc 2.  Suggestion from Uli Drepper.
94178
94179 1999-01-02  Jim Meyering  <meyering@ascend.com>
94180
94181         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
94182
94183 1998-12-18  Jim Meyering  <meyering@ascend.com>
94184
94185         * m4/Makefile.am.in (Makefile.am): Simplify rule.
94186         Based on a suggestion from Lars Hecking.
94187
94188 1998-11-16  Paul Eggert  <eggert@twinsun.com>
94189
94190         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
94191
94192 1998-11-16  Jim Meyering  <meyering@ascend.com>
94193
94194         * m4/lfs.m4: Double-quote the `uname...` expression.
94195
94196 1998-11-14  Jim Meyering  <meyering@ascend.com>
94197
94198         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
94199         * m4/stat.m4: Likewise.
94200
94201 1998-11-03  Jim Meyering  <meyering@ascend.com>
94202
94203         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
94204         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
94205
94206 1998-10-18  Jim Meyering  <meyering@ascend.com>
94207
94208         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
94209
94210 1998-10-17  Jim Meyering  <meyering@ascend.com>
94211
94212         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
94213         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
94214         calls for those previously hard-coded headers.  Instead, take a new
94215         parameter.
94216         (jm_CHECK_DECLARATIONS): Reflect interface change.
94217         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
94218         (jm_CHECK_DECL_LOCALTIME_R): New macro.
94219
94220         * m4/mktime.m4: Test for spring-forward gap before long-running test.
94221
94222 1998-10-14  Jim Meyering  <meyering@ascend.com>
94223
94224         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
94225         instead of "TZ=America/Vancouver".  From Paul Eggert.
94226
94227 1998-10-11  Jim Meyering  <meyering@ascend.com>
94228
94229         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
94230         This adds a test for a recently added compatibility fix for mktime.c.
94231         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
94232
94233 1998-09-27  Jim Meyering  <meyering@ascend.com>
94234
94235         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
94236
94237         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
94238         ../configure.in, including a change from Gordon Matzigkeit to allow
94239         cross-compiling for the Hurd.
94240
94241         * m4/glibc.m4: New file/macro to test for the GNU C Library
94242         versions 1 and 2.  From Gordon Matzigkeit.
94243         Indent.
94244
94245 1998-09-21  Jim Meyering  <meyering@ascend.com>
94246
94247         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
94248
94249 1998-08-18  Paul Eggert  <eggert@twinsun.com>
94250
94251         Port nanosecond-resolution times to UnixWare 2.1.2 and
94252         pedantic Solaris 2.6.
94253
94254         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
94255         AC_STRUCT_ST_MTIM.
94256         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
94257         Generate name of ns member, instead of just 1 or undef.
94258         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
94259
94260 1998-08-15  Jim Meyering  <meyering@ascend.com>
94261
94262         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
94263         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
94264         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
94265         instead of jm_TYPE_SSIZE_T.
94266
94267 1998-08-12  Jim Meyering  <meyering@ascend.com>
94268
94269         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
94270
94271 1998-08-02  Jim Meyering  <meyering@ascend.com>
94272
94273         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
94274         in acconfig.h manually.
94275
94276 1998-07-31  Paul Eggert  <eggert@twinsun.com>
94277
94278         * m4/st_mtim.m4: New file.
94279
94280 1998-07-28  Jim Meyering  <meyering@ascend.com>
94281
94282         * m4/utimes.m4: Undef stat.
94283
94284 1998-07-25  Jim Meyering  <meyering@ascend.com>
94285
94286         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
94287         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
94288
94289 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
94290
94291         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
94292         uid and gid actually remain unchanged.
94293
94294 1998-07-07  Jim Meyering  <meyering@ascend.com>
94295
94296         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
94297
94298 1998-07-04  Jim Meyering  <meyering@ascend.com>
94299
94300         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
94301         to prove that this macro can be used in packages without regex.c.
94302
94303 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
94304
94305         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
94306         is to be used.
94307
94308 1998-07-03  Jim Meyering  <meyering@ascend.com>
94309
94310         * m4/gettext.m4: Add -lintl if it's found to be necessary.
94311
94312         * m4/gettext.m4: New file -- from gettext-0.10.35.
94313         * m4/lcmessage.m4: Likewise.
94314         * m4/progtest.m4: Likewise.
94315
94316         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
94317         * m4/jm-macros.m4: Require the new macro.
94318
94319 1998-06-29  Jim Meyering  <meyering@ascend.com>
94320
94321         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
94322         for the definition of NGROUPS (used in a system header included
94323         by sys/mount.h).
94324
94325 1998-06-28  Jim Meyering  <meyering@ascend.com>
94326
94327         * m4/ls-mntd-fs.m4: New file.
94328         * m4/fstypename.m4: New file.
94329
94330         * m4/jm-macros.m4: Require the new macro.
94331         * m4/jm-glibc-io.m4: New file.
94332
94333 1998-05-19  Jim Meyering  <meyering@ascend.com>
94334
94335         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
94336         * m4/lchown.m4: New file.
94337
94338         * m4/Makefile.am.in: New file.
94339         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
94340
94341 1998-05-14  Jim Meyering  <meyering@ascend.com>
94342
94343         * m4/Makefile.am (EXTRA_DIST): Add them.
94344         * m4/jm-macros.m4: New file.
94345         * m4/utimbuf.m4: New file.
94346
94347 1998-05-12  Jim Meyering  <meyering@ascend.com>
94348
94349         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
94350
94351 1998-05-11  Jim Meyering  <meyering@ascend.com>
94352
94353         * m4/isc-posix.m4: New file.
94354
94355 1998-05-10  Jim Meyering  <meyering@ascend.com>
94356
94357         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
94358
94359 1998-05-09  Jim Meyering  <meyering@ascend.com>
94360
94361         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
94362         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
94363         with automake.
94364
94365         * m4/ssize_t.m4: New file.
94366         * m4/mktime.m4: Remove file -- the new automake has this now.
94367
94368 1998-04-26  Jim Meyering  <meyering@ascend.com>
94369
94370         * m4/assert.m4: New file.
94371         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
94372
94373 1998-04-05  Jim Meyering  <meyering@ascend.com>
94374
94375         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
94376         (jm_PREREQ): Use it here.
94377
94378 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
94379
94380         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
94381         in acconfig.h.
94382
94383 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
94384
94385         * m4/prereq.m4: New file.
94386         * m4/error.m4: New file.
94387         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
94388
94389 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
94390
94391         * m4/getline.m4: Don't set am_cv_func_working_getline before the
94392         cache-check for the same variable -- that defeated the purpose of
94393         the test; the test program was never run.  This was a problem only
94394         on systems with losing getline functions -- HP-UX 10.20 is one.
94395         Reported by Bjorn Helgaas.
94396
94397 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
94398
94399         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
94400
94401 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
94402
94403         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
94404
94405         * m4/const.m4: New file.  Use an initializer in this declaration
94406         typedef int charset[2]; const charset x;
94407         Reported by Bob Glickstein.
94408
94409 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
94410
94411         * m4/chown.m4: Fix reversed types on -1 args to chown.
94412         From Kaveh Ghazi.
94413
94414 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
94415
94416         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
94417         Add lseek and memchr.
94418
94419         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
94420         T.E.Dickey <dickey@clark.net> said that some older preprocessors
94421         have a 20-character limit on names.
94422
94423 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
94424
94425         * m4/inttypes_h.m4: New file.
94426         * m4/uintmax_t.m4: New file.
94427         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
94428
94429
94430         -----
94431
94432         Local Variables:
94433         coding: utf-8
94434         End:
94435
94436         Copyright (C) 1997-2012 Free Software Foundation, Inc.
94437
94438         Copying and distribution of this file, with or without
94439         modification, are permitted provided the copyright notice
94440         and this notice are preserved.